

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

# Amazon Virtual Private Cloud (VPC)
<a name="vpc-tkv"></a>

通过 Amazon Virtual Private Cloud（Amazon VPC），您可以将 Amazon Web Services 资源启动到您定义的虚拟网络中。该虚拟网络类似于您在数据中心中运行的传统网络，并具有使用 Amazon的可扩展基础设施的优势。有关更多信息，请转到 [Amazon VPC 用户指南](https://docs.amazonaws.cn/AmazonVPC/latest/UserGuide/)。

利用 Toolkit for Visual Studio，开发人员可以访问 VPC 功能，该功能类似于由 [Amazon Web Services 管理控制台](https://console.amazonaws.cn/console/home)公开的功能，但位于 Visual Studio 开发环境中。 Amazon Explorer 的 **Amazon VPC** 节点包括以下区域的子节点。
+  [VPCs](https://docs.amazonaws.cn/AmazonVPC/latest/UserGuide/VPC_Introduction.html) 
+  [子网](https://docs.amazonaws.cn/AmazonVPC/latest/UserGuide/VPC_Subnets.html) 
+  [弹性 IPs](https://docs.amazonaws.cn/AmazonVPC/latest/UserGuide/vpc-ip-addressing.html) 
+  [互联网网关](https://docs.amazonaws.cn/AmazonVPC/latest/UserGuide/VPC_Internet_Gateway.html) 
+  [Network ACLs](https://docs.amazonaws.cn/AmazonVPC/latest/UserGuide/VPC_ACLs.html) 
+  [路由表](https://docs.amazonaws.cn/AmazonVPC/latest/UserGuide/VPC_Route_Tables.html) 
+  [安全组](https://docs.amazonaws.cn/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html) 

## 创建用于部署的公共 VPC Amazon Elastic Beanstalk
<a name="tkv-vpc-pub-pri"></a>

本部分介绍如何创建同时包含公有子网和私有子网的 Amazon VPC。公有子网包含一个 Amazon EC2 实例，该实例将执行网络地址转换（NAT）以支持私有子网中的实例与公共 Internet 通信。两个子网必须位于同一可用区 (AZ)。

这是在 VPC 中部署 Amazon Elastic Beanstalk 环境所需的最低 VPC 配置。在这种情况下，托管您的应用程序的 Amazon EC2 实例位于私有子网中；将传入流量路由到您的应用程序的 Elastic Load Balancing 负载均衡器位于公有子网内。

有关网络地址转换（NAT）的更多信息，请参阅《[Amazon Virtual Private Cloud 用户指南](https://docs.amazonaws.cn/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)》中的 *NAT 实例*。有关如何将部署配置为使用 VPC 的示例，请参阅[部署到 Elastic Beanstalk](deployment-beanstalk.md#tkv-deploy-beanstalk)。

 **创建公有-私有子网 VPC** 

1. 在 Amazon 资源管理器的 **Amazon VPC** 节点中，打开**VPCs**子节点，然后选择**创建 VPC**。  
![Amazon 资源管理器导航树， Amazon VPC 展开显示选定 VPCs 子节点。](http://docs.amazonaws.cn/toolkit-for-visual-studio/latest/user-guide/images/vpc-vpcs-aws-explorer.png)

1. 按下面所示配置 VPC：
   + 键入 VPC 的名称。
   + 选中 **With Public Subnet (使用公有子网)** 和 **With Private Subnet (使用私有子网)** 复选框。
   + 从每个子网的 **Availability Zone (可用区)** 下拉列表框中，选择一个可用区。确保对两个子网使用相同的 AZ。
   + 对于 **NAT Key Pair Name (NAT 密钥对名称)** 中的私有子网，提供一个键前缀。此密钥对用于执行从私有子网到公共 Internet 的网络地址转换的 Amazon EC2 实例。
   + 选中 **Configure default security group to allow traffic to NAT (配置默认安全组以允许到 NAT 的流量)** 复选框。

   键入 VPC 的名称。选中 **With Public Subnet (使用公有子网)** 和 **With Private Subnet (使用私有子网)** 复选框。从每个子网的 **Availability Zone (可用区)** 下拉列表框中，选择一个可用区。确保对两个子网使用相同的 AZ。对于 **NAT Key Pair Name (NAT 密钥对名称)** 中的私有子网，提供一个键前缀。此密钥对用于执行从私有子网到公共 Internet 的网络地址转换的 Amazon EC2 实例。选中 **Configure default security group to allow traffic to NAT (配置默认安全组以允许到 NAT 的流量)** 复选框。

   选择**确定**。  
![创建 VPC 对话框，其中包含 VPC 名称、CIDR 块和子网的配置字段。](http://docs.amazonaws.cn/toolkit-for-visual-studio/latest/user-guide/images/vpc-create.png)

您可以在 Amazon 资源管理器的**VPCs**选项卡中查看新的 VPC。

![VPCs 选项卡显示 ID 为 vpc-1a2b3c4d 的 myDeploymentVPC 处于可用状态，CIDR 10.0.0.0/16。](http://docs.amazonaws.cn/toolkit-for-visual-studio/latest/user-guide/images/vpc-created-display.png)


启动 NAT 实例可能需要几分钟。当它可用时，您可以通过在 Amazon Explorer 中展开 **Amazon EC2** 节点，然后打开**实例**子节点来查看它。

系统会自动为 NAT 实例创建一个 Amazon Elastic Block Store（Amazon EBS）卷。有关 Amazon EBS 的更多信息，请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》**中的 [Amazon Elastic Block Store（Amazon EBS）](https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/AmazonEBS.html)主题。

![EC2 实例控制台在 us-west-2b 中显示正在运行的 NAT 实例，并附加 EBS 卷。](http://docs.amazonaws.cn/toolkit-for-visual-studio/latest/user-guide/images/vpc-nat-instance.png)


如果您将[应用程序部署到 Amazon Elastic Beanstalk 环境](deployment-beanstalk.md#tkv-deploy-beanstalk)并选择在 VPC 中启动该环境，则工具包将使用您的 VPC 的配置信息填充**发布到 Amazon Web Services**对话框。

Toolkit 仅使用在 Toolkit 中创建 VPCs 的信息填充对话框，而不是使用工具包 VPCs 创建的信息。 Amazon Web Services 管理控制台这是因为，当 Toolkit 创建 VPC 时，它将对 VPC 的组件进行标记，以便能够访问这些组件的信息。

来自部署向导的以下屏幕截图显示了一个对话框的示例，该对话框是使用来自在 Toolkit 中创建的 VPC 的值填充的。

![发布到包含 EC2 配置字段（包括 VPC、子网和安全设置）的 Amazon 对话框。](http://docs.amazonaws.cn/toolkit-for-visual-studio/latest/user-guide/images/deploy-pb-aeb-vpc-from-tkv.png)


 **删除 VPC** 

要删除 VPC，您必须先终止其中的所有 Amazon EC2 实例。

1. 如果您已将应用程序部署到 VPC 中的某个 Amazon Elastic Beanstalk 环境，请删除该环境。这将终止托管您的应用程序的所有 Amazon EC2 实例以及 Elastic Load Balancing 负载均衡器。

   如果您尝试直接终止托管您的应用程序的实例而不删除该环境，Auto Scaling 服务将自动创建新实例来替换删除的实例。有关更多信息，请访问 [Auto Scaling 开发人员指南](https://docs.amazonaws.cn/autoscaling/latest/userguide/WhatIsAutoScaling.html)。

1. 删除 VPC 的 NAT 实例。

   您无需删除与 NAT 实例关联的 Amazon EBS 卷即可删除 VPC。但是，如果您不删除卷，则会继续为其付费，即使您删除了 NAT 实例和 VPC 也是如此。

1. 在 **VPC** 选项卡上，选择 **Delete (删除)** 链接以删除 VPC。  
![美国俄勒冈西部 VPCs 选项卡，MyDeploymentVPC 条目旁边突出显示了删除按钮](http://docs.amazonaws.cn/toolkit-for-visual-studio/latest/user-guide/images/vpc-delete-link.png)

1. 在 **Delete VPC (删除 VPC)** 对话框中，选择 **OK (确定)**。  
![删除 VPC 对话框列出了要删除的关联对象，例如子网和路由表。](http://docs.amazonaws.cn/toolkit-for-visual-studio/latest/user-guide/images/vpc-delete.png)