目标
通过创建一个新的 VPC 和子网,支持公有和私有网络配置,实现简单的网络架构搭建
步骤 1:创建 VPC
操作步骤:
-
登录 AWS 控制台,导航到 VPC Dashboard。
-
点击 Create VPC 按钮。
-
填写 VPC 信息:
- VPC Name:
devops-vpc - CIDR Block:
10.0.0.0/16(这个 CIDR 范围足以满足大多数中小型网络需求,提供65536个地址空间)。
- VPC Name:
-
选择 其他默认设置,点击 Create VPC。
遇到的问题:
- 默认情况下,AWS 会给你一个
/16的 CIDR 范围(即 10.0.0.0/16),这个范围包含了大量的 IP 地址。在很多情况下,我们会选择更小的 CIDR,例如/24,以限制网络大小。 - 你提到的问题是关于子网范围的修改(如何把
/16修改为/24)。
解决方法:
- 你可以在创建子网时,将 VPC 中默认的
/16范围进一步划分为多个/24范围,例如10.0.1.0/24,这样每个子网只有256个地址。确保为不同的用途(如公有子网和私有子网)配置不同的子网。
步骤 2:创建子网
操作步骤:
-
在 VPC Dashboard 中,选择刚刚创建的 VPC。
-
点击 Subnets,然后点击 Create Subnet。
-
填写子网信息:
- Subnet Name:
public-subnet-1 - Availability Zone: 选择一个可用区(例如 us-east-1a)。
- IPv4 CIDR Block:
10.0.1.0/24,这是公有子网的地址范围。 - 点击 Add Subnet。
- Subnet Name:
遇到的问题:
- 创建子网时,CIDR 块的选择很重要。你需要确保选择的 CIDR 块是 VPC CIDR 块的子集。
- 在某些情况下,可能会选择错误的可用区,导致网络分布不均匀。
解决方法:
- 确保你为每个子网选择正确的 CIDR 范围,且该范围不会超出你的 VPC CIDR。
- 如果你计划添加多个子网,建议为每个子网选择不同的可用区,以提高可用性。
步骤 3:创建路由表并添加规则
操作步骤:
-
在 Route Tables 中,点击 Create Route Table。
-
填写以下信息:
- Name:
public-route-table - VPC: 选择你创建的
devops-vpc。 - 点击 Create route table。
- Name:
-
创建完成后,选择新创建的路由表,点击 Edit routes,然后添加规则:
- Destination:
0.0.0.0/0 - Target: 选择 Internet Gateway,然后选择之前创建的
devops-igw。
- Destination:
遇到的问题:
- 如果没有正确关联路由表和子网,流量无法正常路由。
- 在设置路由时,忘记添加 Internet Gateway 作为目标,导致无法从 VPC 中访问公共网络。
解决方法:
- 确保路由表关联了正确的子网。
- 在 Route Table 中为目标
0.0.0.0/0添加 Internet Gateway 作为目标,这样公有子网中的实例可以访问互联网。
步骤 4:配置 Internet Gateway
操作步骤:
- 在 Internet Gateways 中,点击 Create Internet Gateway。
- 创建并命名为
devops-igw,然后点击 Attach to VPC。
遇到的问题:
- 如果没有正确附加到 VPC,实例将无法连接到互联网。
- 在某些情况下,可能忘记为 VPC 添加 Internet Gateway。
解决方法:
- 确保你已成功创建并附加 Internet Gateway。这样,你的 VPC 将能够与外界通信。
步骤 5:创建私有子网和路由表
操作步骤:
- 重复步骤 2,创建一个新的子网,命名为
private-subnet-1,并为其分配新的 CIDR 范围,如10.0.2.0/24。 - 在 Route Tables 中创建名为
private-route-table的路由表。 - 为 private-route-table 添加一条路由规则,指向 NAT Gateway(确保通过 NAT 网关将私有子网的流量转发到互联网)。
遇到的问题:
- 为私有子网配置路由时,如果没有正确设置 NAT Gateway,私有子网中的实例将无法访问互联网。
- 创建私有子网时,可能会错误地为它们配置公共路由。
解决方法:
- 对于私有子网,路由表应将
0.0.0.0/0的目标设置为 NAT Gateway,而不是 Internet Gateway。
在 AWS 上成功地配置一个 VPC 是 DevOps、云架构和网络管理的基础,掌握这些操作将为你打下扎实的云基础设施知识。