Amazon ECS on AWS Fargate
AWS Fargate is a technology that you can use with Amazon ECS to run containers
When you run your tasks and services with the Fargate launch type, you
package your application in containers, specify the CPU and memory requirements, define
networking and IAM policies, and launch the application. Each Fargate task
has its own isolation boundary and does not share the underlying kernel, CPU resources,
memory resources, or elastic network interface with another task. You configure your task
definitions for Fargate by setting the requiresCompatibilities
task definition parameter to FARGATE. For more information, see Launch types.
Fargate offers platform versions for Amazon Linux 2 and Microsoft Windows 2019 Server Full and Core editions. Unless otherwise specified, the information on this page applies to all Fargate platforms.
This topic describes the different components of Fargate tasks and services, and calls out special considerations for using Fargate with Amazon ECS.
For information about the Regions that support Linux containers on Fargate, see Supported Regions for Linux containers on AWS Fargate.
For information about the Regions that support Windows containers on Fargate, see Supported Regions for Windows containers on AWS Fargate.
Fargate walkthroughs
For information about how to get started using the console, see:
For information about how to get started using the AWS CLI, see:
Capacity providers
The following capacity providers are available:
-
Fargate
-
Fargate Spot - Run interruption tolerant Amazon ECS tasks at a discounted rate compared to the AWS Fargate price. Fargate Spot runs tasks on spare compute capacity. When AWS needs the capacity back, your tasks will be interrupted with a two-minute warning. For more information, see AWS Fargate capacity providers.
You can only use Fargate Spot for Linux tasks that use the X86 architecture.
Task definitions
Tasks that use the Fargate launch type don't support all of the Amazon ECS task definition parameters that are available. Some parameters aren't supported at all, and others behave differently for Fargate tasks. For more information, see Task CPU and memory.
Service load balancing
Your Amazon ECS service on AWS Fargate can optionally be configured to use Elastic Load Balancing to distribute traffic evenly across the tasks in your service.
Amazon ECS services on AWS Fargate support the Application Load Balancer and Network Load Balancer load balancer types. Application Load Balancers are used to route HTTP/HTTPS (or layer 7) traffic. Network Load Balancers are used to route TCP or UDP (or layer 4) traffic. For more information, see Load balancer types.
When you create a target group for these services, you must choose ip
as the target type, not instance. This is because tasks that use the
awsvpc network mode are associated with an elastic network
interface, not an Amazon EC2 instance. For more information, see Service load balancing.
Using a Network Load Balancer to route UDP traffic to your Amazon ECS on AWS Fargate tasks is only supported when using platform version 1.4 or later.
Usage metrics
You can use CloudWatch usage metrics to provide visibility into your accounts usage of resources. Use these metrics to visualize your current service usage on CloudWatch graphs and dashboards.
AWS Fargate usage metrics correspond to AWS service quotas. You can configure alarms that alert you when your usage approaches a service quota. For more information about AWS Fargate service quotas, see AWS Fargate service quotas.
For more information about AWS Fargate usage metrics, see AWS Fargate usage metrics in the Amazon Elastic Container Service User Guide for AWS Fargate.