Amazon Web Services (AWS) 提供了一项名为VPC(虚拟私有云)的网络服务,它允许您创建一个私有、安全且可扩展的云网络。在本文中,我们将讨论如何使用 VPC 在 AWS 中创建隔离网络。
什么是 AWS VPC?
虚拟私有云(VPC)是 AWS 云中逻辑上独立的部分,您可以在其中定义自己的网络环境。可以将其视为云中的私人数据中心。
使用 VPC,您可以:
- 控制您的网络设置(IP 地址、路由等)。
- 创建公共子网和私有子网。
- 连接到互联网或保持您的资源私密。
AWS VPC 的主要特点:
- 子网– 将您的 VPC 划分为公共子网和私有子网。
- 互联网网关 (IGW) – 允许面向公众的资源连接到互联网。
- NAT 网关/NAT 实例– 使私有实例能够安全地访问互联网。
- 路由表– 控制网络流量在 VPC 内的流动方式。
- 安全组和 NACL – 控制实例和子网级别的入站/出站流量。
- VPC 对等连接– 连接多个 VPC 以实现相互通信。
- AWS PrivateLink – 提供对 AWS 服务的私人访问,而无需将其暴露到互联网上。
- VPC 端点– 无需使用 IGW 或 NAT 在 VPC 内私下连接 AWS 服务。
什么是隔离网络?
隔离网络是一种 VPC 设置,其中实例无法直接访问互联网。这对于不应暴露在互联网上的安全工作负载(如数据库或后端应用程序)非常有用。
在 AWS 中创建隔离网络的分步指南
我们将遵循以下步骤:
- 创建 VPC
- 创建私有子网
- 修改路由表以阻止 Internet 访问
- 在私有子网中启动 EC2 实例
- (可选)使用堡垒主机访问私有实例
步骤 1:创建 VPC
- 打开AWS 控制台→ 转到VPC。
- 点击“创建VPC”。
- 仅选择VPC 。
- 进入:
- 姓名:
My-Isolated-VPC
- IPv4 CIDR 块:
10.0.0.0/16
- 姓名:
- 点击“创建VPC”。
步骤 2:创建私有子网
- 转到子网→ 单击“创建子网”。
- 选择My-Isolated-VPC。
- 进入:
- 子网名称:
Private-Subnet-1
- 可用区域:选择任意区域(例如
us-east-1a
) - CIDR 块:
10.0.1.0/24
- 子网名称:
- 点击“创建子网”。
步骤3:修改路由表以阻止Internet访问
- 转到路由表→ 单击“创建路由表”。
- 说出它的名字
Private-Route-Table
。 - 将其附加到
My-Isolated-VPC
。 - 点击“创建”。
- 将路由表与私有子网关联:
- 点击
Private-Route-Table
→子网关联。 - 单击编辑子网关联→选择
Private-Subnet-1
。 - 单击“保存”。
- 点击
⚠重要提示:请勿连接 Internet 网关 (IGW) 或 NAT 网关。这样可以保持隔离。
步骤 4:在私有子网中启动 EC2 实例
- 转到EC2 → 单击启动实例。
- 选择一个 AMI(例如,Amazon Linux 2)。
- 选择t2.micro (符合免费套餐资格)。
- 网络部分:
- 私有云:
My-Isolated-VPC
- 子网:
Private-Subnet-1
- 自动分配公共 IP :禁用
- 私有云:
- 创建或选择允许私人访问的安全组。
- 单击启动。
您的 EC2 实例现在在隔离网络中运行,这意味着它无法访问互联网,也无法从互联网访问。
步骤 5(可选):使用堡垒主机访问私有实例
由于您的实例位于私有网络中,因此您无法直接使用 SSH。您需要一个堡垒主机(充当跳转服务器的可公开访问的实例)。
设置堡垒主机的步骤:
- 在同一个 VPC 中创建另一个公共子网。
- 在公共子网中启动一个新的 EC2 实例。
- 将弹性 IP附加到堡垒主机。
- 使用SSH 代理转发或AWS Systems Manager (SSM)安全地连接到私有实例。
常见问题:
如果删除默认 VPC 会发生什么?
AWS 允许您删除默认 VPC,但您无法自动重新创建它。不过,您可以手动创建一个新的 VPC并将其配置为默认 VPC。
公共子网和私有子网有什么区别?
- 公共子网:通过互联网网关(IGW)直接访问互联网。
- 私有子网:没有直接的互联网访问;用于内部应用程序、数据库等。它可以使用NAT 网关访问互联网。
如何使 AWS VPC 完全隔离?
要创建隔离的 VPC:
- 不要连接互联网网关( IGW)。
- 不要使用NAT网关。
- 仅使用私有子网。
- 使用安全组和NACL控制入站/出站流量。
- 如果需要,请使用AWS Direct Connect或VPN进行私人连接。
安全组和 NACL 有什么区别?
特征 | 安全组 | 网络 ACL (NACL) |
适用于 | EC2 实例 | 子网 |
有状态的? | 是(跟踪请求-响应) | 否(规则单独适用) |
默认规则 | 拒绝所有入站,允许所有出站 | 允许所有入站和出站 |
规则评估 | 检查所有规则 | 按顺序评估 |
安全组充当实例的防火墙,而 NACL 充当子网的防火墙。
私有子网中的实例如何连接到互联网?
私有子网中的实例无法直接访问互联网。但是,它们可以通过以下方式连接:
- NAT 网关/实例– 允许出站互联网访问。
- VPC 端点– 私下连接到 AWS 服务。
- 堡垒主机– 公共子网中用于 SSH 访问的跳转服务器。
什么是 VPC Peering,它如何工作?
VPC Peering 允许两个 VPC使用 AWS 网络进行私密
通信。当您想在不使用互联网的情况下在 VPC 之间共享资源时,可以使用它。Peering 连接是一对一的,必须在两个 VPC中手动配置。
什么是 AWS PrivateLink?它与 VPC Peering 有何不同?
AWS PrivateLink支持对 AWS 服务的私有访问,而无需将流量暴露给互联网。它通常用于将VPC 连接到 S3、DynamoDB 和自定义应用程序等 AWS 服务。
与 VPC 对等连接的区别:
- VPC 对等连接:实现两个 VPC 之间的直接私网通信。
- PrivateLink:使用AWS 管理的终端节点跨 VPC 连接服务。
可以将多个 VPC 连接在一起吗?
是的,可以使用以下方式连接多个 VPC:
- VPC 对等连接– 用于直接通信 (1:1)。
- Transit Gateway – 一种可有效连接多个 VPC的可扩展解决方案。
- PrivateLink – 在没有完全对等的情况下在 VPC 之间公开服务。