Amazon Elastic Container Service
开发人员指南 (API 版本 2014-11-13)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon 资源名称 (ARN) 和 ID

在创建 Amazon ECS 资源时,我们会为每个资源分配一个唯一的 Amazon 资源名称 (ARN) 和资源标识符 (ID)。如果您正在通过命令行工具或 Amazon ECS API 使用 Amazon ECS,则某些命令需要资源 ARN 或 ID。例如,如果您正在使用 stop-task AWS CLI 命令来停止任务,则必须在该命令中指定任务 ARN 或 ID。

我们将逐步介绍 Amazon ECS 任务、服务和容器实例的新 ARN 和资源 ID 格式。以下各部分介绍格式如何更改。有关转换为新格式的更多信息,请参阅 Amazon Elastic Container Service 常见问题

Amazon 资源名称 (ARN) 格式

一些资源具有易记名称(例如,名为 production 的服务)。但是,有时您需要使用 Amazon 资源名称 (ARN) 格式指定资源。我们将逐步介绍 Amazon ECS 任务、服务和容器实例的新 ARN 格式(其中包括集群名称)。有关如何选择使用新 ARN 格式的详细信息,请参阅使用账户设置

注意

新 ARN 格式在 GovCloud(美国东部)区域中不可用。

下表显示了每个资源类型的当前(旧)格式和新格式:

资源类型

ARN

容器实例

旧:arn:aws:ecs:region:aws_account_id:container-instance/container-instance-id

新:arn:aws:ecs:region:aws_account_id:container-instance/cluster-name/container-instance-id

Amazon ECS 服务

旧:arn:aws:ecs:region:aws_account_id:service/service-name

新:arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name

Amazon ECS 任务

旧:arn:aws:ecs:region:aws_account_id:task/task-id

新:arn:aws:ecs:region:aws_account_id:task/cluster-name/task-id

资源 ID 长度

资源 ID 采用字母和数字的唯一组合形式。我们将逐步介绍 Amazon ECS 任务和容器实例的长度更短的 ID。ID 的长度采用 36 个字符的格式;新 ID 采用不包括任何连字符的 32 个字符的格式。有关如何选择使用新资源 ID 格式的详细信息,请参阅使用账户设置

注意

新资源 ID 格式在 GovCloud(美国东部)区域中不可用。

时间表

新格式具有选择周期,在此周期内,您可以选择接受新格式。下面列出了与此更改相关的重要日期:

  • 从现在开始到 2019 年 3 月 31 日 – 选择使用新 Amazon 资源名称 (ARN) 和资源 ID 格式的选项开始。按区域提供了选择使用和选择不使用的功能。创建的任何新账户将默认选择不使用。

  • 2019 年 4 月 1 日 – 2019 年 12 月 31 日 – 所有新账户将默认选择使用。将继续按区域提供选择使用和选择不使用的功能。

  • 2020 年 1 月 1 日 – 所有账户将默认选择使用。创建的所有新资源将采用新格式。

在选择周期内,您可以随时选择使用或选择不使用新 Amazon 资源名称 (ARN) 和资源 ID 格式。在您选择使用后,您创建的任何新资源将使用新格式进行创建。

注意

资源 ID 在创建后不会更改。因此,在选择周期内选择使用或不使用新格式不会影响现有的资源 ID。

使用账户设置

对于每个区域,您可以在账户级别上或为特定 IAM 用户或角色选择使用或选择不使用新 ARN 和资源 ID 格式。下面是支持的方案:

  • IAM 用户或角色可以选择加入或退出其个人用户账户。

  • IAM 用户或角色可以为账户上的所有用户设置默认的选择加入或退出设置。

  • 根用户能够为账户中的任何特定 IAM 角色或用户选择使用或选择不使用。如果根用户的账户设置发生更改,则会为没有设置单独账户设置的所有 IAM 用户和角色设置默认设置。

必须为每个 Amazon ECS 资源单独设置选择加入和退出账户设置。资源的 ARN 和资源 ID 格式由创建了资源的 IAM 用户或角色的选择状态定义。

仅在选择使用后启动的资源将采用新 ARN 和资源 ID 格式。所有现有资源将保留其 ARN 和资源 ID 且不受影响。要使 Amazon ECS 服务和任务转换为新格式,必须重新创建服务或任务。要将容器实例转换为新格式,必须耗尽该容器实例,然后向集群注册一个新的容器实例。

注意

对于 Amazon ECS 服务启动的任务,仅在该服务是在 2018 年 11 月 16 日或之后创建的,并且创建该服务的 IAM 用户为任务选择使用新格式时,才能采用新 ARN 和资源 ID 格式。

查看账户设置

您可以使用 AWS 管理控制台和 AWS CLI 工具查看支持新 ARN 和 ID 格式的资源类型。

使用控制台查看账户设置

  1. https://console.amazonaws.cn/ecs/ 上打开 Amazon ECS 控制台。

  2. 在屏幕顶部的导航栏中,选择要查看其账户设置的区域。

  3. 从控制面板中的 Clusters (集群) 下,选择 Configure ECS ARN setting (配置 ECS ARN 设置)

  4. Amazon ECS ARN and resource ID settings (Amazon ECS ARN 和资源 ID 设置) 部分中,您可以查看经过身份验证的 IAM 用户和角色的每个资源类型的账户设置。

使用命令行查看账户设置

使用下列命令之一来查看账户设置。

  • list-account-settings (AWS CLI)

    aws ecs list-account-settings --effective-settings --region us-east-1
  • Get-ECSAccountSetting (适用于 Windows PowerShell 的 AWS 工具)

    Get-ECSAccountSetting -EffectiveSetting true -Region us-east-1

使用命令行查看特定 IAM 用户或 IAM 角色的账户设置

使用下列命令之一并在请求中指定 IAM 用户、IAM 角色或根账户用户的 ARN 来查看其账户设置。

  • list-account-settings (AWS CLI)

    aws ecs list-account-settings --principal-arn arn:aws:iam::aws_account_id:user/principalName --effective-settings --region us-east-1
  • Get-ECSAccountSetting (适用于 Windows PowerShell 的 AWS 工具)

    Get-ECSAccountSetting -PrincipalArn arn:aws:iam::aws_account_id:user/principalName -EffectiveSetting true -Region us-east-1

修改账户设置

您可以使用 AWS 管理控制台和 AWS CLI 工具修改仍在选择周期内的资源类型的账户设置。

使用控制台修改账户设置

  1. https://console.amazonaws.cn/ecs/ 上打开 Amazon ECS 控制台。

  2. 在屏幕顶部的导航栏中,选择您可以修改较长 ID 设置的区域。

  3. 从控制面板中,选择 Configure ECS ARN setting (配置 ECS ARN 设置)

  4. 要为每个受支持的资源类型启用新 ARN 和 ID 格式,请选择 My IAM user/role opt-in setting (我的 IAM 用户/角色选择使用设置) 列中的选项。这会更改经过身份验证的 IAM 用户的选择使用设置。

  5. 在确认屏幕上,选择 Confirm (确认) 以保存选择。

使用命令行修改账户中所有 IAM 用户或角色的默认账户设置

使用下列命令之一修改账户中所有 IAM 用户或角色的默认账户设置。这些更改将应用于整个 AWS 账户,除非一个 IAM 用户或角色显式覆盖自己的这些设置。

  • put-account-setting-default (AWS CLI)

    aws ecs put-account-setting-default --name serviceLongArnFormat --value enabled --region us-east-2

    您还可以使用该命令修改所有任务 (taskLongArnFormat) 和容器实例 (containerInstanceLongArnFormat) 的账户设置。为此,请将 name 参数替换为相应的资源类型。

  • Write-ECSAccountSetting (适用于 Windows PowerShell 的 AWS 工具)

    Write-ECSAccountSettingDefault -Name serviceLongArnFormat -Value enabled -Force

使用命令行修改您的 IAM 用户账户的账户设置

使用下列命令之一修改您的 IAM 用户的账户设置。如果您以根用户身份使用这些命令,则更改将应用于整个 AWS 账户,除非一个 IAM 用户或角色显式覆盖自己的这些设置。

  • put-account-setting (AWS CLI)

    aws ecs put-account-setting --name serviceLongArnFormat --value enabled --region us-east-1

    您还可以使用该命令修改所有任务 (taskLongArnFormat) 和容器实例 (containerInstanceLongArnFormat) 的账户设置。为此,请将 name 参数替换为相应的资源类型。

  • Write-ECSAccountSetting (适用于 Windows PowerShell 的 AWS 工具)

    Write-ECSAccountSetting -Name serviceLongArnFormat -Value enabled -Force

使用命令行修改特定 IAM 用户或 IAM 角色的账户设置

使用下列命令之一并在请求中指定 IAM 用户、IAM 角色或根账户用户的 ARN 来修改特定 IAM 用户或 IAM 角色的账户设置。

  • put-account-setting (AWS CLI)

    aws ecs put-account-setting --name serviceLongArnFormat --value enabled --principal-arn arn:aws:iam::aws_account_id:user/principalName --region us-east-1

    您还可以使用该命令修改所有任务 (taskLongArnFormat) 和容器实例 (containerInstanceLongArnFormat) 的账户设置。为此,请将 name 参数替换为相应的资源类型。

  • Write-ECSAccountSetting (适用于 Windows PowerShell 的 AWS 工具)

    Write-ECSAccountSetting -Name serviceLongArnFormat -Value enabled -PrincipalArn arn:aws:iam::aws_account_id:user/principalName -Force

本页内容: