

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

# 通过访问 VPC 资源 AWS PrivateLink
<a name="privatelink-access-resources"></a>

您可以使用资源 VPC 端点（资源端点）私有访问其他 VPC 中的 VPC 资源。资源端点可让您私有且安全地访问 VPC 资源，例如数据库、Amazon EC2 实例、应用程序端点、域名目标或 IP 地址，这些资源可能位于其他 VPC 的私有子网或本地环境中。如果没有资源终端节点，则必须向 VPC 添加互联网网关，或者使用 AWS PrivateLink 接口终端节点和 Network Load Balancer 访问资源。资源端点不需要[负载均衡器](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html#loadbalancer)，因此您可以直接访问 VPC 资源。VPC 资源由资源配置代表。资源配置与资源网关关联。

**定价**  
当您使用资源端点访问资源时，按照预置资源 VPC 端点的每一小时计费。此外，还会按照访问资源时处理的数据 GB 数计费。有关更多信息，请参阅[AWS PrivateLink 定价](https://aws.amazon.com/privatelink/pricing/)。当您使用资源配置和资源网关启用对资源的访问时，将按照资源网关处理的 GB 数据计费。有关更多信息，请参阅[Amazon VPC Lattice 定价](https://aws.amazon.com/vpc/lattice/pricing/)。

**Topics**
+ [概述](#resource-endpoint-overview)
+ [DNS 主机名](#resource-endpoint-dns)
+ [DNS 解析](#resource-endpoint-dns-resolution)
+ [私有 DNS](#resource-endpoint-private-dns)
+ [子网和可用区](#resource-endpoint-subnets-zones)
+ [IP 地址类型](#resource-endpoint-ip-address-type)
+ [创建资源端点](use-resource-endpoint.md)
+ [管理资源端点](manage-resource-endpoint.md)
+ [资源配置](resource-configuration.md)
+ [资源网关](resource-gateway.md)

## 概述
<a name="resource-endpoint-overview"></a>

您可以访问账户中的资源或来自另一个账户与您共享的资源。要访问资源，您可以创建资源 VPC 端点，该端点使用网络接口在 VPC 中的子网与资源之间建立连接。使用 DNS 将发往资源的流量解析为资源端点网络接口的私有 IP 地址。然后，使用 VPC 端点和资源之间的连接，通过资源网关将流量发送到资源。

下图显示了使用者账户中的资源终端节点，该资源由另一个账户拥有并通过以下方式共享 AWS RAM：

![使用者 VPC 中的资源端点访问其他 VPC 中的资源。](http://docs.aws.amazon.com/zh_cn/vpc/latest/privatelink/images/access-resource-via-endpoint.png)


### 注意事项
<a name="resource-endpoint-considerations"></a>
+ 支持 TCP 流量。不支持 UDP 流量。
+ 必须从包含资源端点的 VPC 启动网络连接，而不是从拥有资源的 VPC 启动。资源的 VPC 无法启动与端点 VPC 的网络连接。
+ 唯一支持的 ARN-based 资源是 Amazon RDS 资源。
+ VPC 端点和资源网关必须至少有一个[可用区](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html#AZ)重叠。

## DNS 主机名
<a name="resource-endpoint-dns"></a>

使用 AWS PrivateLink，您可以使用私有终端节点向资源发送流量。当您创建资源 VPC 端点时，我们将创建您可用于与 VPC 和本地资源通信的区域 DNS 名称（称为默认 DNS 名称）。我们建议您使用 DNS 而不是端点 IP 来连接自己的资源。资源 VPC 端点的默认 DNS 名称的语法如下：

```
{{endpoint_id}}.{{rcfgId}}.{{randomHash}}.vpc-lattice-rsc.{{region}}.on.aws
```

在为使用 ARN 的特定资源配置创建资源 VPC 端点时，您可以启用[私有 DNS](privatelink-access-aws-services.md#interface-endpoint-private-dns)。使用私有 DNS，您可以使用 AWS 服务为资源配置的 DNS 名称继续向资源发出请求，同时通过资源 VPC 终端节点利用私有连接。有关更多信息，请参阅 [DNS 解析](#resource-endpoint-dns-resolution)。

以下 [describe-vpc-endpoint-associations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoint-associations.html) 命令显示资源端点的 DNS 条目。

```
aws ec2 describe-vpc-endpoint-associations --vpc-endpoint-id {{vpce-123456789abcdefgh}} --query 'VpcEndpointAssociations[*].*'
```

以下是启用私有 DNS 名称的 Amazon RDS 数据库的资源端点输出示例。第一个 DNS 名称是默认 DNS 名称。第二个 DNS 名称来自隐藏的私有托管区，该区域可将对公有端点的请求解析为端点网络接口的私有 IP 地址。

```
[
    [
        "vpce-rsc-asc-abcd1234abcd",
        "vpce-123456789abcdefgh",
        "Accessible",
        {
            "DnsName": "vpce-{{1234567890abcdefg}}-snra-{{1234567890abcdefg}}.rcfg-{{abcdefgh123456789}}.{{4232ccc}}.vpc-lattice-rsc.{{us-east-1}}.on.aws",
            "HostedZoneId": "ABCDEFGH123456789000"
        },
        {
            "DnsName": "{{database-5-test.cluster-ro-example}}.{{us-east-1}}.rds.amazonaws.com",
            "HostedZoneId": "A1B2CD3E4F5G6H8I91234"
        },
        "arn:aws:vpc-lattice:us-east-1:111122223333:resourceconfiguration/rcfg-1234567890abcdefg",
        "arn:aws:vpc-lattice:us-east-1:111122223333:resourceconfiguration/rcfg-1234567890xyz"
    ]
]
```

## DNS 解析
<a name="resource-endpoint-dns-resolution"></a>

我们为您的资源 VPC 端点创建的 DNS 记录是公有的。因此，这些 DNS 名称可公开解析。但是，来自 VPC 外部的 DNS 请求仍会返回资源端点网络接口的私有 IP 地址。只要您可以通过 VPN 或 Direct Connect 访问资源端点所在的 VPC，就可以使用这些 DNS 名称从本地访问资源。

## 私有 DNS
<a name="resource-endpoint-private-dns"></a>

如果您为使用 ARN 的特定资源配置启用资源 VPC 终端节点私有 DNS，并且您的 VPC 同时启用了 [DNS 主机名和 DNS 解析，则我们会使用自定义 DNS 名称](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html#vpc-dns-updating)为资源配置创建隐藏的托 AWS管私有托管区域。托管区包含资源的默认 DNS 名称的记录集，用于解析为您 VPC 中的资源端点网络接口的私有 IP 地址。

Amazon 为您的 VPC 提供 DNS 服务器，称为 [Route 53 Resolver](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver.html)。Route 53 Resolver 自动解析私有托管区域中的本地 VPC 域名和记录。但是，您不能从 VPC 外部使用 Route 53 Resolver。如果要从本地网络访问您的 VPC 端点，则可以使用自定义 DNS 名称或 Route 53 Resolver 端点和解析器规则。有关更多信息，请参阅[AWS Transit Gateway 与 AWS PrivateLink 和集成 Amazon Route 53 Resolver](https://aws.amazon.com/blogs/networking-and-content-delivery/integrating-aws-transit-gateway-with-aws-privatelink-and-amazon-route-53-resolver/)。

## 子网和可用区
<a name="resource-endpoint-subnets-zones"></a>

您可以配置 VPC 端点，每个可用区中有一个子网。我们将在您的子网中为 VPC 端点创建一个端点网络接口。我们将根据 VPC 端点的 [IP 地址类型](#resource-endpoint-ip-address-type)，为其子网中的每个端点网络接口分配 IP 地址。在生产环境中，为提高可用性和弹性，我们建议为每个 VPC 端点配置至少两个可用区。

## IP 地址类型
<a name="resource-endpoint-ip-address-type"></a>

资源端点可以支持 IPv4、IPv6 或双堆栈地址。支持 IPv6 的端点可以使用 AAAA 记录响应 DNS 查询。资源端点的 IP 地址类型必须与资源端点的子网兼容，如下所述：
+ **IPv4** – 将 IPv4 地址分配给端点网络接口。仅当所有选定子网都具有 IPv4 地址范围时，才支持此选项。
+ **IPv6** – 将 IPv6 地址分配给端点网络接口。仅当所有选定子网均为仅限 IPv6 的子网时，才支持此选项。
+ **Dualstack**（双堆栈）– 将 IPv4 和 IPv6 地址分配给端点网络接口。仅当所有选定子网都具有 IPv4 和 IPv6 地址范围时，才支持此选项。

如果资源 VPC 端点支持 IPv4，则端点网络接口具有 IPv4 地址。如果资源 VPC 端点支持 IPv6，则端点网络接口具有 IPv6 地址。无法从互联网访问端点网络接口的 IPv6 地址。如果您使用 IPv6 地址描述端点网络接口，请注意已启用 `denyAllIgwTraffic`。