This page is generated from skills/ecs-devops/SKILL.md. Edit the source, not this page.
ECS DevOps — Deployment Strategies and CI/CD
Advisory guidance for shipping software to Amazon ECS safely: choosing a deployment strategy (rolling, native blue/green, linear, canary), configuring failure detection and rollback (circuit breaker, CloudWatch alarms, one-click rollback), and wiring CI/CD pipelines (CodePipeline, GitHub Actions, ECR scanning). Every capability is scoped by launch type — EC2, Fargate, ECS Managed Instances, and ECS Anywhere (EXTERNAL) — because the strategy menu is not the same on each.
The accuracy bar (non-negotiable for this skill). ECS deployment capabilities changed rapidly between mid-2025 and mid-2026 (native blue/green Jul 2025, linear/canary Oct 2025, NLB for linear/canary Feb 2026, pause/continue May 2026, configurable circuit breaker Jul 2026). Never state a strategy/load-balancer/launch-type support combination you cannot cite to an AWS-published source — stale claims in this domain are usually plausible but wrong. When in doubt, defer to the live ECS service deployment options page.
When to Use This Skill
Activate when the user wants to:
- Pick a deployment strategy for an ECS service (rolling vs blue/green vs canary vs linear)
- Configure or debug native ECS blue/green, linear, or canary deployments (lifecycle hooks, bake time, test traffic, weighted target groups)
- Set up the deployment circuit breaker, CloudWatch alarm rollback, or deployment pause/continue
- Roll back a bad ECS deployment, or understand why a deployment is stuck or failed
- Build a CI/CD pipeline that deploys to ECS (CodePipeline, GitHub Actions, ECR push + scan + deploy)
- Migrate from the CodeDeploy blue/green controller to ECS-native strategies
- Understand the external deployment controller / task sets
- Know which strategies work on Fargate vs EC2 vs Managed Instances vs ECS Anywhere
Don't use this skill for:
- EKS or Kubernetes deployments of any kind → use the
eks-*skills (eks-best-practicesfor strategy,eks-buildfor artifacts) - ECS monitoring, logging, metrics, tracing, or alerting stack selection →
ecs-observability(this skill covers alarms only as deployment-failure triggers) - GPU / ML / GenAI workloads on ECS →
ecs-genai - ECS security posture, IAM hardening, or compliance →
ecs-security - Auditing the operational health of a live ECS cluster →
ecs-operation-review - Greenfield ECS architecture / launch-type selection with no deployment or pipeline angle →
ecs-architect
If a routed sibling skill is not installed yet, don't dead-end the user: answer from general knowledge (staying within this skill's cited facts where they apply) and note that a dedicated skill is pending.
Sibling Skill Disambiguation
| User Intent | Correct Skill | Why |
|---|---|---|
| "Set up canary deployments for my ECS service" | ecs-devops | Release strategy and traffic shifting |
| "Alert me when my ECS service errors spike" | ecs-observability | Monitoring stack, not deployment safety (this skill covers alarms only as rollback triggers) |
| "Which launch type should my new ECS app use?" | ecs-architect | Architecture decision, no release angle |
| "Harden the IAM roles my pipeline uses" | ecs-security | Security posture, not pipeline mechanics |
| "Is my ECS cluster healthy / well configured?" | ecs-operation-review | Live operational audit |
| "Deploy an LLM inference container to ECS" | ecs-genai | GPU/ML workload specifics |
| "Blue/green on EKS" | eks-best-practices | Kubernetes, not ECS |
Deployment Controller and Strategy Model
Facts verified 2026-07-09 against https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_service-options.html GA dates in this skill follow AWS What's New post dates; the ECS doc-history page can log the same launch a few days earlier (e.g., blue/green Jul 15 vs Jul 17, 2025) — both are AWS sources, this skill standardizes on What's New except where it explicitly cites doc history.
deploymentController.typehas three values —ECS,CODE_DEPLOY,EXTERNAL.- Under the
ECScontroller,deploymentConfiguration.strategyselects one of four built-in strategies —ROLLING(default),BLUE_GREEN(GA Jul 17, 2025),LINEARandCANARY(GA Oct 30, 2025). - The
CODE_DEPLOYcontroller is the older blue/green path. For new adoptions, AWS's stated recommendation is the native ECS blue/green deployment (deployment-type-bluegreen). It remains fully supported with no announced end-of-life — staying on CodeDeploy indefinitely is a valid steady state for existing estates; migrate when you want something native adds (Service Connect, richer hooks, simpler pipelines), not by default. - The
EXTERNALcontroller hands the whole deployment process to your own tooling via task-set APIs — see references/controllers-and-migration.md. - Since July 15, 2025 the deployment controller is updatable in place on an existing service — you can migrate a service between controller types without recreating it (doc history).
Strategy Selector
| You need | Strategy | Why |
|---|---|---|
| Default, no load balancer, cost-sensitive, stateful, or ECS Anywhere | ROLLING | Only strategy with no load-balancer requirement; min/max percent controls capacity during rollout |
| Instant cutover with near-instant rollback window | BLUE_GREEN | All-at-once weighted-target-group flip; blue kept running through bake time |
| Gradual equal-step traffic shift (e.g., 10% at a time) | LINEAR | stepPercent + per-step bake time; hooks fire at every step |
| Small validation slice, then full cutover | CANARY | Two-step shift (canary % → 100%) with canary bake time |
| Keep an existing CodePipeline CodeDeploy integration working | CODE_DEPLOY controller | Fully supported steady state (no announced EOL); AWS recommends native for new workloads |
| Your own deployment engine (custom orchestration) | EXTERNAL controller | Task-set APIs, you own everything |
Blue/green, linear, and canary all run blue and green revisions simultaneously — plan for up to 2× capacity (EC2 cluster headroom or Fargate/Managed Instances spend) during deployments (deployment-type-blue-green).
Load Balancer Support Matrix (current state)
Facts verified 2026-07-09 against https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_service-options.html and https://aws.amazon.com/about-aws/whats-new/2026/02/amazon-ecs-nlb-linear-canary-deployments/
⚠️ Stale-claim trap: "linear/canary support only ALB and Service Connect" was true only from Oct 2025 to Feb 2026. NLB support for linear and canary launched Feb 4, 2026. If you have seen the older claim (including in earlier internal material), it is obsolete — state the matrix below with its verification date.
| Strategy | ALB | NLB | Service Connect | No LB / headless |
|---|---|---|---|---|
ROLLING | ✅ | ✅ | ✅ | ✅ |
BLUE_GREEN |