

# 示例：用于测试环境的 VPC
<a name="vpc-example-dev-test"></a>

此示例将演示如何创建可用作开发或测试环境的 VPC。由于此 VPC 不旨在生产中使用，因此无需在多个可用区部署服务器。为了保持较低的成本和复杂性，您可以在单个可用区中部署服务器。

**Topics**
+ [概述](#overview-vpc-one-public-subnet)
+ [1. 创建 VPC](#create-vpc-one-public-subnet)
+ [2. 部署您的应用程序](#deploy-dev-test)
+ [3. 测试配置](#test-dev-test)
+ [4. 清理](#clean-up-dev-test)

## 概述
<a name="overview-vpc-one-public-subnet"></a>

下图概括了此例中包含的资源。此 VPC 在单个可用区中有一个公有子网，此外还有一个互联网网关。服务器是在公有子网中运行的一个 EC2 实例。该实例的安全组允许来自您自己计算机的 SSH 流量，以及您的开发或测试活动特别需要的任何其他流量。

![\[在单个可用区中具有一个公有子网的 VPC。\]](http://docs.aws.amazon.com/zh_cn/vpc/latest/userguide/images/vpc-example-dev-test.png)


### 路由
<a name="routing-vpc-one-public-subnet"></a>

当您使用 Amazon VPC 控制台创建此 VPC 时，我们会为公有子网创建一个路由表，其中包含本地路由和指向互联网网关的路由。以下是一个路由表示例，其中同时包含了 IPv4 和 IPv6 路由。如果您创建仅 IPv4 子网而不是双堆栈子网，则您的路由表中将仅包含 IPv4 路由。


| 目标位置 | 目标 | 
| --- | --- | 
| 10.0.0.0/16 | 本地 | 
| 2001:db8:1234:1a00::/56 | 本地 | 
| 0.0.0.0/0 | igw-id | 
| ::/0 | igw-id | 

### 安全性
<a name="security-vpc-one-public-subnet"></a>

在此示例配置中，您必须为实例创建允许应用程序所需流量的安全组。例如，您可能需要添加一条规则，允许来自计算机的 SSH 流量或来自网络的 HTTP 流量。

以下是一个安全组入站规则示例，其中同时包含了 IPv4 和 IPv6 的规则。如果您创建仅 IPv4 子网而不是双堆栈子网，则仅需要 IPv4 的规则。


| 来源 | 协议 | 端口范围 | 描述 | 
| --- | --- | --- | --- | 
| 0.0.0.0/0 | TCP | 80 | 允许从所有 IPv4 地址进行入站 HTTP 访问 | 
| ::/0 | TCP | 80 | 允许从所有 IPv6 地址进行入站 HTTP 访问 | 
| 0.0.0.0/0 | TCP | 443 | 允许从所有 IPv4 地址进行入站 HTTPS 访问 | 
| ::/0 | TCP | 443 | 允许从所有 IPv6 地址进行入站 HTTPS 访问 | 
| 您网络的公有 IPv4 地址范围 | TCP | 22 | （可选）允许来自您网络中 IPv4 IP 地址的入站 SSH 访问 | 
| 您网络的 IPv6 地址范围 | TCP | 22 | （可选）允许来自您网络中 IPv6 IP 地址的入站 SSH 访问 | 
| 您网络的公有 IPv4 地址范围 | TCP | 3389 | （可选）允许来自您网络中 IPv4 IP 地址的入站 RDP 访问 | 
| 您网络的 IPv6 地址范围 | TCP | 3389 | （可选）允许来自您网络中 IPv6 IP 地址的入站 RDP 访问 | 

## 1. 创建 VPC
<a name="create-vpc-one-public-subnet"></a>

按照以下过程创建在一个可用区内具有一个公有子网的 VPC。此配置适合开发或测试环境。

**创建 VPC**

1. 通过 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 打开 Amazon VPC 控制台。

1. 在控制面板上，选择**创建 VPC**。

1. 对于**要创建的资源**，选择 **VPC 等**。

1. **配置 VPC**

   1. 对于 **Name tag auto-generation**（名称标签自动生成），为 VPC 输入名称。

   1. 对于 **IPv4 CIDR 块**，您可以保留默认建议，也可以输入应用程序或网络所需的 CIDR 块。有关更多信息，请参阅 [VPC CIDR 块](vpc-cidr-blocks.md)。

   1. （可选）如果应用程序使用 IPv6 地址进行通信，则选择 **IPv6 CIDR 块**、**Amazon 提供的 IPv6 CIDR 块**。

1. **配置子网**

   1. 对于**可用区数量**，选择 **1**。您可以保留默认可用区，也可以展开**自定义可用区**并选择可用区。

   1. 对于 **Number of public subnets**（公有子网数量），选择 **1**。

   1. 对于 **Number of private subnets**（私有子网数量），选择 **0**。

   1. 您可以保留公有子网的默认 CIDR 块，也可以展开**自定义子网 CIDR 块**并输入 CIDR 块。有关更多信息，请参阅 [子网 CIDR 块](subnet-sizing.md)。

1. 对于 **NAT 网关**，请保留默认值（**无**）。

1. 对于 **VPC endpoints**（VPC 端点），选择 **None**（无）。S3 网关 VPC 端点仅用于从私有子网访问 Amazon S3。

1. 对于 **DNS 选项**，请同时选中这两个选项。这样可确保您的实例会收到与其公有 IP 地址对应的公有 DNS 主机名。

1. 选择**创建 VPC**。

## 2. 部署您的应用程序
<a name="deploy-dev-test"></a>

您可以通过多种方式来部署 EC2 实例。例如：
+ [Amazon EC2 启动实例向导](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html)
+ [Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/)
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/)
+ [Amazon Elastic Container Service（Amazon ECS）](https://docs.aws.amazon.com/ecs/)

部署 EC2 实例后，您可以连接到该实例，安装应用程序所需的软件，然后创建映像以备将来之用。有关更多信息，请参阅《Amazon EC2 用户指南》**中的[创建 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html)。您还可以使用 [EC2 Image Builder](https://aws.amazon.com/image-builder/) 来创建和管理您的亚马逊云机器镜像（AMI）。

## 3. 测试配置
<a name="test-dev-test"></a>

完成应用程序部署后，您可以对其进行测试。如果无法连接到您的 EC2 实例，或者应用程序无法按照预期发送或接收流量，您可以使用 Reacability Analyzer 来帮助排查问题。例如，Reachability Analyzer 可以识别路由表或安全组配置问题。有关更多信息，请参阅 [Reachability Analyzer 角色指南](https://docs.aws.amazon.com/vpc/latest/reachability/)。

## 4. 清理
<a name="clean-up-dev-test"></a>

完成此配置后，您可以将其删除。您必须首先终止实例，然后才能删除 VPC。有关更多信息，请参阅 [删除您的 VPC](delete-vpc.md)。