使用 Amazon ECS 双堆栈端点 - Amazon Elastic Container Service

使用 Amazon ECS 双堆栈端点

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

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

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

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

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

从 AWS CLI 使用双堆栈端点

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

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

如果您想要对特定 AWS 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
  • 您可以在 AWS Config 文件中设置单独的配置文件。例如,创建一个将 use_dualstack_endpoint 设置为 true 的配置文件和一个不设置 use_dualstack_endpoint 的配置文件。在运行命令时,根据是否需要使用双堆栈端点来指定要使用的配置文件。

从 AWS SDK 使用双堆栈端点

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

AWS SDK for Java 2.x

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

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

下面的示例显示如何使用 适用于 Go 的 AWS 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") })

有关更多信息,请参阅《AWS 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 {}