

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

# 设置 VPC 以与 Amazon Quick 配合使用
设置 VPC 以与 Amazon Quick 配合使用


|  | 
| --- |
|  适用于：企业版  | 


|  | 
| --- |
|    目标受众：系统管理员  | 

要设置与 Amazon Quick Enterprise 版配合使用的 VPC，您需要访问亚马逊 VPC 和 Amazon EC2。您还需要访问计划添加到 Quick Amazon 中的每项数据库服务。您可以使用控制台，也可以使用 Amazon Command Line Interface (Amazon CLI)。有关 CLI 的更多信息，请参阅《Amazon Command Line Interface 用户指南》[https://docs.amazonaws.cn/cli/latest/userguide/](https://docs.amazonaws.cn/cli/latest/userguide/)。要使用 CLI，请转至[https://aws.amazon.com/cli/](https://www.amazonaws.cn/cli/)。

在开始在 Amazon Quick 中设置 VPC 连接之前，请务必了解 VPC 部署的组成部分。作为其中的一部分，请熟悉 VPC 的子网和安全组，这些子网和安全组与您想要从 Amazon Quick 到达的目的地（数据库）相关。要成功设置 VPC 连接，请确保以下组件协同工作，允许网络流量在 Amazon Quick 和您的数据源之间传输：
+ Amazon VPC 服务
+ 您的数据来源正在使用的子网
+ Amazon Quick 弹性网络接口及其使用的子网
+ 路由表
+ 这些安全组的入站和出站规则：
  + 您 VPC 的安全组。我们建议您创建一个新的安全组，将 VPC 安全组上的规则与 Amazon Quick 网络接口的安全组中的规则隔离开来）。
  + 连接到 Amazon Quick 网络接口的安全组。
  + 附加到数据库服务器的安全组（针对要使用的每个数据库服务器）。
+ （可选）适用于私有 DNS 解析的 Amazon Route 53 Resolver 入站端点。

在以下主题中，您可以找到所涉及的网络组件。您还可以在您的 VPC 的网络配置和 Amazon Quick VPC 连接中找到他们角色的描述。在设置过程中自动创建的 Amazon Quick 网络接口称为 *Amazon Quick 网络接口* *(QNI)*。

如果您的 VPC 已完成配置，请跳至下一节 “[查找连接到 VPC 的信息](https://docs.amazonaws.cn/quicksight/latest/user/vpc-finding-setup-information.html)”。

**Topics**
+ [

# VPC
](vpc-amazon-virtual-private-cloud.md)
+ [

# 子网
](vpc-subnets.md)
+ [

# 安全组：入站和出站规则
](vpc-security-groups.md)
+ [

# 规则示例
](vpc-sample-rules.md)
+ [

# 路由表
](vpc-route-table.md)
+ [

# Amazon Quick 弹性网络接口
](vpc-qeni.md)
+ [

# Amazon Route 53 Resolver 的入站端点
](vpc-route-53.md)

# VPC


*虚拟私有云 (VPC)* 是专用于您的 Amazon 账户的虚拟网络。提供它的 Amazon VPC 服务是您的 Amazon 资源的网络层。使用 Amazon VPC，您可以在 Amazon 云中自己逻辑隔离的区域中定义虚拟网络。VPC 与您可能在自己的数据中心运行的传统网络非常相似，其优势在于使用 Amazon 可扩展的基础架构。适用于 Amazon EC2 虚拟计算环境的 Amazon VPC（称为*实例*）可用于各种 Amazon 资源。

VPCs 提供在安全环境中实现灵活性的选项，例如：
+ 要配置您的 VPC，您可以设置其 IP 地址范围、创建子网并配置路由表、网关、网络接口和安全设置。
+ 要使 Amazon 云成为数据中心的扩展，您可以将您的 VPC 连接到您自己的企业数据中心。
+ 您可以将 VPC 中自己的实例连接到互联网，或者将您的实例隔离在私有网络上。
+ 要保护每个子网中的资源，您可以使用多层安全措施，包括安全组和网络访问控制列表（ACLs）。

有关更多信息，请参阅[《Amazon VPC 用户指南》](https://docs.amazonaws.cn/vpc/latest/userguide/what-is-amazon-vpc.html)。

如果您有默认 VPC，并且在启动实例时未指定子网，则该实例将在您的默认 VPC 中启动。您可以将实例启动到默认 VPC 中，而无需对 Amazon VPC 有任何了解。

如果您还没有 VPC，或者您希望使用新的 VPC，可以按照《Amazon VPC 用户指南》**中的 [Amazon VPC 入门](https://docs.amazonaws.cn/vpc/latest/userguide/vpc-getting-started.html)中的说明创建一个 VPC。本节提供了有关如何设置 VPC 的指导。该指南包括公有子网和私有子网以及企业网络的 Amazon Site-to-Site VPN 访问选项（称为*本地访问*）。您也可以使用 VPC 对等连接或 Amazon Direct Connect 访问本地数据库实例。

**使用 Amazon CLI**

您可以使用 [https://docs.amazonaws.cn/cli/latest/reference/ec2/create-vpc.html](https://docs.amazonaws.cn/cli/latest/reference/ec2/create-vpc.html) 命令开始在 Amazon EC2 中设置 VPC。要了解有关 Amazon CLI的 VPC 设置的更多信息，请参阅《Amazon VPC 用户指南》**中的 [VPC 示例](https://docs.amazonaws.cn/vpc/latest/userguide/VPC_Scenarios.html)。

**使用 Amazon EC2 控制台**

要查看您的 VPC 或在 Amazon EC2 中创建新的 VPC，请登录 Amazon Web Services 管理控制台 并打开亚马逊 VPC 控制台，网址为[https://console.aws.amazon.com/vpc/](https://console.amazonaws.cn/vpc/)。要创建一个新的 VPC，请选择**启动 VPC 向导**并按照说明进行操作。记下您的新 VPC ID 以备将来参考。要查看 VPCs，请选择左 VPCs侧的 “**你**的”。

**VPC 指南和 Su Amazon pport 文章中的亚马逊 VPC 资源**

有关一般信息，请参阅[使用 VPCs和子网](https://docs.amazonaws.cn/vpc/latest/userguide/working-with-vpcs.html)。

有关设置 VPC 的 step-by-step说明，请参阅以下主题（选择与您的场景相关的主题）：
+ [使用创建 IPv4 VPC 和子网 Amazon CLI](https://docs.amazonaws.cn/vpc/latest/userguide/vpc-subnets-commands-example.html)
+ [共享公有子网和私有子网](https://docs.amazonaws.cn/vpc/latest/userguide/example-vpc-share.html)
+ [使用 site-to-site VPN](https://docs.amazonaws.cn/vpn/latest/s2svpn/working-with-site-site.html)
+ [Amazon Site-to-SiteVPN 网络管理员指南](https://docs.amazonaws.cn/vpc/latest/adminguide/Welcome.html)（请选择您的网络设备以获取具体说明）
+  [无边界网关协议的通用客户网关设备](https://docs.amazonaws.cn/vpc/latest/adminguide/GenericConfigNoBGP.html#DetailedViewCustomerGateway6)（建议用作客户网关）

如果希望将数据来源实例迁移到同一 VPC 中，请参阅以下 Amazon Support 文章：
+ [如何更改 Amazon RDS 数据库实例的 VPC？](https://www.amazonaws.cn/premiumsupport/knowledge-center/change-vpc-rds-db-instance/)
+ [如何将我的 EC2 实例移动到另一个子网、可用区或 VPC？](https://www.amazonaws.cn/premiumsupport/knowledge-center/move-ec2-instance/)
+ [如何将我的 Amazon Redshift 集群从一个 VPC 移动到另一个 VPC？](https://www.amazonaws.cn/premiumsupport/knowledge-center/move-redshift-cluster-vpcs/)

有关疑难解答信息，请参阅[如何排除 VPC 路由表的问题？](https://www.amazonaws.cn/premiumsupport/knowledge-center/troubleshoot-vpc-route-table/) ，一篇由 Support 创作的 Amazon 带有视频的文章。

# 子网


*子网*是您的 VPC 内的 IP 地址范围。要创建 VPC 连接，您需要至少提供两个子网。每个子网都必须属于不同的可用区。您可以将 Amazon 资源（例如 Amazon EC2 实例和 Amazon RDS 数据库实例）附加到子网。您可以根据自己的安全性和运营需求，创建子网以将实例分组在一起。

为了让 Amazon Quick 连接到您的数据库，网络需要将流量路由到您想要从 Amazon Quick 网络接口使用的子网之一访问的数据源。Amazon Quick 决定在后端路由流量要通过哪个子网。如果子网所连接的可用区域出现故障，Amazon Quick 会将流量重新路由到在 VPC 连接中配置的其他子网之一。如果数据源位于不同的子网上，请确保有从 Amazon Quick 网络接口到数据库实例的路由。默认情况下，VPC 中的每个子网都与一个主路由表相关联，并且可以访问其他子网。有关更多信息，请参阅 *Amazon VPC 用户指南 ACLs中的 VPC* [以及子网](https://docs.amazonaws.cn/vpc/latest/userguide/VPC_Subnets.html)和[网络](https://docs.amazonaws.cn/vpc//latest/userguide/vpc-connection-network-acls.html)。

如果您使用 Amazon RDS，则数据库实例与子网组相关联，您可以在 Amazon RDS 控制台 ([https://console.aws.amazon.com/rds/](https://console.amazonaws.cn/rds/)) 或 VPC 控制台中查看该子网组。要排除与 Amazon RDS 的连接故障，请参阅 Amazon 支持文章[如何对使用 VPC 的公有或私有子网的 Amazon RDS 实例的连接进行故障排除？](https://www.amazonaws.cn/premiumsupport/knowledge-center/rds-connectivity-instance-subnet-vpc/)

# 安全组：入站和出站规则


*安全组* 充当实例的虚拟防火墙以控制入站和出站流量。对于每个安全组，您可以添加规则以控制到实例的入站数据流，以及另外一套单独规则以控制出站数据流。

对于您的 VPC 连接，可以使用描述 `QuickSight-VPC` 创建一个新的安全组。此安全组必须允许来自要访问的数据目标的安全组的所有入站 TCP 流量。下例在 VPC 中创建新的安全组并返回其 ID。

```
aws ec2 create-security-group \
--group-name quicksight-vpc \
--description "QuickSight-VPC" \
--vpc-id vpc-0daeb67adda59e0cd
```

**重要**  
网络配置非常复杂，因此我们强烈建议您创建一个新的安全组以用于 Amazon Quick。此外，如果您需要联系 Amazon Support 以获得帮助，这样做也会较为简单。创建新组并不是绝对必要的。但是，以下主题是基于您遵循此建议的假设。

要让 Quick 成功连接到您的 VPC 中的实例，请配置您的安全组规则以允许 Amazon Quick 网络接口和包含您的数据的实例之间的流量。为此，请配置附加到您的数据库实例入站规则的安全组，以便允许以下流量：
+ 从 Amazon Quick 连接的端口
+ 来自以下选项之一：
  + 与 Amazon Quick 网络接口关联的安全组 ID（推荐） 

    或者
  + Amazon Quick 网络接口的私有 IP 地址

有关更多信息，请参阅 *Amazon VPC 用户指南中的您的 VPC VPCs * [[和子网](https://docs.amazonaws.cn/AmazonVPC/latest/UserGuide/VPC_Subnets.html)的安全组](https://docs.amazonaws.cn/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)。

使用下面列出的主题来了解有关入站和出站规则的更多信息。

**Topics**
+ [

## 入站规则
](#vpc-inbound-rules)
+ [

## 出站规则
](#vpc-outbound-rules)

## 入站规则


**重要**  
如果连接是在 2023 年 4 月 27 日之前创建的，则以下部分适用于您的 VPC 连接。

当您创建一个安全组时，它没有入站规则。在您向安全组添加入站规则之前，不允许来自另一台主机的入站流量传输到您的实例。

连接到 Amazon Quick 网络接口的安全组的行为与大多数安全组不同，因为它不是有状态的。其他安全组通常是*有状态的*。这意味着，在它们建立指向资源的安全组的出站连接后，将自动允许返回流量。相比之下，Amazon Quick 网络接口安全组不会自动允许返回流量。因此，向 Amazon Quick 网络接口安全组添加出口规则不起作用。要使其适用于 Amazon Quick 网络接口安全组，请务必添加一条入站规则，明确授权来自数据库主机的返回流量。

安全组中的入站规则必须允许所有端口上的流量。它之所以需要这样做，是因为任何入站返回数据包的目标端口号都设置为随机分配的端口号。

要限制 Amazon Quick 仅连接到某些实例，您可以指定要允许的实例的安全组 ID（推荐）或私有 IP 地址。无论在哪种情况下，您的安全组入站规则仍需要允许所有端口（0–65535）上的流量。

要允许 Amazon Quick 连接到 VPC 中的任何实例，您可以配置 Amazon Quick 网络接口安全组。在这种情况下，请为其提供一条入站规则，允许在所有端口（0–65535）上通过 0.0.0.0/0 的流量。Amazon Quick 网络接口使用的安全组应与用于数据库的安全组不同。我们建议您对 VPC 连接使用单独的安全组。

**重要**  
如果您使用的是长期 Amazon RDS 数据库实例，请检查您的配置，查看是否正在使用数据库安全组。数据库安全组用于不在 VPC 中但在 EC2-Classic 平台上的数据库实例。  
如果这是您的配置，并且您没有将数据库实例移至 VPC 以与 Amazon Quick 配合使用，请务必更新数据库安全组的入站规则。更新它们以允许来自你用于 Amazon Quick 的 VPC 安全组的入站流量。有关更多信息，请参阅 *Amazon RDS 用户指南*中的[使用安全组控制访问权限](https://docs.amazonaws.cn/AmazonRDS/latest/UserGuide/Overview.RDSSecurityGroups.html)。

## 出站规则


**重要**  
如果连接是在 2023 年 4 月 27 日之前创建的，则以下部分适用于您的 VPC 连接。

默认情况下，安全组包含允许所有出站流量的出站规则。我们建议您删除此默认规则，并添加只允许特定出站流量的出站规则。

**警告**  
请勿将 Amazon Quick 网络接口上的安全组配置为允许所有端口上的流量的出站规则。有关管理来自的网络出口流量的关键注意事项和建议的信息 VPCs，请参阅 *Amazon VPC 用户指南中的您的 VPC* [安全最佳实践](https://docs.amazonaws.cn/vpc/latest/userguide/vpc-security-best-practices.html)。

连接到 Amazon Quick 网络接口的安全组应具有出站规则，允许流量进入您希望 Amazon Quick 连接的 VPC 中的每个数据库实例。要限制 Amazon Quick 仅连接到某些实例，请指定允许的实例的安全组 ID（推荐）或私有 IP 地址。可以在出站规则中设置此选项，并且为您的实例设置适当的端口号（实例正在侦听的端口）。

VPC 安全组还必须允许流向数据目标安全组的出站流量，特别是数据库正在侦听的一个或多个端口上的流量。

# 规则示例


接下来，您可以找到 Amazon RDS 和 Amazon Redshift 入站和出站规则的一些示例配置。

## VPC 连接规则：Amazon Quick Sight：适用于 MySQL 的亚马逊 RDS


下表显示了将 Amazon Quick Sight 连接到 Amazon RDS for MySQL 的规则设置。


**Amazon Quick Sight 网络接口安全组：入站规则**  

|  |  | 
| --- |--- |
| Type | 所有 TCP | 
| 协议 | TCP | 
| 端口范围 | 0 - 65535 | 
| 来源 | sg-RDS11111111 | 
| 说明 | Amazon Quick Sight-MySQL | 


**Amazon Quick Sight 网络接口安全组：出站规则**  

|  |  | 
| --- |--- |
| Type | MYSQL/Aurora | 
| 协议 | TCP | 
| 端口范围 | 3306 | 
| 来源 | sg-RDS11111111 | 
| 说明 | Amazon Quick Sight to RDS | 


**RDS MySQL：入站规则**  

|  |  | 
| --- |--- |
| Type | MYSQL/Aurora | 
| 协议 | TCP | 
| 端口范围 | 3306 | 
| 来源 | sg-ENI3333333 | 
| 说明 | Amazon Quick Sight to RDS | 

## VPC 连接规则：亚马逊 Quick Sight 中的亚马逊 Redshift


下表显示了将 Amazon Quick Sight 连接到 Amazon Redshift 的规则设置。


**Amazon Quick Sight 网络接口安全组：入站规则**  

|  |  | 
| --- |--- |
| Type | 所有 TCP | 
| 协议 | TCP | 
| 端口范围 | 0 - 65535 | 
| 来源 | sg-RedSh 222222 | 
| 说明 | 亚马逊快速瞄准—亚马逊 Redshift | 


**Amazon Quick Sight 网络接口安全组：出站规则**  

|  |  | 
| --- |--- |
| Type | Amazon Redshift | 
| 协议 | TCP | 
| 端口范围 | 5439 | 
| 来源 | sg-RedSh 222222 | 
| 说明 | 亚马逊快速瞄准—亚马逊 Redshift | 


**Amazon Redshift：入站规则**  

|  |  | 
| --- |--- |
| Type | Amazon Redshift | 
| 协议 | TCP | 
| 端口范围 | 5439 | 
| 来源 | sg-ENI3333333 | 
| 说明 | 亚马逊快速瞄准—亚马逊 Redshift | 

# 路由表


要使用 VPC 对等互连或 Amazon Direct Connect 访问本地数据库实例，请更新与您在 Amazon Quick 中使用的 VPC 关联的路由表。有关路由表的更多信息，请参阅《Amazon VPC 用户指南》**中的[路由表](https://docs.amazonaws.cn/vpc/latest/userguide/VPC_Route_Tables.html)。

要了解有关 VPC 对等连接的更多信息以及查看示例场景和配置，请参阅《Amazon VPC 对等》**中的[什么是 VPC 对等？](https://docs.amazonaws.cn/vpc/latest/peering/what-is-vpc-peering.html)。有关配置示例，请参阅 *Amazon VPC 用户指南中的示例：使用 Amazon PrivateLink 和 VPC* [对等的服务](https://docs.amazonaws.cn/vpc/latest/userguide/vpc-peer-region-example.html)。

**使用 Amazon CLI**

以下示例会创建一个路由表。

```
aws ec2 create-route-table --vpc-id vpc-0daeb67adda59e0cd
```

您可以使用 `create-route` 命令创建路由。有关更多信息和示例，请参阅《*Amazon CLI 命令参考*》中的 [create-route](https://docs.amazonaws.cn/cli/latest/reference/ec2/create-route.html)。

要使以下示例起作用，请确保您在 VPC 中有一个与路由表关联的子网。第一个示例描述了含有指定 VPC ID 的路由表。第二个示例描述了含有指定路由表 ID 的路由表。

```
aws ec2 describe-route-tables \
--filters "Name=vpc-id,Values=vpc-0daeb67adda59e0cd" 

aws ec2 describe-route-tables \
--route-table-ids rtb-45ac473a
```

以下示例描述了某个特定 VPC 与您本地网关路由表之间的指定关联。

```
aws ec2 describe-local-gateway-route-table-vpc-associations
--filters "Name=vpc-id,Values=vpc-0daeb67adda59e0cd"
```

# Amazon Quick 弹性网络接口


*Amazon Quick 弹性网络接口*是 VPC 中的一个逻辑联网组件，代表虚拟网卡。Quick 至少创建两个这样的网络接口，用于基于与之相连的子网的 VPC 连接。然后，您将 VPC 连接添加到您创建的每个 Amazon Quick Sight 数据源。Quick 网络接口本身并不能让 Quick 直接访问您的数据库。VPC 连接仅适用于配置为使用它的 Amazon Quick Sight 数据源。

当您使用 Amazon Quick Sight 数据源查询您的 VPC 中的数据库或其他实例时，来自 Amazon Quick 的所有网络流量都来自此 Amazon Quick 网络接口。由于 Amazon Quick 网络接口存在于您的 VPC 内，因此来自该接口的流量可以使用其私有 IP 地址到达您的 VPC 内的目的地。每个 Amazon Quick 网络接口都有自己的私有 IP 地址，该地址来自您配置的子网。与公有 IP 范围不同，每个 Amazon 账户的私有 IP 地址唯一。

# Amazon Route 53 Resolver 的入站端点


*Amazon Route 53 Resolver* 为您的 VPC 提供 DNS 查询功能。Route 53 Resolver 解析所有本地 DNS 查询，并在公共 DNS 服务器上以递归方式查找所有非本地的 DNS 查询。

Amazon Quick 无法直接使用 Route 53 解析器来查询私有 DNS 服务器。但是，您可以设置 Route 53 Resolver 入站端点来间接进行这些查询。有关入站终端节点的更多信息，请参阅 R *oute 53 解析器开发者指南 VPCs*[中的将入站 DNS 查询转发](https://docs.amazonaws.cn/Route53/latest/DeveloperGuide/resolver-forwarding-inbound-queries.html)给您。要在 Amazon Quick 中使用入站终端节点，请在创建 VPC 连接时提供 **DNS 解析器终端节点**的终端节点的 IP 地址。