=== Amazon Virtual Private Cloud
- 借助 Amazon VPC,我们可以在隔离的网络中启动 AWS 资源,该网络由我们在更私密、更安全的环境中定义。
- 此功能使我们能够提高 AWS 资源的安全级别。
- 可以使用多层 VPC 保护 AWS 资源,其中包括安全组和网络访问控制列表。
- VPC 安全组在实例级别提供安全性,其作用类似于防火墙,并控制入站和出站流量。
- VPC NACL 在网络级别(即子网级别)提供安全性,其作用类似于关联子网的防火墙,并控制入站和出站流量。
=== 架构图
== 实验步骤
=== 创建新的VPC
- 请确保您位于美国东部(弗吉尼亚北部)us-east-1 区域
- 顶部菜单导航到 VPC
- 单击左侧菜单中的您的 VPC
- 在这里,您可以看到所有 VPC 的列表,无需对现有和默认 VPC 执行任何操作,我们将创建一个新的 VPC。
- 单击
创建 VPC
按钮。
- 名称标签: 输入用于向您的 VPC 标识的 VPC 名称。例如:MyVPC
- IPv4 CIDR 块: 输入 10.0.0.0/16
- IPv6 CIDR 块: 无需更改此设置,请确保选中"无 IPv6 CIDR 块"
- 租期: 无需更改此设置,请确保选中"默认"。
- 现在单击
创建 VPC
按钮
- 创建VPC后,它将显示详细信息,如下所示:
=== 创建子网
- 我们将创建一个公有子网和一个私有子网,如下所示:
- 对于公有子网,单击左侧菜单中的子网,然后单击创建子网。
** VPC ID :从您之前创建的列表中选择 MyVPC。
** 子网名称 :输入名称 MyPublicSubnet
** 可用区 : 选择 无首选项
** IPv4 网段:输入范围 10.0.1.0/24
** 单击"创建子网"。- 对于私有子网,再次单击"创建子网"。
** VPC ID :从您之前创建的列表中选择 MyVPC。
** 子网名称 :输入名称 MyPrivateSubnet
** 可用区 : 选择 无首选项
** IPv4网段:输入范围10.0.2.0/24
** 单击"创建子网"。
=== 创建和配置互联网网关
- 单击左侧菜单中的互联网网关,然后单击创建互联网网关。
- 名称标签:MyInternetGateway。
- 单击创建互联网网关。
- 从列表中选择您创建的互联网网关
- 单击"操作"。
- 单击附加到VPC
- 从列表中选择您创建的MyVPC,然后单击连接互联网网关。
=== 创建路由表
- 从左侧菜单中转到路由表,然后单击创建路由表。
- 名称: 输入"PublicRouteTable"。
- VPC: 从列表中选择"MyVPC"。
- 单击创建路由表。
- 重复相同的步骤,为私有子网创建路由表。
- 名称: 输入 PrivateRouteTable。
- VPC: 从列表中选择"MyVPC"。
- 单击创建路由表。
- 现在,将子网关联到路由表。
- 单击 PublicRouteTable,单击
操作
。
- 然后转到"子网关联"选项卡
- 从列表中选择"MyPublicSubnet"。
- 单击保存关联。
- 单击 PrivateRouteTable,单击
操作
。
- 然后转到"子网关联"选项卡
- 从列表中选择 MyPrivateSubnet。
- 单击保存关联。
- 确保不要将任何子网与主路由表关联。
=== 更新路由表并配置公网网关
- PublicRouteTable:添加允许公网流量流向 VPC 的路由。
- 选择"PublicRouteTable"。
- 转到"路由"选项卡,然后单击
编辑路由
按钮。- 然后单击
添加路由
按钮。- 指定以下值:
- 目标:输入 0.0.0.0/0
- 目标:从下拉菜单中选择互联网网关,选择
MyInternetGateway
。- 点击保存更改。
=== 创建安全组
- 从左侧菜单中转到"安全"下的"安全组",然后单击创建安全组。
- 安全组名称:输入whizlabs_securitygroup
- 描述:security group for multilayered VPC
- VPC:选择MyVPC
- 在"入站规则"下,单击"添加规则"。
- 添加 SSH
. 选择类型: 选择 SSH
. 协议:TCP
. 端口范围:22
- 添加 所有 ICMP - IPv4
. 选择类型: 选择 所有 ICMP - IPv4
. 协议:TCP
. 端口范围:22
- 将其他内容保留为默认值,然后单击创建安全组按钮。
=== 创建和配置网络 ACL
==== 导航到"VPC"。"安全性"下单击"网络 ACL"
- 创建网络 ACL
- 名称:输入whizlabs_NACL
- VPC:从下拉列表中选择MyVPC。
- 单击"创建网络 ACL"。
- 将 whizlabs_NACL 关联到子网
- 选择"操作"选项卡,然后单击"编辑子网关联"
- 同时选择 公有子网和私有子网。
- 点击保存更改
==== 配置网络 ACL
- 从列表中选择"whizlabs_NACL"。
- 在"入站规则"中,单击"编辑入站规则"
- 添加以下规则:
- SSH 单击"添加规则",
** 规则编号 : 输入 100
** 类型: 选择 SSH (22)
** 源:输入 0.0.0.0/0
** 允许/拒绝:选择"允许"- 对于所有 ICMP- IPv4,请单击"添加规则",
** 规则编号 :输入 200
** 类型:选择所有 ICMP - IPv4
** 源:输入 0.0.0.0/0
** 允许/拒绝:选择"允许"- 点击保存更改
- NACL 是无状态的。您还需要在出站规则中添加规则。
- 在出站规则选项卡中,单击编辑出站规则
- 添加以下规则:
- 对于所有 ICMP- IPv4,请单击"添加规则",
** 规则编号 :输入 100
** 类型:选择所有 ICMP - IPv4
** 源:输入 0.0.0.0/0
** 允许/拒绝:选择"允许"- 对于 自定义 TCP 规则,请单击"添加规则",
** 规则编号:输入 200
** 类型: 选择 自定义 TCP 规则
** 端口范围:输入 1024 - 65535
** 源:输入 0.0.0.0/0
** 允许/拒绝:选择"允许"- 点击保存
=== 在公有子网中启动 EC2 实例
- 请确保您位于美国东部(弗吉尼亚北部)us-east-1 区域。
- 顶部菜单导航到 EC2
- 左侧面板,单击"实例",然后单击"启动新实例"。
==== (1)控制台启动实例
==== (2)选择系统镜像
==== (3)选择实例类型
==== (4)配置实例
- 实例数:输入 1
- 网络 : 选择MyVPC
- 子网 :选择"MyPublicSubnet"
- 自动分配公共 IP:启用
- 将所有其他设置保留为默认值。单击"下一步:添加存储"
==== (5)添加存储
==== (6)添加标签
==== (7) 配置安全组
- 分配安全组:选择"选择现有安全组"
- 选择刚在上述步骤中创建的whizlabs_securitygroup安全组。
==== (8) 审核启动
- 检查所有选定的设置,无误点击启动
- 选择现有密钥对,确认并单击启动实例
=== 在私有子网中启动 EC2 实例
- 请确保您位于美国东部(弗吉尼亚北部)us-east-1 区域。
- 顶部菜单导航到 EC2
- 左侧面板,单击"实例",然后单击"启动新实例"。
==== (1)控制台启动实例
==== (2)选择系统镜像
==== (3)选择实例类型
==== (4)配置实例
- 实例数:输入 1
- 网络 : 选择MyVPC
- 子网 :选择"MyPrivateSubnet"
- 自动分配公共 IP:使用子网设置(禁用)
- 将所有其他设置保留为默认值。单击"下一步:添加存储"
==== (5)添加存储
==== (6)添加标签
==== (7) 配置安全组
- 分配安全组:选择"选择现有安全组"
- 选择刚在上述步骤中创建的whizlabs_securitygroup安全组。
==== (8) 审核启动
- 检查所有选定的设置,无误点击启动
- 选择现有密钥对,确认并单击启动实例
- 然后单击每个实例,然后输入名称为 public_instance 和 private_instance 以便分辨EC2
=== 测试 EC2 实例
- 从 EC2 控制面板中选择publc_instance,然后复制公有 IPv4 地址。
- 同样,复制private_instance的私有 IPv4 地址。
- SSH 进入到 EC2 实例public_instance。
- 使用以下命令 ping private_instance的私有 IP:
- 执行此命令后,您将收到来自私有 IP 的响应。