Linux instances - Amazon Elastic Container Service

Linux instances

An Amazon ECS container instance is an Amazon EC2 instance that is running the Amazon ECS container agent and has been registered into an Amazon ECS cluster. When you run tasks with Amazon ECS using the EC2 launch type or an Auto Scaling group capacity provider, your tasks are placed on your active container instances.

Note

Tasks using the Fargate launch type are deployed onto infrastructure managed by AWS, so this topic does not apply.

The following Linux container instance operating systems are available:

  • Amazon Linux: This is a general purpose operating system.

  • Bottlerocket: This is an operating system that is optimized for container workloads and that has a focus on security. It does not include a package manager and is immutable by default. For information about the security features and guidance, see Security Features and Security Guidance on the GitHub website.

An Amazon ECS container instance specification consists of the following components:

Required

  • A modern Linux distribution running at least version 3.10 of the Linux kernel.

  • The Amazon ECS container agent (preferably the latest version). For more information, see Amazon ECS container agent.

  • A Docker daemon running at least version 1.9.0, and any Docker runtime dependencies. For more information, see Check runtime dependencies in the Docker documentation.

    Note

    For the best experience, we recommend the Docker version that ships with and is tested with the corresponding Amazon ECS container agent version that you are using.

Recommended

  • An initialization and nanny process to run and monitor the Amazon ECS container agent. The Amazon ECS-optimized AMIs use the ecs-init RPM to manage the agent. For more information, see the ecs-init project on GitHub.