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://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/eks-managing-compute.md
Managing EKS Compute
A Kubernetes node is a machine that runs containerized applications. Your Amazon EKS cluster can schedule Pods on any combination of EKS Auto Mode managed nodes, self-managed nodes, Amazon EKS managed node groups, AWS Fargate, and Amazon EKS Hybrid Nodes.
EKS Managed Node Groups
Amazon EKS managed node groups automate the provisioning and lifecycle management of nodes (Amazon EC2 instances) for Amazon EKS Kubernetes clusters.
Warm Pools
Amazon EKS managed node groups support 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. This is most useful for applications with long initialization or boot times, where waiting for a cold node to boot and join the cluster would delay pod scheduling.
Key considerations:
Always configure warm pools through the EKS API (
create-nodegrouporupdate-nodegroup-config), not the EC2 Auto Scaling API directly — manual changes conflict with EKS management. EKS manages the pool via theAWSServiceRoleForAmazonEKSNodegroupservice-linked role.Configuration parameters:
enabled,maxGroupPreparedCapacity(max combined instances across the warm pool and ASG),minSize(default0),poolState(defaultStopped), andreuseOnScaleIn(return instances to the pool on scale-in instead of terminating them; defaultfalse).Custom AMIs are not supported — you must use EKS-optimized AMIs.
With Bottlerocket AMIs, the
Hibernatedpool state andreuseOnScaleInare not supported; useStoppedorRunningonly.The
Hibernatedpool state is only supported on specific instance types (see the EC2 hibernation prerequisites).Updating warm pool settings doesn't affect instances already in the pool; new settings apply only to instances entering the pool afterward. Set
enabled=falseto disable the pool.Cost: a warm pool that isn't needed adds unnecessary cost. Size it to your scaling patterns — a starting point is 10–20% of expected peak capacity.
Ensure your VPC has enough IP addresses for both the ASG and warm pool instances.
Not all instance types, AMIs, or configurations are supported; review the EC2 Auto Scaling warm pool prerequisites and limitations first.
Create a managed node group with a warm pool:
aws eks create-nodegroup \
--cluster-name my-cluster \
--nodegroup-name my-nodegroup \
--node-role arn:aws:iam::111122223333:role/AmazonEKSNodeRole \
--subnets subnet-12345678 subnet-87654321 \
--region us-east-1 \
--scaling-config minSize=2,maxSize=10,desiredSize=3 \
--warm-pool-config enabled=true,maxGroupPreparedCapacity=8,minSize=2,poolState=Stopped,reuseOnScaleIn=trueAdd a warm pool to (or update one on) an existing node group:
aws eks update-nodegroup-config \
--cluster-name my-cluster \
--nodegroup-name my-nodegroup \
--region us-east-1 \
--warm-pool-config enabled=true,maxGroupPreparedCapacity=10,minSize=3,poolState=Running,reuseOnScaleIn=trueDisable the warm pool attached to a node group:
aws eks update-nodegroup-config \
--cluster-name my-cluster \
--nodegroup-name my-nodegroup \
--region us-east-1 \
--warm-pool-config enabled=falseSee the documentation for more information.
AWS Fargate
AWS Fargate is a serverless compute engine for containers that removes the need to provision and manage servers. With Fargate, you no longer have to select EC2 instance types, manage node scaling, or optimize cluster packing. Instead, you define Fargate profiles for your EKS cluster that specify which Pods should run on Fargate.
Note: For new clusters, we recommend EKS Auto Mode as the preferred approach to serverless compute. EKS Auto Mode provides a fully automated node management experience with broader feature support, including GPU workloads, EBS volumes, and a wider range of compute configurations. Consider Fargate for existing workloads that already use Fargate profiles or when your use case specifically requires the per-Pod microVM isolation model.
Fargate Profiles
A Fargate profile defines which Pods run on Fargate infrastructure. Each profile specifies:
One or more subnets (only private subnets are supported; Fargate Pods are not assigned public IP addresses)
One or more selectors, each containing a namespace and optional labels used to match Pods
When a Pod matches a selector in a Fargate profile, it is scheduled onto Fargate. A cluster can have multiple Fargate profiles. If a Pod matches multiple profiles, the first matching profile is used.
Key Considerations
Each Fargate Pod runs in its own isolated compute environment (a dedicated microVM) and does not share its underlying kernel, CPU, memory, or network interface with another Pod.
DaemonSets are not supported on Fargate. If your application requires a DaemonSet, consider using a sidecar container pattern instead.
Privileged containers and
hostNetwork/hostPortare not supported on Fargate.GPU workloads are not supported on Fargate.
If your Pod requires more resources than supported by Fargate, use Karpenter or Managed Node Groups.
Persistent storage is supported through Amazon EFS (via CSI driver). Amazon EBS volumes are not supported on Fargate.
The EKS node monitoring agent and automatic node repair are not available for Fargate Pods since AWS manages the underlying infrastructure.
Vertical Pod Autoscaler can be used to right-size Fargate Pod resource requests.
Fargate Pod Sizing
Fargate allocates compute resources based on the Pod's resource requests. It rounds up to the nearest Fargate-supported configuration. If no requests are specified, a default of 0.25 vCPU and 0.5 GB memory is applied. You should always set explicit resource requests to ensure Pods receive appropriate compute capacity and to avoid overpaying for unused resources.
When provisioned, each Pod running on Fargate receives ephemeral storage. This type of storage is deleted after a Pod stops.
See the documentation for more information on both pod sizing and ephemeral storage.
Pre-build optimized AMIs
You can deploy nodes with pre-built Amazon EKS optimized Amazon Machine Images (AMIs) or your own custom AMIs when you use managed node groups or self-managed nodes.
Amazon Linux 2 deprecation
AWS is ending support for EKS AL2-optimized and AL2-accelerated AMIs. After the end-of-support (EOS) date, EKS will no longer release any new Kubernetes versions or updates to AL2 AMIs, including minor releases, patches, and bug fixes, though existing AMIs remain usable. We recommend upgrading to Amazon Linux 2023 (AL2023) or Bottlerocket AMIs. Check the documentation below for the current EOS date.
See the documentation for more information.
Node health and repair
To help with maintaining healthy nodes in EKS clusters, EKS offers the node monitoring agent and automatic node repair. These features are automatically enabled with EKS Auto Mode compute. You can also use automatic node repair with EKS managed node groups and Karpenter, and can use the EKS node monitoring agent with any EKS compute types except for AWS Fargate. The EKS node monitoring agent and automatic node repair are most effective when used together, but they can also be used individually in EKS clusters.
If the user has expresses a specific type of node issue they wish help monitoring and remediating then you MUST consult the associated documentation below to confirm it is in scope for the corresponding feature.
Node monitoring agent
The EKS node monitoring agent reads node logs to detect health issues. It parses logs to detect failures and surfaces status information about the health status of the nodes. For each category of issues detected, the agent applies a dedicated NodeCondition to the worker nodes. For detailed information on the node health issues detected by the EKS node monitoring agent, see Detect node health issues with the EKS node monitoring agent.
Considerations:
EKS Auto Mode compute automatically includes the node monitoring agent.
For other EKS compute types, you can add the node monitoring agent as an EKS add-on or you can manage it with Kubernetes tooling such as Helm.
Automatic node repair
EKS automatic node repair continuously monitors node health, reacts to detected problems, and replaces or reboots nodes when possible. This improves cluster reliability with minimal manual intervention and helps reduce application downtime.
Considerations:
Automatic node repair is enabled by default in EKS Auto Mode and can also be used with EKS managed node groups and Karpenter. It relies on the NodeConditions surfaced by the node monitoring agent, so the two are most effective together.
It cannot be configured for EKS Auto Mode (always on with the same defaults as Karpenter). For Karpenter, enable the
NodeRepair=truefeature gate. For managed node groups, enable it at creation or update (for example--node-repair-config enabled=true, the console checkbox, ornodeRepairConfig.enabled: truein eksctl).Repair only happens after the unhealthy condition persists for a wait period. Most conditions (
Ready,KernelReady,NetworkingReady,StorageReady,ContainerRuntimeReady) wait 30 minutes and are repaired by replacing the node;AcceleratedHardwareReady(GPU/Neuron) waits 10 minutes. StandardDiskPressureandMemoryPressureconditions trigger no repair action.Rebootas a repair action is only supported by EKS managed node groups. For EKS Auto Mode and Karpenter, allAcceleratedHardwareReadyrepairs areReplace.Repair is paused automatically to avoid mass disruption: for managed node groups when the group has more than five nodes and more than 20% are unhealthy (or when an ARC zonal shift triggers); for Auto Mode and Karpenter when more than 20% of nodes in the NodePool (or cluster, for standalone NodeClaims) are unhealthy. In-progress repairs continue.
For managed node groups you can tune this behavior: set an unhealthy-node stop threshold (
maxUnhealthyNodeThresholdCountormaxUnhealthyNodeThresholdPercentage), control concurrency (maxParallelNodesRepairedCountormaxParallelNodesRepairedPercentage), and override per-condition behavior withnodeRepairConfigOverrides(settingminRepairWaitTimeMinsand arepairActionofReplace,Reboot, orNoActionfor a specificnodeMonitoringCondition/nodeUnhealthyReason).
For more information on EKS automatic node repair, see Automatically repair nodes in EKS clusters.
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 or AWS.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download aws-containers.zip