-
-
Notifications
You must be signed in to change notification settings - Fork 199
feat: built-in native ECS blue green deployment #270
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
/terratest |
|
/terratest |
|
/terratest |
|
/terratest |
|
/terratest |
|
/terratest |
|
@oycyc thanks for this. I have been testing with the following configuration: The The Terraform apply completes successfully, but the deployment configuration of the Fargate service doesn't change to blue/green. Any ideas? UPDATE: If I manually attach the alternative target group to the ALB listener rule via the console (setting the weighting to 0), the deployment configuration "blue_green" can be enabled. Running "force new deployment" via the console switches the traffic to the alternative target group as expected. The alternate |
AWS ECS now supports native built in blue green deployments!
https://aws.amazon.com/about-aws/whats-new/2025/07/amazon-ecs-built-in-blue-green-deployments/
There are 3 corresponding Terraform blocks/attributes to support this, which has been added into the provider by an official AWS contributor in this PR: hashicorp/terraform-provider-aws#43434
Add support in this module for those 3 for the ECS service resource configuration blocks/attributes:
In this PR, there is 4 cases of
resource "aws_ecs_service" "xyz", which is why the 200+ LOC when in reality, it should be under 50 LOC. The same 3 blocks are required to be reflected over to all 4 resources, similar to other existing dynamic blocks.I've tested that this is backwards compatible in that there is no diff when using pointed at this within many other root modules that has an ECS load balancer block attached (with and without).