

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

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

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

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

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

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

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

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

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

1. 在 AWS 资源管理器的 **Amazon VPC** 节点中，打开**VPCs**子节点，然后选择**创建 VPC**。  
![\[AWS Explorer showing Amazon VPC node expanded with VPCs subnode highlighted.\]](http://docs.aws.amazon.com/zh_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 密钥对名称)** 中的私有子网，提供一个键前缀。此 key pair 用于执行从私有子网到公有互联网的网络地址转换的 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 密钥对名称)** 中的私有子网，提供一个键前缀。此 key pair 用于执行从私有子网到公有互联网的网络地址转换的 Amazon EC2 实例。选中 **Configure default security group to allow traffic to NAT (配置默认安全组以允许到 NAT 的流量)** 复选框。

   选择**确定**。  
![\[VPC creation form with public and private subnet options, CIDR blocks, and NAT settings.\]](http://docs.aws.amazon.com/zh_cn/toolkit-for-visual-studio/latest/user-guide/images/vpc-create.png)

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

![\[VPC list showing a single VPC named myDeploymentVPC with its ID and other details.\]](http://docs.aws.amazon.com/zh_cn/toolkit-for-visual-studio/latest/user-guide/images/vpc-created-display.png)


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

系统会自动为 NAT 实例创建一个 Amazon Elastic Block Store（Amazon EBS）卷。有关亚马逊 EBS 的更多信息，请参阅[亚马逊 Linux 实例* EC2 用户*指南中的亚马逊弹性区块存储 (EBS) 主题](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)。

![\[EC2 instance details showing a running NAT instance with an attached EBS volume.\]](http://docs.aws.amazon.com/zh_cn/toolkit-for-visual-studio/latest/user-guide/images/vpc-nat-instance.png)


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

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

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

![\[AWS Options dialog for EC2 deployment with container type, instance, VPC, and networking settings.\]](http://docs.aws.amazon.com/zh_cn/toolkit-for-visual-studio/latest/user-guide/images/deploy-pb-aeb-vpc-from-tkv.png)


 **删除 VPC** 

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

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

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

1. 删除 VPC 的 NAT 实例。

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

1. 在 **VPC** 选项卡上，选择 **Delete (删除)** 链接以删除 VPC。  
![\[VPC management interface showing Delete option highlighted for a selected VPC.\]](http://docs.aws.amazon.com/zh_cn/toolkit-for-visual-studio/latest/user-guide/images/vpc-delete-link.png)

1. 在 **Delete VPC (删除 VPC)** 对话框中，选择 **OK (确定)**。  
![\[Confirmation dialog for deleting a VPC, listing associated resources to be deleted.\]](http://docs.aws.amazon.com/zh_cn/toolkit-for-visual-studio/latest/user-guide/images/vpc-delete.png)