使用 Amazon ECS 双堆栈端点 - Amazon Elastic Container Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 Amazon ECS 双堆栈端点

Amazon ECS 双堆栈端点支持通过 Internet 协议版本 4(IPv4)和 Internet 协议版本 6(IPv6)向 Amazon ECS 发出请求。有关所有 Amazon ECS 端点的列表,请参阅 Amazon Web Services 一般参考 中的 Amazon ECS endpoints and quotas

当使用 REST API 时,您通过使用端点名称(URI)直接访问 Amazon ECS 端点。Amazon ECS 只支持区域双堆栈端点名称,这意味着,您必须在名称中指定区域。

对双堆栈端点名称使用以下命名约定:ecs.region.api.aws

如果使用 Amazon Command Line Interface(Amazon CLI)和 Amazon SDK,可使用参数或标志更改为双堆栈端点。您还可以在配置文件中直接将双堆栈端点指定为覆盖 Amazon ECS 端点。

下面几节介绍如何从 Amazon CLI、Amazon SDK 和 REST API 使用双堆栈端点。

从 Amazon CLI 使用双堆栈端点

本节提供用于向双堆栈端点发出请求的 Amazon CLI 命令示例。有关安装 Amazon CLI 或更新到最新版本的更多信息,请参阅《Amazon Command Line Interface 用户指南(版本 2)》中的安装或更新到最新版本的 Amazon CLI

要使用双堆栈端点,您可以在 Amazon CLI 的 config 文件中将配置值 use_dualstack_endpoint 设置为 true,以将 ecs Amazon CLI 命令发出的所有 Amazon ECS 请求定向到指定区域的双堆栈端点。您可以使用 --region 选项在 config 文件或命令中指定区域。有关 Amazon CLI 配置文件的更多信息,请参阅《Amazon Command Line Interface 用户指南(版本 2)》中的 Amazon CLI 中的配置和凭证文件设置

如果您想要对特定 Amazon CLI 命令使用双堆栈端点,则可以使用以下任一方法:

  • 您可以通过将任何 ecs 命令的 --endpoint-url 参数设置为 https://ecs.aws-region.api.awshttp://ecs.aws-region.api.aws 来对每条命令使用双堆栈端点。

    下面的示例命令列出了所有可用的集群并使用双堆栈端点处理请求。

    $ aws ecs list-clusters --endpoint-url https://ecs.aws-region.api.aws
  • 您可以在 Amazon Config 文件中设置单独的配置文件。例如,创建一个将 use_dualstack_endpoint 设置为 true 的配置文件和一个不设置 use_dualstack_endpoint 的配置文件。在运行命令时,根据是否需要使用双堆栈端点来指定要使用的配置文件。

从 Amazon SDK 使用双堆栈端点

本节提供一些示例,介绍如何使用 Amazon SDK 来访问双堆栈端点。

Amazon SDK for Java 2.x

下面的示例显示如何使用 Amazon SDK for Java 2.x 为 us-east-1 区域指定双堆栈端点。

Region region = Region.US_EAST_1 EcsClient client = EcsClient.builder().region(region).dualstackEnabled(true).build();
适用于 Go 的 Amazon SDK

下面的示例显示如何使用 适用于 Go 的 Amazon SDK 为 us-east-1 区域指定双堆栈端点。

sess := session.Must(session.NewSession()) svc := ecs.New(sess, &aws.Config{ Region: aws.String(endpoints.UsEast1RegionID), Endpoint: aws.String("https://ecs.us-east-1.api.aws") })

有关更多信息,请参阅《Amazon SDK 和工具参考指南》中的 Dual-stack and FIPS endpoints

从 REST API 使用双堆栈端点

使用 REST API 时,您可以通过在请求中指定双堆栈端点来直接访问它。下面的示例使用双堆栈端点列出 us-east-1 区域中的所有 Amazon ECS 集群。

POST / HTTP/1.1 Host: ecs.us-east-1.api.aws Accept-Encoding: identity Content-Length: 2 X-Amz-Target: AmazonEC2ContainerServiceV20141113.ListClusters X-Amz-Date: 20150429T170621Z Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS {}