ECS Blue/Green deploys fail to set Capacity Provider using the ECS console


We have an ECS cluster and service that is configured for CodeDeploy based Blue/Green deploys. The ECS service uses an EC2 Autoscaling group as a Capacity Provider. If I use the ECS console -> Update Service to a new Task Definition, and ensure that my Capacity Provider is selected, when the deployment is sent to CodeDeploy, the Capacity Provider is NOT set in the AppSpec. I can verify this by going to CodeDeploy -> Deployments -> the deployment -> Revision Details and click the "Revision location" then very clearly the Capacity Provider is NOT set in the AppSpec.

However, if I run a deployment via the CodeDeploy console, or via CodePipeline where I have defined the AppSpec file to include "CapacityProviderStrategy" the deployment works without issue.

This really seems like a bug in the ECS console UI where clearly the Capacity Provider is selected in the UI but not passed to CodeDeploy. The result is that ECS is unable to place the task. Can this bug be fixed in the ECS console?

Chuck W
asked 9 months ago328 views
1 Answer

Your observations seem to indicate a potential discrepancy between how the ECS console UI and the backend services (like CodeDeploy) handle the Capacity Provider configuration during Blue/Green deployments. As I know, there have been instances in the past where the ECS console may not expose or handle all the features and configurations available via the AWS SDK, CLI, or other AWS services.

If you believe you've encountered a bug:

1. AWS Support: If you have a support plan with AWS, I'd recommend creating a support ticket to notify AWS of the potential issue. AWS Support can provide more immediate assistance and forward the feedback to the ECS service team.

2. Feedback on the Console: There is usually a "Feedback" button at the bottom of AWS service consoles. You can use this to provide feedback directly. Make sure to provide as much detail as possible to help AWS reproduce the issue.

3. Workaround: In the meantime, as you've noted, deploying via the CodeDeploy console or CodePipeline where you explicitly define the AppSpec file seems to be a reliable method. It's not ideal, but it can serve as a workaround until the potential issue with the ECS console is addressed.

Remember, AWS is continually updating and improving its services. Feedback from users plays a crucial role in identifying areas for enhancement.

profile picture
answered 9 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions