

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon EC2 服务端点
<a name="ec2-endpoints"></a>

端点是用作 AWS Web 服务入口点的 URL。Amazon EC2 支持以下端点类型：
+ [IPv4 端点](#ipv4)
+ [双栈端点](#ipv6)（同时支持 IPv4 和 IPv6）
+ [FIPS 端点](https://docs.aws.amazon.com/general/latest/gr/rande.html#FIPS-endpoints)

当您发出请求时，您可以指定要使用的端点。如果您未指定终端节点，则默认使用该 IPv4 终端节点。要使用不同的端点类型，您必须在请求中指定。有关如何执行此操作的示例，请参阅[指定端点](#examples)。有关可用端点的列表，请参阅[各区域的服务端点](#service-endpoints)。

## IPv4 端点
<a name="ipv4"></a>

IPv4 端点仅支持 IPv4 流量。 IPv4 终端节点适用于所有区域。

如果您指定通用端点 `ec2.amazonaws.com`，则我们将端点用于 `us-east-1`。要使用其他区域，请指定其关联端点。例如，如果您指定 `ec2.us-east-2.amazonaws.com` 为端点，我们会将您的请求定向到 `us-east-2` 端点。

IPv4 端点名称使用以下命名约定：
+ `service.region.amazonaws.com`

例如，该`eu-west-1`区域的 IPv4 终端节点名称为`ec2.eu-west-1.amazonaws.com`。

## 双栈（IPv4 和 IPv6）端点
<a name="ipv6"></a>

双栈端点同时支持 IPv4 和 IPv6 流量。当您向双栈终端节点发出请求时，终端节点 URL 会解析为 IPv6 或 IPv4 地址，具体取决于您的网络和客户端使用的协议。

Amazon EC2 仅支持区域性的双堆栈端点，这意味着您必须在端点名称中指定所使用的区域。双堆栈端点名称使用以下命名约定：
+ `ec2.region.api.aws`

例如，`eu-west-1` 区域的双堆栈端点名称是 `ec2.eu-west-1.api.aws`。

## 各区域的服务端点
<a name="service-endpoints"></a>

以下是 Amazon EC2 的服务端点。有关区域的更多信息，请参阅《Amazon EC2 用户指南》**中的[区域和可用区](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html)。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/ec2/latest/devguide/ec2-endpoints.html)

## 指定端点
<a name="examples"></a>

本节提供了一些在发出请求时如何指定端点的示例。

------
#### [ AWS CLI ]

以下示例显示在使用 AWS CLI时，如何为 `us-east-2` 区域指定端点。
+ **双堆栈**

  ```
  aws ec2 describe-regions --region us-east-2 --endpoint-url https://ec2.us-east-2.api.aws
  ```
+ **IPv4**

  ```
  aws ec2 describe-regions --region us-east-2 --endpoint-url https://ec2.us-east-2.amazonaws.com
  ```

------
#### [ AWS SDK for Java 2.x ]

以下示例显示在使用 AWS SDK for Java 2.x时，如何为 `us-east-2` 区域指定端点。
+ **双堆栈**

  ```
  Ec2Client client = Ec2Client.builder()
      .region(Region.US_EAST_2)
      .endpointOverride(URI.create("https://ec2.us-east-2.api.aws"))
      .build();
  ```
+ **IPv4**

  ```
  Ec2Client client = Ec2Client.builder()
      .region(Region.US_EAST_2)
      .endpointOverride(URI.create("https://ec2.us-east-2.amazonaws.com"))
      .build();
  ```

------
#### [ 适用于 Java 的 AWS SDK 1.x ]

以下示例说明如何使用 适用于 Java 的 AWS SDK 1.x 为该`eu-west-1`区域指定终端节点。
+ **双堆栈**

  ```
  AmazonEC2 s3 = AmazonEC2ClientBuilder.standard()
       .withEndpointConfiguration(new EndpointConfiguration(
            "https://ec2.eu-west-1.api.aws",
            "eu-west-1"))
       .build();
  ```
+ **IPv4**

  ```
  AmazonEC2 s3 = AmazonEC2ClientBuilder.standard()
       .withEndpointConfiguration(new EndpointConfiguration(
            "https://ec2.eu-west-1.amazonaws.com",
            "eu-west-1"))
       .build();
  ```

------
#### [ AWS SDK for Go ]

以下示例显示在使用 适用于 Go 的 AWS SDK时，如何为 `us-east-1` 区域指定端点。
+ **双堆栈**

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

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

------