A repo to manage AWS Wavelength Zones in Terraform. This module has an intentionally small scope, but comes with several features. The following lab covers the intent of the MVP. We want to achieve:
- One Region with Multiple region-based AZ's and a wavelength availability zone.
- Needed supporting VPC infrastructure
- EKS cluster with
- control plane in local az
- worker nodes across local and wavelength az
- Consul
-
Request access to Wavelength through the AWS Console. This process can take several days.
- Currently, only available in the following regions
-
When adding Wavelength zones, be sure to use the following filter in your future Terraform for standard Availability zones for a given region.
data "aws_availability_zones" "available" { state = "available" filter { name = "opt-in-status" values = ["opt-in-not-required"] } }
-
Currently there a blocking issues that stop wavelength from being deployed completely with Terraform.
- wl_route_tables.tf is commented out until the issues above are fixed. You will need to create these manually via scripts or the console. This maps to lab #2, steps 3-5.
In the meantime, after this module is ran, a the following CLI commands are needed to finish setting up the WLZ.
- Create Custom Route Table (and export to a variable)
BOS_RT=$(aws ec2 create-route-table --vpc-id $VPC_ID --tag-specifications 'ResourceType=route-table,Tags=[{Key=Name,Value=wl-bos-rt}]' --query 'RouteTable.RouteTableId' --output text)
- Create Custom Route for Wavelength Zone
aws ec2 create-route --route-table-id $BOS_RT --destination-cidr-block 0.0.0.0/0 --carrier-gateway-id $BOS_CGW
- Associate the Route and Route Table for the Wavelength Zone
aws ec2 associate-route-table --route-table-id $BOS_RT --subnet-id $BOS_SUBNET
module "terraform-aws-wavelength-zone" {
source = "github.com/jsosulska/tf-wavelength"
create_vpc = false
}
None