通过账户设置访问 Amazon ECS 功能
您可以进入 Amazon ECS 账户设置以选择使用或选择不使用特定功能。对于每个 AWS 区域,您可以在账户级别或为特定用户或角色选择使用或选择不使用每个账户设置。
如果以下任何一项与您相关,您可能希望选择使用或选择不使用特定功能:
-
用户或角色可以为其个人账户选择使用或选择不使用特定账户设置。
-
用户或角色可以为账户上的所有用户设置默认选择使用或选择不使用设置。
-
根用户或具有管理员权限的用户可以选择使用或选择不使用账户上的任何特定角色或用户。如果根用户的账户设置发生更改,则会为未选择个人账户设置的所有用户和角色设置默认值。
注意
联合用户采用根用户的账户设置,并且不能单独为他们设置显式账户设置。
可供使用的账户设置如下:您必须单独选择使用还是不使用每个账户设置。
- Amazon Resource Names (ARN) 和 ID
-
资源名称:
serviceLongArnFormat
、taskLongArnFormat
和containerInstanceLongArnFormat
Amazon ECS 正在引入针对 Amazon ECS 服务、任务和容器实例的 Amazon Resource Name (ARN) 和资源 ID 的新格式。每种资源类型的选择使用状态决定资源使用的 Amazon 资源名称 (ARN) 格式。您必须选择使用新的 ARN 格式,以对该资源类型使用资源标记等功能。有关更多信息,请参阅 Amazon Resource Names (ARN) 和 ID。
默认为
enabled
。只有在选择进入后启动的资源才能接收新的 ARN 和资源 ID 格式。所有现有资源均不受影响。要使 Amazon ECS 服务和任务转换为新的 ARN 和资源 ID 格式,必须重新创建该服务或任务。要将容器实例转换为新 ARN 和资源 ID 格式,必须耗尽该容器实例,然后启动并向集群注册一个新的容器实例。
注意
对于 Amazon ECS 服务启动的任务,仅在该服务是在 2018 年 11 月 16 日或之后创建的,并且创建该服务的用户为任务选择使用新格式时,才能采用新 ARN 和资源 ID 格式。
- AWSVPC 中继
-
资源名称:
awsvpcTrunking
Amazon ECS 支持使用受支持的 Amazon EC2 实例类型来启动具有提高的弹性网络接口 (ENI) 密度的容器实例。当您使用这些实例类型并选择使用
awsvpcTrunking
账户设置时,其他 ENI 将在新启动的容器实例上可用。您可以使用此配置在每个容器实例上使用awsvpc
网络模式放置更多任务。使用此功能,启用awsvpcTrunking
的c5.large
实例的 ENI 限额增加了 10。容器实例将具有一个主网络接口,而 Amazon ECS 将创建一个“中继”网络接口并将此接口附加到容器实例。主网络接口和中继网络接口不计入 ENI 限额。因此,您可以使用此配置在容器实例上启动 10 个任务,而不是当前的两个任务。有关更多信息,请参阅 增加 Amazon ECS Linux 容器实例网络接口。默认为
disabled
。只有在选择加入后启动的资源才会收到增加的 ENI 限额。所有现有资源均不受影响。要将容器实例转换为增加的 ENI 限额,必须耗尽该容器实例,然后向集群注册一个新的容器实例。
- CloudWatch Container Insights
-
资源名称:
containerInsights
CloudWatch Container Insights 从容器化应用程序和微服务中收集、聚合和汇总指标与日志。指标包括资源的使用率,如 CPU、内存、磁盘和网络。Container Insights 还提供诊断信息(如容器重新启动失败),以帮助您查明问题并快速解决问题。您还可以设置 Container Insights 收集的指标的 CloudWatch 警报。有关更多信息,请参阅 使用 Container Insights 监控 Amazon ECS 容器。
当您选择使用
containerInsights
账户设置时,预设情况下,所有新集群都启用了容器见解。您可以在创建特定群集时对其禁用此设置。也可以使用更新集群设置 API 更改此设置。对于包含使用 EC2 启动类型的任务或服务的集群,容器实例必须运行 1.29.0 或更高版本的 Amazon ECS 代理才能使用 Container Insights。有关更多信息,请参阅 Amazon ECS Linux 容器实例管理。
默认为
disabled
。 - 双堆栈 VPC IPv6
-
资源名称:
dualStackIPv6
Amazon ECS 支持使用 IPv4 地址以外的 IPv6 地址提供任务。
要接收 IPv6 地址的任务,任务必须使用
awsvpc
网络模式,必须在配置为双堆栈模式的 VPC 中启动,dualStackIPv6
账户设置必须已启用。有关其他要求的更多信息,请参阅 在双堆栈模式下使用 VPC(EC2 启动类型)和 在双堆栈模式下使用 VPC(Fargate 启动类型)。重要
dualStackIPv6
账户设置只能使用 Amazon ECS API 或 AWS CLI 进行更改。有关更多信息,请参阅 修改 Amazon ECS 账户设置。如果您在 2020 年 10 月 1 日至 2020 年 11 月 2 日期间在启用 IPv6 的子网中使用
awsvpc
网络模式运行任务,则运行该任务的区域中的默认dualStackIPv6
账户设置为disabled
。如果不满足该条件,则区域中的默认dualStackIPv6
设置为enabled
。默认为
disabled
。 - Fargate FIPS-140 合规性
-
资源名称:
fargateFIPSMode
Fargate 支持美国联邦信息处理标准(FIPS-140),其中规定了对保护敏感信息的加密模块的安全要求。它是美国和加拿大政府的现行标准,适用于需要符合《联邦信息安全管理法》(FISMA)或联邦风险和授权管理计划(FedRAMP)的系统。
默认为
disabled
。您必须开启 FIPS-140 合规性。有关更多信息,请参阅 AWS Fargate 美国联邦信息处理标准(FIPS-140)。
重要
fargateFIPSMode
账户设置只能使用 Amazon ECS API 或 AWS CLI 进行更改。有关更多信息,请参阅 修改 Amazon ECS 账户设置。 - 标记资源授权
-
资源名称:
tagResourceAuthorization
某些 Amazon ECS API 操作允许您在创建资源时指定标签。
Amazon ECS 正在为资源创建引入标记授权。用户必须具有创建资源的操作的权限,例如
ecsCreateCluster
。如果在资源创建操作中指定了标签,则 AWS 会对ecs:TagResource
操作执行额外的授权,以验证用户或角色是否具备创建标签的权限。因此,您必须授予使用ecs:TagResource
操作的显式权限。有关更多信息,请参阅 在创建时授予标记资源的权限。 - Fargate 任务停用等待期
-
资源名称:
fargateTaskRetirementWaitPeriod
AWS 负责修补和维护 AWS Fargate 的底层基础设施。当 AWS 确定 Fargate 上托管的 Amazon ECS 任务需要进行安全或基础设施更新时,需要停止这些任务并启动新任务来替换它们。您可以对停用任务进行修补之前的等待时间进行配置。您可以选择立即停用该任务、等待 7 个日历日或等待 14 个日历日。
此设置于账户级别进行。
- 运行时监控激活
-
资源名称:
guardDutyActivate
guardDutyActivate
参数在 Amazon ECS 中是只读的,指示安全管理员在您的 Amazon ECS 账户中开启还是关闭运行时监控。GuardDuty 代表您控制此账户设置。有关更多信息,请参阅使用运行时监控保护 Amazon ECS 工作负载。
主题
Amazon Resource Names (ARN) 和 ID
在创建 Amazon ECS 资源时,将为每个资源分配一个唯一的 Amazon Resource Name (ARN) 和资源标识符 (ID)。如果通过命令行工具或 Amazon ECS API 使用 Amazon EC2,则某些命令需要资源 ARN 或 ID。例如,如果使用 stop-task AWS CLI 命令来停止任务,则必须在该命令中指定任务 ARN 或 ID。
您可以按区域选择使用和选择不使用新的 Amazon 资源名称 (ARN) 和资源 ID 格式。目前,预设情况下,所有创建的新账户都选择使用。
您可以随时选择使用或选择不使用新的 Amazon Resource Name (ARN) 和资源 ID 格式。在选择加入后,您创建的任何新资源都将使用新格式。
注意
资源 ID 在创建后不会更改。因此,选择使用或选择不使用新格式不会影响现有的资源 ID。
以下各部分介绍 ARN 和资源 ID 格式如何变化。有关转换为新格式的详细信息,请参阅 Amazon Elastic Container Service 常见问题
Amazon Resource Name (ARN) 格式
一些资源具有用户友好的名称,例如名为 production
的服务。在其他情况下,您必须使用 Amazon Resource Name (ARN) 格式指定资源。Amazon ECS 任务、服务和容器实例的新 ARN 格式包括集群名称。有关选择使用新 ARN 格式的信息,请参阅 修改 Amazon ECS 账户设置。
下表显示了每个资源类型的当前格式和新格式。
资源类型 |
ARN |
---|---|
容器实例 |
当前: 新: |
Amazon ECS 服务 |
当前: 新: |
Amazon ECS 任务 |
当前: 新: |
资源 ID 长度
资源 ID 采用字母和数字的唯一组合形式。新资源 ID 格式包括 Amazon ECS 任务和容器实例的更短 ID。当前资源 ID 格式的长度为 36 个字符。新 ID 采用 32 个字符的格式,不包含任何连字符。有关选择使用新资源 ID 格式的信息,请参阅 修改 Amazon ECS 账户设置。
ARN 和资源 ID 格式时间表
Amazon ECS 资源的新 Amazon 资源名称(ARN)和资源 ID 格式的选择使用和选择不使用周期的时间表于 2021 年 4 月 1 日结束。默认情况下,所有账户都选择使用新格式。所有新创建的资源都会采用新格式,您无法再选择不使用。
AWS Fargate 美国联邦信息处理标准(FIPS-140)合规性
您必须在 Fargate 上开启美国联邦信息处理标准(FIPS-140)合规性。有关更多信息,请参阅 AWS Fargate 美国联邦信息处理标准(FIPS-140)。
在 fargateFIPSMode
选项设置为 enabled
的情况下运行 put-account-setting-default
。有关更多信息,请参阅 Amazon Elastic Container Service API 参考中的 put-account-setting-default。
-
您可以使用以下命令开启 FIPS-140 合规性。
aws ecs put-account-setting-default --name fargateFIPSMode --value enabled
示例输出
{ "setting": { "name": "fargateFIPSMode", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:root", "type": user } }
您可以运行 list-account-settings
以查看当前的 FIPS-140 合规性状态。使用 effective-settings
选项以查看账户级别设置。
aws ecs list-account-settings --effective-settings
标记授权
Amazon ECS 正在为资源创建引入标记授权。用户必须具有创建资源的操作的标记权限,例如 ecsCreateCluster
。当您创建资源并为该资源指定标签时,AWS 会执行额外授权以验证是否有创建标签的权限。因此,您必须授予使用 ecs:TagResource
操作的显式权限。有关更多信息,请参阅 在创建时授予标记资源的权限。
要选择加入标记授权,请在 tagResourceAuthorization
选项设置为 enable
的情况下运行 put-account-setting-default
。有关更多信息,请参阅 Amazon Elastic Container Service API 参考中的 put-account-setting-default。您可以运行 list-account-settings
以查看当前的标记授权状态。
-
您可以使用以下命令启用标记授权。
aws ecs put-account-setting-default --name tagResourceAuthorization --value on --region
region
示例输出
{ "setting": { "name": "tagResourceAuthorization", "value": "on", "principalArn": "arn:aws:iam::123456789012:root", "type": user } }
启用标记授权后,您必须配置相应的权限,以允许用户在资源创建时标记资源。有关更多信息,请参阅 在创建时授予标记资源的权限。
您可以运行 list-account-settings
以查看当前的标记授权状态。使用 effective-settings
选项以查看账户级别设置。
aws ecs list-account-settings --effective-settings
标记授权时间表
您可以通过运行 list-account-settings
以查看 tagResourceAuthorization
值来确认标记授权是否处于活动状态。当值为 on
时,意味着标记授权在使用中。有关更多信息,请参阅 Amazon Elastic Container Service API 参考中的 list-account-settings。
以下是与标记授权相关的重要日期。
-
2023 年 4 月 18 日 – 引入标记授权。所有新账户和现有账户都必须选择使用该功能。您可以选择开始使用标记授权。选择加入后,您必须授予相应的权限。
-
2024 年 2 月 9 日 到 2024 年 3 月 6 日 – 默认情况下,所有新账户和未受影响的现有账户均已启用标记授权。您可以启用或禁用
tagResourceAuthorization
账户设置来验证您的 IAM 策略。AWS 已通知受影响的账户。
要禁用该功能,请在
tagResourceAuthorization
选项设置为off
的情况下运行put-account-setting-default
。 -
2024 年 3 月 7 日 – 如果您启用了标记授权,则无法再禁用该账户设置。
建议您在此日期之前完成 IAM 策略测试。
-
2024 年 3 月 29 日 – 所有账户均使用标记授权。Amazon ECS 控制台或 AWS CLI 中将不再提供账户级别设置。
AWS Fargate 任务停用等待时间
当您在标记为停用的平台版本修订版上运行 Fargate 任务时,AWS 会发出通知。有关更多信息,请参阅 Amazon ECS 上的 AWS Fargate 任务维护常见问题。
您可以对 Fargate 开始停用任务的时间进行配置。对于需要立即应用更新的工作负载,请选择即时设置(0
)。当您需要更多控制时,例如,当任务只能在特定时间段内停止时,请配置 7 天(7
)或 14 天(14
)选项。
建议您选择较短的等待时间,以便更快获得较新的平台版本修订版。
通过以根用户或管理员用户身份运行 put-account-setting-default
或 put-account-setting
配置等待期。将 fargateTaskRetirementWaitPeriod
选项用于设置为以下值之一的 name
和 value
选项:
-
0
- AWS 发送通知,并立即开始停用受影响的任务。 -
7
- AWS 发送通知,等待 7 个日历日后才开始停用受影响的任务。 -
14
- AWS 发送通知,等待 14 个日历日后才开始停用受影响的任务。
默认值为 7 天。
有关更多信息,请参阅《Amazon Elastic Container Service API 参考》中的 put-account-setting-default 和 put-account-setting。
您可运行以下命令将等待期设置为 14 天。
aws ecs put-account-setting-default --name fargateTaskRetirementWaitPeriod --value 14
示例输出
{
"setting": {
"name": "fargateTaskRetirementWaitPeriod",
"value": "14",
"principalArn": "arn:aws:iam::123456789012:root",
"type: user"
}
}
您可以运行 list-account-settings
以查看当前 Fargate 任务停用等待时间。使用 effective-settings
选项。
aws ecs list-account-settings --effective-settings
运行时监控(Amazon GuardDuty 集成)
运行时监控是一项智能威胁检测服务,它通过持续监控 AWS 日志和联网活动来识别恶意或未经授权的行为,从而保护在 Fargate 和 EC2 容器实例上运行的工作负载。
guardDutyActivate
参数在 Amazon ECS 中是只读的,指示安全管理员在您的 Amazon ECS 账户中开启还是关闭运行时监控。GuardDuty 代表您控制此账户设置。有关更多信息,请参阅使用运行时监控保护 Amazon ECS 工作负载。
您可以运行 list-account-settings
以查看当前 GuardDuty 集成设置。
aws ecs list-account-settings
示例输出
{
"setting": {
"name": "guardDutyActivate",
"value": "on",
"principalArn": "arn:aws:iam::123456789012:doej",
"type": aws-managed"
}
}