Access Amazon ECS features with account settings
You can go into Amazon ECS account settings to opt in or out of specific features. For each AWS Region, you can opt in to, or opt out of, each account setting at the account-level or for a specific user or role.
You might want to opt in or out of specific features if any of the following is relevant to you:
-
A user or role can opt in or opt out specific account settings for their individual account.
-
A user or role can set the default opt-in or opt-out setting for all users on the account.
-
The root user or a user with administrator privileges can opt in to, or opt out of, any specific role or user on the account. If the account setting for the root user is changed, it sets the default for all the users and roles that no individual account setting was selected for.
Note
Federated users assume the account setting of the root user and can't have explicit account settings set for them separately.
The following account settings are available. You must separately opt-in and opt-out to each account setting.
Resource name | Learn more |
---|---|
containerInsights |
Container Insights |
serviceLongArnFormat
|
Amazon Resource Names (ARNs) and IDs |
tagResourceAuthorization |
Tagging authorization |
fargateFIPSMode |
AWS Fargate Federal Information Processing Standard (FIPS-140) compliance |
fargateTaskRetirementWaitPeriod |
AWS Fargate task retirement wait time |
guardDutyActivate |
Runtime Monitoring (Amazon GuardDuty integration) |
dualStackIPv6 |
Dual stack IPv6 VPC |
awsvpcTrunking |
Increase Linux container instance network interfaces |
Amazon Resource Names (ARNs) and IDs
When Amazon ECS resources are created, each resource is assigned a unique Amazon Resource Name (ARN) and resource identifier (ID). If you use a command line tool or the Amazon ECS API to work with Amazon ECS, resource ARNs or IDs are required for certain commands. For example, if you use the stop-task AWS CLI command to stop a task, you must specify the task ARN or ID in the command.
Amazon ECS is introducing a new format for Amazon Resource Names (ARNs) and resource IDs for Amazon ECS services, tasks, and container instances. The opt-in status for each resource type determines the Amazon Resource Name (ARN) format the resource uses. You must opt in to the new ARN format to use features such as resource tagging for that resource type.
You can opt in to and opt out of the new Amazon Resource Name (ARN) and resource ID format on a per-Region basis. Currently, any new account created is opted in by default.
You can opt in or opt out of the new Amazon Resource Name (ARN) and resource ID format at any time. After you opt in, any new resources that you create use the new format.
Note
A resource ID doesn't change after it's created. Therefore, opting in or out of the new format doesn't affect your existing resource IDs.
The following sections describe how ARN and resource ID formats are changing. For more
information about the transition to the new formats, see Amazon Elastic Container Service FAQ
Amazon Resource Name (ARN) format
Some resources have a user-friendly name, such as a service named
production
. In other cases, you must specify a resource using the
Amazon Resource Name (ARN) format. The new ARN format for Amazon ECS tasks, services, and
container instances includes the cluster name. For information about opting in to
the new ARN format, see Modifying Amazon ECS account settings.
The following table shows both the current format and the new format for each resource type.
Resource type | ARN |
---|---|
Container instance |
Current:
New:
|
Amazon ECS service |
Current:
New:
|
Amazon ECS task |
Current:
New:
|
Resource ID length
A resource ID takes the form of a unique combination of letters and numbers. New resource ID formats include shorter IDs for Amazon ECS tasks and container instances. The current resource ID format is 36 characters long. The new IDs are in a 32-character format that doesn't include any hyphens. For information about opting in to the new resource ID format, see Modifying Amazon ECS account settings.
The default is enabled
.
Only resources launched after opting in receive the new ARN and resource ID format. All existing resources aren't affected. For Amazon ECS services and tasks to transition to the new ARN and resource ID formats, you must recreate the service or task. To transition a container instance to the new ARN and resource ID format, the container instance must be drained and a new container instance must be launched and registered to the cluster.
Note
Tasks launched by an Amazon ECS service can only receive the new ARN and resource ID format if the service was created on or after November 16, 2018, and the user who created the service has opted in to the new format for tasks.
ARN and resource ID format timeline
The timeline for the opt-in and opt-out periods for the new Amazon Resource Name (ARN) and resource ID format for Amazon ECS resources ended on April 1, 2021. By default, all accounts are opted in to the new format. All new resources created receive the new format, and you can no longer opt out.
Container Insights
CloudWatch Container Insights collects, aggregates, and summarizes metrics and logs from your containerized applications and microservices. The metrics include utilization for resources such as CPU, memory, disk, and network. Container Insights also provides diagnostic information, such as container restart failures, to help you isolate issues and resolve them quickly. You can also set CloudWatch alarms on metrics that Container Insights collects. For more information, see Monitor Amazon ECS containers using Container Insights.
When you opt in to the containerInsights
account setting, all
new clusters have Container Insights enabled by default. You can disable
this setting for specific clusters when you create them. You can also change
this setting by using the UpdateClusterSettings API.
For clusters that contain tasks or services using the EC2 launch type, your container instances must run version 1.29.0 or later of the Amazon ECS agent to use Container Insights. For more information, see Amazon ECS Linux container instance management.
The default is disabled
.
AWS Fargate Federal Information Processing Standard (FIPS-140) compliance
Fargate supports the Federal Information Processing Standard (FIPS-140) which specifies the security requirements for cryptographic modules that protect sensitive information. It is the current United States and Canadian government standard, and is applicable to systems that are required to be compliant with Federal Information Security Management Act (FISMA) or Federal Risk and Authorization Management Program (FedRAMP).
The resource name is
The default is disabled
.
You must turn on FIPS-140 compliance. For more information, see AWS Fargate Federal Information Processing Standard (FIPS-140).
Important
The fargateFIPSMode
account setting can only be changed using either
the Amazon ECS API or the AWS CLI. For more information, see Modifying Amazon ECS account settings.
You must turn on Federal Information Processing Standard (FIPS-140) compliance on Fargate. For more information, see AWS Fargate Federal Information Processing Standard (FIPS-140).
Run put-account-setting-default
with the fargateFIPSMode
option set to enabled
. For more information, see, put-account-setting-default in the Amazon Elastic Container Service API Reference.
-
You can use the following command to turn on FIPS-140 compliance.
aws ecs put-account-setting-default --name fargateFIPSMode --value enabled
Example output
{ "setting": { "name": "fargateFIPSMode", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:root", "type": user } }
You can run list-account-settings
to view the current FIPS-140 compliance
status. Use the effective-settings
option to view the account level
settings.
aws ecs list-account-settings --effective-settings
Tagging authorization
Amazon ECS is introducing tagging authorization for resource creation. Users must have tagging
permissions for actions that create the resource, such as ecsCreateCluster
.
When you create a resource and specify tags for that resource, AWS performs additional
authorization to verify that there are permissions to create tags. Therefore, you must
grant explicit permissions to use the ecs:TagResource
action. For more
information, see Grant permission to tag resources on
creation.
In order to opt in to tagging authorization, run
put-account-setting-default
with the
tagResourceAuthorization
option set to enable
. For more
information, see, put-account-setting-default in the Amazon Elastic Container Service API Reference. You can run list-account-settings
to view
the current tagging authorization status.
-
You can use the following command to enable tagging authorization.
aws ecs put-account-setting-default --name tagResourceAuthorization --value on --region
region
Example output
{ "setting": { "name": "tagResourceAuthorization", "value": "on", "principalArn": "arn:aws:iam::123456789012:root", "type": user } }
After you enable tagging authorization, you must configure the appropriate permissions to allow users to tag resources on creation. For more information, see Grant permission to tag resources on creation.
You can run list-account-settings
to view the current tagging
authorization status. Use the effective-settings
option to view the account
level settings.
aws ecs list-account-settings --effective-settings
Tagging authorization timeline
You can confirm whether tagging authorization is active by running
list-account-settings
to view the tagResourceAuthorization
value. When the value is on
, it means that the tagging authorization is in
use. For more information, see, list-account-settings in the Amazon Elastic Container Service API Reference.
The following are the important dates related to tagging authorization.
-
April 18, 2023 – Tagging authorization is introduced. All new and existing accounts must opt in to use the feature. You can opt in to start using tagging authorization. By opting in, you must grant the appropriate permissions.
-
February 9, 2024 - March 6, 2024 – All new accounts and non-impacted existing accounts have tagging authorization on by default. You can enable or disable the
tagResourceAuthorization
account setting to verify your IAM policy.AWS has notified impacted accounts.
To disable the feature, run
put-account-setting-default
with thetagResourceAuthorization
option set tooff
. -
March 7, 2024 – If you have enabled tagging authorization, you can no longer disable the account setting.
We recommend that you complete your IAM policy testing before this date.
-
March 29, 2024 – All accounts use tagging authorization. The account-level setting will no longer be available in the Amazon ECS console or AWS CLI.
AWS Fargate task retirement wait time
AWS sends out notifications when you have Fargate tasks running on a platform version revision marked for retirement. For more information, see Task retirement and maintenance for AWS Fargate on Amazon ECS .
AWS is responsible for patching and maintaining the underlying infrastructure for AWS Fargate. When AWS determines that a security or infrastructure update is needed for an Amazon ECS task hosted on Fargate, the tasks need to be stopped and new tasks launched to replace them. You can configure the wait period before tasks are retired for patching. You have the option to retire the task immediately, to wait 7 calendar days, or to wait 14 calendar days.
This setting is at the account-level.
You can configure the time that Fargate starts the task retirement. For workloads
that require immediate application of the updates, choose the
immediate setting (0
). When you need more control, for example,
when a task can only be stopped during a certain window, configure the 7 day
(7
), or 14 day (14
) option.
We recommend that you choose a shorter waiting period in order to pick up newer platform versions revisions sooner.
Configure the wait period by running
put-account-setting-default
or put-account-setting
as the root user or an administrative user. Use the
fargateTaskRetirementWaitPeriod
option for the name
and the value
option set to one of the following values:
-
0
- AWS sends the notification, and immediately starts to retire the affected tasks. -
7
- AWS sends the notification, and waits 7 calendar days before starting to retire the affected tasks. -
14
- AWS sends the notification, and waits 14 calendar days before starting to retire the affected tasks.
The default is 7 days.
For more information, see, put-account-setting-default and put-account-setting in the Amazon Elastic Container Service API Reference.
You can run the following command to set the wait period to 14 days.
aws ecs put-account-setting-default --name fargateTaskRetirementWaitPeriod --value 14
Example output
{
"setting": {
"name": "fargateTaskRetirementWaitPeriod",
"value": "14",
"principalArn": "arn:aws:iam::123456789012:root",
"type: user"
}
}
You can run list-account-settings
to view the current Fargate task
retirement wait time. Use the effective-settings
option.
aws ecs list-account-settings --effective-settings
Increase Linux container instance network interfaces
Each Amazon ECS task that uses the awsvpc
network mode receives its own
elastic network interface (ENI), which is attached to the container
instance that hosts it. There is a default limit to the number of network interfaces
that can be attached to an Amazon EC2 instance, and the primary network interface counts as
one. For example, by default a c5.large
instance may have up to three ENIs
attached to it. The primary network interface for the instance counts as one, so you can
attach an additional two ENIs to the instance. Because each task using the
awsvpc
network mode requires an ENI, you can typically
only run two such tasks on this instance type.
Amazon ECS supports launching container instances with increased ENI density
using supported Amazon EC2 instance types. When you use these instance types and turn on the
awsvpcTrunking
account setting, additional ENIs are available on newly
launched container instances. This configuration allows you to place more tasks on each
container instance.
For example, a c5.large
instance with awsvpcTrunking
has an
increased ENI limit of twelve. The container instance will have the
primary network interface and Amazon ECS creates and attaches a "trunk" network interface to
the container instance. So this configuration allows you to launch ten tasks on the
container instance instead of the current two tasks.
Runtime Monitoring (Amazon GuardDuty integration)
Runtime Monitoring is an intelligent threat detection service that protects workloads running on Fargate and EC2 container instances by continuously monitoring AWS log and networking activity to identify malicious or unauthorized behavior.
The guardDutyActivate
parameter is read-only in Amazon ECS and indicates whether
Runtime Monitoring is turned on or off by your security administrator in your
Amazon ECS account. GuardDuty controls this account setting on your behalf. For more information, see Protecting Amazon ECS workloads with Runtime Monitoring.
You can run list-account-settings
to view the current GuardDuty integration
setting.
aws ecs list-account-settings
Example output
{
"setting": {
"name": "guardDutyActivate",
"value": "on",
"principalArn": "arn:aws:iam::123456789012:doej",
"type": aws-managed"
}
}
Dual stack IPv6 VPC
Amazon ECS supports providing tasks with an IPv6 address in addition to the primary private IPv4 address.
For tasks to receive an IPv6 address, the task must use the
awsvpc
network mode, must be launched in a VPC configured for
dual-stack mode, and the dualStackIPv6
account setting must be
enabled. For more information about other requirements, see Using a VPC in dual-stack
mode for the EC2 launch type and Using a VPC in dual-stack
mode for the Fargate launch type.
Important
The dualStackIPv6
account setting can only be changed using
either the Amazon ECS API or the AWS CLI. For more information, see Modifying Amazon ECS account settings.
If you had a running task using the awsvpc
network mode in an IPv6
enabled subnet between the dates of October 1, 2020 and November 2, 2020, the default
dualStackIPv6
account setting in the Region that the
task was running in is disabled
. If that condition isn't met, the default
dualStackIPv6
setting in the Region is
enabled
.
The default is disabled
.