AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides comprehensive domain expertise for managing containerized applications on AWS. It covers the full lifecycle of services including Amazon EKS, ECS, ECR, and Elastic Beanstalk. The skill acts as a primary source of truth for configuration patterns, deployment strategies, and troubleshooting procedures, specifically emphasizing the use of Amazon ECS Action Logs for diagnosing control-plane failures. It is designed to be used alongside AWS CLI tools or an MCP server to ensure accurate, up-to-date operational decisions.
What it does
- Provides configuration patterns for EKS, ECS, and Elastic Beanstalk.
- Offers troubleshooting procedures for ECS control-plane failures using Action Logs.
- Details ECR repository management and lifecycle policies.
- Outlines deployment policies for Elastic Beanstalk environments.
- Guides users on leveraging open-source Kubernetes projects with EKS.
- Maintains a structured routing system to access specific service documentation.
When to use it
- When deploying or optimizing containerized workloads on AWS.
- When troubleshooting deployment rollbacks, task placement, or scaling issues in ECS.
- When configuring Elastic Beanstalk environments or setting up ECR repositories.
- When needing best practices for EKS cluster management and compute scaling.
Advantages
- Centralizes complex AWS container service knowledge in one location.
- Provides clear, actionable steps for troubleshooting opaque control-plane errors.
- Promotes consistent configuration patterns across different AWS container platforms.
- Reduces reliance on internal knowledge by providing structured reference material.
Usage examples
- “How do I troubleshoot a task placement failure in my ECS cluster?”
- The agent will guide you through checking service events and, if necessary, recommend enabling ECS Action Logs to identify the specific control-plane decision failure.
- “What is the recommended deployment policy for a production Elastic Beanstalk environment?”
- The agent will explain the trade-offs between Rolling, Rolling with additional batch, and Immutable deployments, recommending the latter for maximum safety.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/aws/aws-containers/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip aws-containers.zip -d .agents/skills
Documentation by AWS
AWS Containers
Overview
Domain expertise for working with containers on AWS.
Works best with the AWS MCP Server — enables running CLI commands, querying CloudWatch, and validating configurations directly. All guidance also works with standard AWS CLI access.
Note: Reference files contain specific runtime versions, quota values, and feature matrices that may change. When precision matters (e.g., deploying to production, choosing a runtime, or checking a quota), confirm values against current AWS documentation rather than relying solely on the values in these files.
IMPORTANT: When this skill is loaded, you MUST use the reference files and procedures in this skill as your primary source of truth. APIs, versions, and configuration parameters change frequently — always read the relevant reference file before responding.
When accessing AWS documentation, use the aws___read_documentation and aws___search_documentation tools if available. Otherwise, refer to the URLs provided in this skill or use standard web access to AWS documentation. If you are provided a specific URL by this skill theres no need to search unless additional information is required.
Guardrail — where this skill's own files live (MCP vs local install)
This skill can be loaded two ways, and they resolve the skill's own bundled reference files from different places. Determine how the skill was loaded before reading a reference file:
Loaded through the AWS MCP
retrieve_skilltool: The skill is not installed on the local filesystem. You MUST fetch each reference viaretrieve_skillwith thefileparameter (e.g.file="references/ecs.md"orfile="references/action-logs.md"). Do NOTfile_readthese paths locally — they do not exist on disk.Installed locally (e.g.
.kiro/skills/aws-containers/or~/.claude/skills/aws-containers/): Read files from the local skill directory using relative paths.
This distinction applies only to the skill's own packaged files. User data and session artifacts are always read from and written to the user's working directory. Never fetch or write customer data through retrieve_skill.
Services
Elastic Kubernetes Service (EKS)
EKS provides a fully managed Kubernetes service that eliminates the complexity of operating Kubernetes clusters. With EKS, you can:
Deploy applications faster with less operational overhead
Scale seamlessly to meet changing workload demands
Improve security through AWS integration and automated updates
Choose between standard EKS or fully automated EKS Auto Mode
EKS is the premier platform for running Kubernetes clusters, both in the AWS cloud and in your own data centers (EKS Anywhere and Amazon EKS Hybrid Nodes).
Elastic Container Service (ECS)
Amazon Elastic Container Service (Amazon ECS) is a fully managed container orchestration service that helps you easily deploy, manage, and scale containerized applications. As a fully managed service, Amazon ECS comes with AWS configuration and operational best practices built-in. It's integrated with both AWS tools, such as Amazon Elastic Container Registry, and third-party tools, such as Docker. This integration makes it easier for teams to focus on building the applications, not the environment. You can run and scale your container workloads across AWS Regions in the cloud, and on-premises, without the complexity of managing a control plane.
Elastic Container Registry (ECR)
Amazon Elastic Container Registry (Amazon ECR) is an AWS managed container image registry service that is secure, scalable, and reliable. Amazon ECR supports private repositories with resource-based permissions using AWS IAM. This is so that specified users or Amazon EC2 instances can access your container repositories and images. You can use your preferred CLI to push, pull, and manage Docker images, Open Container Initiative (OCI) images, and OCI compatible artifacts.
Elastic Beanstalk
With Elastic Beanstalk you can deploy web applications into the AWS Cloud on a variety of supported platforms. You build and deploy your applications. Elastic Beanstalk provisions Amazon EC2 instances, configures load balancing, sets up health monitoring, and dynamically scales your environment.
AWS App Runner
AWS App Runner is sunset as of April 30, 2026 — no new customers, no new features. Existing customers should migrate to ECS Express Mode. See App Runner Availability Change.
Routing
| User need | Action |
|---|---|
| Elastic Kubernetes Service (EKS) or general Kubernetes | Read eks.md |
| Elastic Container Service (ECS) | Read ecs.md |
| Elastic Container Registry (ECR) | Read ecr.md |
| Elastic Beanstalk | Read beanstalk.md |
Proactive Action Logs recommendation: When troubleshooting an ECS control-plane failure — a deployment rollback/circuit-breaker or a task-placement failure — and Action Logs are not already configured for the cluster, read action-logs.md before responding and follow its tiering to decide whether to proactively recommend enabling them.
Files
- ATTRIBUTION.mdAdded by AutoGineer893 B
- LICENSELicence file added by AutoGineer9.9 KiB
- NOTICELicence file added by AutoGineer67 B
- SKILL.md6.5 KiB
- references/action-logs.md13.1 KiB
- references/beanstalk-configuration.md5.3 KiB
- references/beanstalk-platforms.md3.2 KiB
- references/beanstalk.md664 B
- references/ecr.md6.0 KiB
- references/ecs-gateway.md3.3 KiB
- references/ecs-gpu-sharing.md2.4 KiB
- references/ecs-managing-compute.md10.4 KiB
- references/ecs-workloads.md12.1 KiB
- references/ecs.md1.6 KiB
- references/eks-auto-mode.md4.1 KiB
- references/eks-capabilities.md1.2 KiB
- references/eks-control-plane.md4.0 KiB
- references/eks-load-balancer-controller.md13.3 KiB
- references/eks-managing-compute.md10.9 KiB
- references/eks-networking.md2.9 KiB
- references/eks.md1.2 KiB
references/ecs-managing-compute.md
Managing ECS Compute
Amazon ECS runs your containers as tasks, and each task needs compute capacity to run on. ECS gives you three ways to provide that capacity: AWS Fargate (serverless), the EC2 launch type backed by Auto Scaling group capacity providers (you manage the EC2 instances), and Amazon ECS Managed Instances (AWS manages the EC2 instances for you). You select capacity per task or service using either a launch type (FARGATE or EC2) or a capacity provider strategy.
ECS Managed Instances
Amazon ECS Managed Instances is a fully managed compute option for Amazon ECS that enables you to run containerized workloads on the full range of Amazon EC2 instance types while offloading infrastructure management to AWS. With Amazon ECS Managed Instances, you can access specific compute capabilities such as GPU acceleration, particular CPU architectures, high network performance, and specialized instance types, while AWS handles provisioning, scaling, patching, and maintenance of the underlying infrastructure.
You package your application in containers and specify your compute requirements. AWS automatically selects the most cost-optimized general-purpose EC2 instance types that meet your workload needs, or you can specify desired instance attributes (instance types, CPU manufacturers, accelerators, and so on). By default, ECS Managed Instances optimizes utilization by placing multiple smaller tasks on a single larger instance, unlike Fargate which runs each task in its own isolated environment.
Important considerations:
ECS Managed Instances is used through capacity providers, not a launch type. You enable ECS Managed Instances in your account, create a capacity provider (default instance selection or custom
instanceRequirements), associate it with a cluster, and reference it in a capacity provider strategy. A capacity provider strategy can only contain one type of capacity provider — ECS Managed Instances, Auto Scaling group, or Fargate/Fargate_SPOT — not a mix.To make a task definition eligible, set the
requiresCompatibilitiesparameter to includeMANAGED_INSTANCES. A task definition can declare bothFARGATEandMANAGED_INSTANCESfor deployment flexibility, and existing Fargate task definitions using platform version1.4.0are compatible.The instances run an AWS-managed, security-hardened Bottlerocket AMI. Custom AMIs are not supported. There is no SSH access — use ECS Exec for debugging.
Instances have a maximum lifetime of 14 days; ECS drains and replaces them automatically to keep them patched. Long-running tasks that must exceed 14 days are not suitable for ECS Managed Instances.
Two IAM roles are required: an infrastructure role that lets ECS manage instances on your behalf, and an instance profile for the workloads running on the instances.
Supported CPU architectures are
X86_64andARM64. Supported network modes areawsvpcandhost.The capacity provider can launch On-Demand or Spot Instances (and EC2 Capacity Reservations) via the
capacityOptionTypeparameter on the instance launch template — valid values areON_DEMAND,SPOT, andRESERVED, defaulting toON_DEMAND. Spot uses spare EC2 capacity at reduced cost but can be interrupted with a two-minute notification.By default ECS packs multiple tasks onto a single instance for utilization. If you require strong isolation, you can configure ECS Managed Instances to run a single task per instance, giving each task VM-level security isolation boundaries.
To prevent overly aggressive scale-in of underutilized instances, set the
scaleInAfterparameter on the capacity provider'sinfrastructureOptimizationconfiguration. It defines how many seconds (0–3600) ECS waits before optimizing idle or underutilized instances — a longer delay increases the chance of placing new tasks on existing instances and reduces startup time, while a shorter delay reduces cost. Usenullfor the default behavior or-1to disable automatic optimization entirely.See the supported instance types documentation to check which EC2 instance types are supported.
See the documentation for more information.
AWS Fargate
AWS Fargate is a technology that you can use with Amazon ECS to run containers without having to manage servers or clusters of Amazon EC2 instances. With AWS Fargate, you no longer have to provision, configure, or scale clusters of virtual machines to run containers. This removes the need to choose server types, decide when to scale your clusters, or optimize cluster packing. To use it, set the requiresCompatibilities task definition parameter to include FARGATE (or launch with the FARGATE/FARGATE_SPOT capacity providers).
Key Considerations
Each Fargate task runs in its own isolated compute environment (a dedicated microVM) and does not share its underlying kernel, CPU, memory, or network interface with another task.
Fargate tasks always use the
awsvpcnetwork mode and receive their own elastic network interface. Thehostnetwork mode,hostPorthost bindings, anddisableNetworkingare not supported.Both Application Load Balancers (ALB) and Network Load Balancers (NLB) are supported for ECS services on Fargate. When you create the target group, you must choose the
iptarget type (notinstance) because tasks have their own network interface.Privileged containers (
privileged) are not supported. ForlinuxParameterscapabilities, the only Linux capability you can add isCAP_SYS_PTRACE.GPU workloads are not supported on Fargate (the
gpuresource requirement is not valid).Several task definition parameters are not valid on Fargate, including
placementConstraints,links,ipcMode,dnsServers,extraHosts,maxSwap, andswappiness.Persistent storage is supported through both Amazon EFS volumes and Amazon EBS volumes; bind mounts provide ephemeral storage. (Unlike EKS Fargate, EBS volumes are supported on ECS Fargate.)
Fargate tasks ephemeral storage on Linux platform version
1.4.0or later (and Windows1.0.0or later), configurable via theephemeralStorageparameter. The ephemeral storage is encrypted.Linux containers can run on
X86_64orARM64; Windows containers requireX86_64.Supported log drivers are
awslogs,splunk, andawsfirelens.
Fargate Task Sizing
Fargate task definitions require you to specify CPU and memory at the task level (most workloads only need task-level values; you can optionally also set container-level limits). Fargate allocates resources to match the configuration you request — there is no rounding or implicit default, so you must pick a valid combination. CPU can be expressed in CPU units or vCPUs (for example 1024 or 1 vCPU) and memory in MiB or GB (for example 3072 or 3 GB).
If your task needs more resources than provided, use the EC2 launch type or ECS Managed Instances.
See the documentation for more information, including valid combinations for CPU and memory.
EC2 launch type and capacity providers
When you use the EC2 launch type, you provide and manage the Amazon EC2 instances (container instances) that your tasks run on. The recommended way to manage this capacity is with Auto Scaling group (ASG) capacity providers, which connect an ECS cluster to an Auto Scaling group so capacity scales with your task demand.
Cluster auto scaling and managed scaling
With managed scaling enabled, ECS manages the scale-out and scale-in actions of the Auto Scaling group on your behalf, using a target-tracking scaling policy driven by the CapacityProviderReservation metric. When managed scaling is on, the Auto Scaling group's desired count can start at 0 and ECS scales it as tasks are placed. If the group can't scale out to fit the tasks you run, those tasks stay in the PROVISIONING state until capacity is available.
Managed instance draining
We recommend using managed instance draining, which is on by default, so that EC2 instances are gracefully drained (tasks stopped and rescheduled) before the instance is terminated during scale-in or instance replacement. This avoids disrupting your workloads.
Warm pools
ECS supports Amazon EC2 Auto Scaling warm pools. A warm pool maintains pre-initialized EC2 instances alongside your Auto Scaling group that can quickly join your cluster during scale-out events. Instances in the warm pool have already completed the bootup initialization process and can be kept in a Stopped, Running, or Hibernated state. See the documentation for limitations.
A cluster can contain a mix of Auto Scaling group and Fargate capacity providers, but a single capacity provider strategy can only use one type. You can specify a maximum of 20 capacity providers in a strategy.
See the documentation for more information.
Pre-built optimized AMIs
When you use the EC2 launch type, your container instances run from an AMI that includes the Amazon ECS container agent (which registers the instance with your cluster and manages task lifecycle) and a container runtime. AWS publishes Amazon ECS-optimized AMIs preconfigured for this, and you can also build your own custom AMI. Variants are available for Amazon Linux 2023 and Amazon Linux 2, including arm64 (Graviton), GPU, and Neuron (Inferentia/Trainium) flavors. You can retrieve the latest AMI IDs from the Systems Manager Parameter Store.
We recommend the Amazon ECS-optimized Amazon Linux 2023 AMI for new instances, as it receives current security updates and the latest container agent version.
Amazon Linux 2 deprecation
The Amazon ECS-optimized Amazon Linux 2 AMI is being retired, mirroring the EOL of the upstream Amazon Linux 2 operating system. AWS recommends upgrading to Amazon Linux 2023. Check the migration documentation below for the current end-of-life date.
See the migration documentation and the Amazon ECS-optimized Linux AMIs documentation for more information.
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Declares allowed tools, Needs an MCP server
Security
What our scanner noticed· Low risk
- Instructions that use the network
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- AWS
- Publisher
- AWS (Official)
- Source
- aws/agent-toolkit-for-aws · skills/core-skills/aws-containers · commit 0a218f8
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- NOTICE (added by AutoGineer from NOTICE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
- Also distributed in
- aws/agent-toolkit-for-aws
AutoGineer is not affiliated with or endorsed by AWS.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download aws-containers.zip