AWS VPC网络部署参考
1. VPC定义
Virtual Private Cloud (VPC) 是仅适用于 AWS 账户的虚拟网络。 它在逻辑上与 AWS 云中的其他虚拟网络隔绝。可在 VPC 中启动 AWS 资源,如 Amazon EC2 实例。
可使用VPC向导,创建:
- 具有一个 /24 子网的 /16 网络。公有子网实例使用弹性 IP 或公有 IP 访问 Internet。
- 具有两个 /24 子网的 /16 网络。公共子网实例,使用弹性 IP 地址访问 Internet。私有子网实例通过 Network Address Translation (NAT) 实例访问 Internet。 (NAT 实例按小时收费)
VPC用户指南:http://docs.amazonaws.cn/AmazonVPC/latest/UserGuide/VPC_Subnets.html
下图为实验中创建的VPC:
2.VPC子网
VPC 跨越区域中的所有可用区。在创建 VPC 之后,您可以在每个可用区域中添加一个或多个子网。 在创建子网时,指定子网的 CIDR 块,它是 VPC CIDR 块的子集。每个子网都必须完全位于一个可用区域之内,不能跨越多个可用区域。可用区域是被设计为可以隔离其他可用区域的故障的不同位置。通过启动独立可用区内的实例,您可以保护您的应用程序不受单一位置故障的影响。我们为每个子网指定一个唯一 ID。
如果子网的关联路由表包含指向 Internet 网关的路由,则该子网称为公有子网。
下图展示了一个在多个可用区域内配置子网的 VPC。1A、1B、2A 和 3A 是 VPC 中的实例。此 VPC 以及子网 1 各自关联了一个 IPv6 CIDR 块。Internet 网关允许在 Internet 上通信,虚拟专用网络 (VPN) 连接可实现与您公司网络的通信。
下图为实验中创建的子网:
3.路由表
VPC 中的每个子网必须与一个路由表关联;路由表控制子网的路由。一个子网一次只能与一个路由表关联,但您可以将多个子网与同一路由表关联。AWS控制台中可以变更子网的路由表关联。
子网中的EC2实例访问外网有两种方式
- 采用NAT:建立NAT网关,并且为子网指定路由, 0.0.0.0/0。对于 Target,选择 NAT 网关的 ID。
- 采用internet网关:参见下节说明
4.VPC internet网关
Internet 网关是一种横向扩展、支持冗余且高度可用的 VPC 组件,可实现 VPC 中的实例与 Internet 之间的通信。因此它不会对网络流量造成可用性风险或带宽限制。
Internet 网关有两个用途,一个是在 VPC 路由表中为 Internet 可路由流量提供目标,另一个是为已经分配了公有 IPv4 地址的实例执行网络地址转换 (NAT)。
要为 VPC 子网中的实例启用 Internet 访问,必须执行以下操作:
- 将 Internet 网关附加到 VPC。
- 确保子网的路由表指向 Internet 网关。
- 确保您的子网中的实例具有全局唯一 IP 地址 (公有 IPv4 地址、弹性 IP 地址或 IPv6 地址)。
- 确保您的网络访问控制和安全组规则允许相关流量在您的实例中流入和流出。
下图为实验中创建的internet网关:
internet网关需要附加在VPC网络上。
5. 弹性IP
弹性 IP 地址 是专门用于进行动态云计算的静态、公有 IPv4 地址。您可以将弹性 IP 地址与您账户中的任意 VPC 的任何实例或网络接口相关联。借助弹性 IP 地址,您可以迅速将地址重新映射到 VPC 中的另一个实例,从而屏蔽实例故障。注意,将弹性 IP 地址与网络接口关联,而不直接与实例关联的优势在于,只需一步,即可将网络接口的所有属性从一个实例移至另一个。
与阿里云弹性IP概念类似。
6. NAT
NAT 设备支持私有子网中的实例连接到 Internet (例如,以便进行软件更新) 或其他 AWS 服务,但阻止 Internet 发起与实例的连接。NAT 设备将来自私有子网中实例的流量转发到 Internet 或其他 AWS 服务,然后将响应发回给实例。当流量流向 Internet 时,源 IPv4 地址替换为 NAT 设备的地址,同样,当响应流量流向这些实例时,NAT 设备将地址转换为这些实例的私有 IPv4 地址。
AWS 提供了两种 NAT 设备:一种是 NAT 网关,一种是 NAT 实例。
NAT网关需要配置到具备internet网关的子网.
下图为实验中创建的NAT网关:
7. EC2
实验中创建的EC2实例,每个子网一个实例。1a可用区有2个实例,其中一个实例为VPN用途
8. openvpn-AS
使用ubuntu16.04安装openvpn-as(没有license的情况下只能有2个设备连接) 安装openvpn后,可以在客户端使用openvpn client拨入VPC网络
** 建议使用udp:1194端口(默认)
8. 负载均衡
有3种负载均衡
如果没有长连接,应用采用http或者https推荐使用应用程序负载均衡器,这个是7层负载均衡,可以根据url转发请求。
如果需要超高性能和静态 IP 地址,选择网络负载均衡器。
内网应用采用传统均衡器