ECS Flashcards
What is ECS?
A container management service to run, stop and manage Docker containers on a cluster.
What can ECS be used for?
ECS can be used to create a consistent deployment and build experience, manage, and scale batch and Extract-Transform-Load (ETL) workloads, and build sophisticated application architectures on a microservices model.
True/False. Amazon ECS is a regional service.
True.
True/False. You can only create ECS clusters within an existing VPC.
False. You can create ECS clusters within a new or existing VPC.
True/False. After a cluster is up and running, you can define task definitions and services that specify which Docker container images to run across your clusters.
True.
What is AWS’s SLA monthly uptime guarantee for ECS?
AWS Compute SLA guarantees a Monthly Uptime Percentage of at least 99.99% for Amazon ECS.
What is Amazon ECS Exec?
Amazon ECS Exec is a way for customers to execute commands in a container running on Amazon EC2 instances or AWS Fargate. ECS Exec gives you interactive shell or single command access to a running container.
Containers
Contain everything that your software application needs to run: code, runtime, system tools, system libraries, etc.
Image
Containers are created from a read-only template called an image.
How are images typically built and stored?
Images are typically built from a Dockerfile, a plain text file that specifies all of the components that are included in the container. These images are then stored in a registry from which they can be downloaded and run on your cluster.
True/False. When you launch a container instance, you have the option of passing user data to the instance. The data can be used to perform common automated configuration tasks and even run scripts when the instance boots.
True.
True/False. Docker Volumes can only be a local instance store volume and not an EBS volume or EFS volume.
False. Docker Volumes can be a local instance store volume, EBS volume, or EFS volume. Connect your Docker containers to these volumes using Docker drivers and plugins.
Task Definitions.
Specify various parameters for your application. It is a text file, in JSON format, that describes one or more containers, up to a maximum of ten, that form your application.
What parts do Task Definitions consist of?
-Task family – the name of the task, and each family can have multiple revisions.
-IAM task role – specifies the permissions that containers in the task should have.
-Network mode – determines how the networking is configured for your containers.
-Container definitions – specify which image to use, how much CPU and memory the container is allocated, and many more options.
-Volumes – allow you to share data between containers and even persist the data on the container instance when the containers are no longer running.
-Task placement constraints – lets you customize how your tasks are placed within the infrastructure.
-Launch types – determines which infrastructure your tasks use.
Task.
This is the instantiation of a task definition within a cluster. After you have created a task definition for your application, you can specify the number of tasks that will run on your cluster.
True/False. Each task that uses the Fargate launch type has its own isolation boundary and does not share the underlying kernel, CPU resources, memory resources, or elastic network interface with another task.
True.
Task Scheduler
Responsible for placing tasks within your cluster
What kind of scheduling options are available?
-REPLICA — places and maintains the desired number of tasks across your cluster. By default, the service scheduler spreads tasks across Availability Zones. You can use task placement strategies and constraints to customize task placement decisions.
-DAEMON — deploys exactly one task on each active container instance that meets all of the task placement constraints that you specify in your cluster. When using this strategy, there is no need to specify a desired number of tasks, a task placement strategy, or use Service Auto Scaling policies.
What happens when you upload a new version of your application task definition?
When you upload a new version of your application task definition, the ECS scheduler automatically starts new containers using the updated image and stop containers running the previous version.
True/False. Amazon ECS tasks running on both Amazon EC2 and AWS Fargate cannot mount Amazon Elastic File System (EFS) file systems.
False. Amazon ECS tasks running on both Amazon EC2 and AWS Fargate CAN mount Amazon Elastic File System (EFS) file systems.
Cluster.
is a logical grouping of resources
True/False. Clusters are Region-specific.
True.