What AWS services are used for managing Docker containers?
Amazon ECS: AWS’s native container orchestration platform
Amazon EKS: Managed Kubernetes (upstream Kubernetes)
AWS Fargate: Serverless compute for containers; works with ECS and EKS
Amazon ECR: Private container registry for container images
What is the Amazon ECS EC2 launch type and how does it work?
ECS = Elastic Container Service
Running containers on AWS = launching ECS tasks on ECS clusters
EC2 launch type requires you to provision and manage the EC2 instances
Each EC2 instance must run the ECS Agent to register with the cluster
AWS handles starting and stopping containers
What is the Amazon ECS Fargate launch type and how does it work?
Run Docker containers on AWS without managing EC2 instances
Fully serverless—no infrastructure provisioning
You only define task definitions
AWS runs tasks based on requested CPU and memory
Scaling = increasing the number of tasks (no instance management)
What IAM roles are used in Amazon ECS and what are they for?
EC2 Instance Profile (EC2 launch type only):
Used by the ECS Agent
Makes API calls to ECS
Sends container logs to CloudWatch Logs
Pulls images from ECR
Reads secrets from Secrets Manager or SSM Parameter Store
ECS Task Role:
Assigns a specific IAM role to each ECS task
Different tasks can use different roles
Defined in the task definition
Allows tasks to access services like S3, DynamoDB, etc
What load balancers can be integrated with Amazon ECS, and when should each be used?
Application Load Balancer (ALB):
Fully supported
Best for most use cases
Network Load Balancer (NLB):
Use for high-throughput or high-performance needs
Good when pairing with AWS PrivateLink
Classic Load Balancer (CLB):
Supported but not recommended
No advanced features and not compatible with Fargate
How does Amazon ECS use EFS for data volumes?
You can mount Amazon EFS filesystems onto ECS tasks
Works with both EC2 and Fargate launch types
Tasks in any Availability Zone share the same EFS data
Fargate + EFS provides a fully serverless setup
Ideal for persistent, multi-AZ shared storage
Note: S3 cannot be mounted as a filesystem
How does ECS Service Auto Scaling work and what scaling methods does it support?
Automatically adjusts the number of ECS tasks
Uses AWS Application Auto Scaling with metrics such as:
Average CPU utilization
Average memory utilization
ALB request count per target
Supports three scaling strategies:
Target Tracking: scales to maintain a metric target
Step Scaling: reacts to CloudWatch alarms
Scheduled Scaling: scales at specific times
ECS task-level scaling is different from EC2 instance–level autoscaling
Fargate scaling is simpler because it’s serverless
How does auto scaling work for EC2-based ECS clusters?
EC2 instances must scale to support ECS service scaling
Auto Scaling Group (ASG) Scaling:
Scales EC2 instances based on CPU utilization
Adds instances over time as needed
ECS Cluster Capacity Provider:
Automatically provisions and scales EC2 infrastructure for ECS tasks
Works with an ASG
Adds EC2 instances when cluster capacity (CPU, RAM, etc.) is insufficient
What is Amazon ECR and how is it used with ECS?
ECR = Elastic Container Registry
Stores and manages Docker images on AWS
Offers private and public repositories (ECR Public Gallery)
Fully integrated with ECS and backed by Amazon S3
Access controlled through IAM (permission issues = IAM policy)
Supports vulnerability scanning, versioning, tags, and image lifecycle policies
What node types can be used in Amazon EKS?
Managed Node Groups:
EKS creates and manages EC2 worker nodes
Nodes run in an ASG controlled by EKS
Supports On-Demand and Spot instances
Self-Managed Nodes:
You create and register the nodes yourself
Can use EKS-Optimized AMIs
Supports On-Demand and Spot instances
AWS Fargate:
No nodes to manage
Fully serverless for running pods
How does Amazon EKS handle data volumes and what storage options does it support?
Requires defining a StorageClass manifest in the cluster
Uses CSI (Container Storage Interface) drivers for storage integration
Supported storage options:
Amazon EBS
Amazon EFS (works with Fargate)
Amazon FSx for Lustre
Amazon FSx for NetApp ONTAP
What is AWS App Runner and what does it provide?
Fully managed service to deploy web apps and APIs at scale
No infrastructure expertise required
Deploy from source code or a container image
Builds and deploys automatically
Provides autoscaling, high availability, load balancing, and encryption
Supports VPC access
Can connect to databases, caches, and message queues
Ideal for web apps, APIs, microservices, and fast production deployments
What does AWS App2Container (A2C) do?
CLI tool for containerizing Java and .NET web apps
Lift-and-shift apps from on-prem, VMs, or any cloud to AWS
No code changes required; accelerates modernization
Generates CloudFormation templates (compute, networking, etc.)
Registers generated Docker images to ECR
Deploys to ECS, EKS, or App Runner
Supports pre-built CI/CD pipeline integration
What are the main steps of the AWS App2Container (A2C) workflow?
Discover & Analyze: Build an inventory and analyze runtime dependencies
Extract & Containerize: Extract the app with dependencies and create a Docker image
Create Deployment Artifacts: Generate ECS task defs, EKS pod defs, CI/CD pipelines, and CloudFormation templates
Deploy to AWS: Push image to ECR and deploy to ECS, EKS, or App Runner