Amazon Elastic Container Service (ECS) on AWS Fargate

Amazon Elastic Container Service (ECS) is a highly scalable, high performance container management service that supports Docker containers and allows you to easily run applications on a managed cluster of Amazon EC2 instances. You can choose to run your ECS clusters using AWS Fargate, which is serverless compute for containers that works with both Amazon Elastic Container Service (ECS) and Amazon Elastic Kubernetes Service (EKS). Fargate makes it easy for you to focus on building your applications, by removing the need to provision and manage servers. It lets you specify and pay for resources per application, and improves security through application isolation by design.

Fargate allocates the right amount of compute, eliminating the need to choose instances and scale cluster capacity. You only pay for the resources required to run your containers, so there is no over-provisioning and paying for additional servers. Fargate runs each task or pod in its own kernel providing the tasks and pods their own isolated compute environment. This enables your application to have workload isolation and improved security by design.

The AWS Toolkit for Visual Studio provides a wizard that simplifies publishing applications to Amazon ECS. The wizard provides the option to use the following deployment types (referred to as Deployment Targets).

  • Run Task on an ECS Cluster - Execute the application on an Amazon Elastic Container Service Cluster as a task. When the task execution ends, the container instances end as well.
  • Service on an ECS Cluster - Deploy the application as a service on an Amazon Elastic Container Service Cluster. A service is for applications, for example Web applications, that are intended to run indefinitely.
  • Schedule Task on an ECS Cluster - Deploy the application as a scheduled task running on an Amazon Elastic Container Service Cluster.
  • Push only the Docker image to Amazon Elastic Container Registry - The Docker image will be pushed to Amazon Elastic Container Registry. Afterward, you can choose how to run Docker image