使用公网NAT网关统一管理公网出口IP
应用场景
在云上环境中,当VPC内需要管理大量的ECS实例时,如果采用逐一配置弹性公网IP的方式,不仅会显著降低管理和运营效率,还会增加ECS实例遭受恶意扫描和攻击的风险。
您可以使用公网NAT网关统一管理ECS实例的出入云需求,从以下两个方面提升运维效率,降低安全风险。
- 在确保原有资源正常运行的前提下,通过SNAT规则为VPC内的所有ECS实例统一提供公网访问能力。
- 对于直接绑定弹性公网IP的ECS实例,通过将EIP从ECS实例解绑并创建DNAT规则,在确保客户端访问ECS实例方式不变的同时,有效控制端口暴露范围。
方案架构
在企业级应用中,为了提高服务的可用性和管理效率,通常需要对后端服务进行集中管理。然而,直接暴露后端服务到公网会带来安全风险。如果您的服务器有主动访问公网的业务诉求,推荐您使用以下方案对公网出入口进行统一管理:
- 使用ELB对后端服务进行集中管理,统一对外提供服务的入口。
- 使用公网NAT网关统一公网出口IP,如图1的方案,不仅能够集中管理后端服务,还能有效降低安全风险,提升运维效率。
资源规划说明
本示例中需要创建虚拟私有云VPC、弹性云服务器ECS、公网NAT网关和弹性负载均衡ELB,资源规划总体说明请参见表1。
资源 |
数量 |
说明 |
---|---|---|
虚拟私有云和子网 |
1个虚拟私有云和其下子网 |
|
公网NAT网关 |
1个 |
本示例名称为nat_public,用于通过SNAT规则统一ECS访问公网的IP。 |
弹性负载均衡 |
1个 |
外部流量通过ELB主动访问云上的ECS。 |
弹性云服务器 |
3台 |
ECS-A,ECS-B,ECS-C都部署在子网subnet-A01中。 |
弹性公网IP |
3个 |
|
准备工作
- 如表1所示,购买3个EIP分别用作EIP-ELB、EIP-SNAT和EIP-DNAT。
- 购买一个ELB实例和三台ECS并配置应用服务,其中两台ECS部署为ELB的后端服务器,详情请参考实现单个Web应用的负载均衡。
步骤二:添加SNAT规则
虚拟私有云子网subnet-A01中的ECS可以共享SNAT规则绑定的弹性公网IP访问公网。
- 进入公网NAT网关列表页面。
- 在公网NAT网关页面,单击需要步骤一中购买的公网NAT网关。
进入公网NAT网关详情页。
- 切换到SNAT规则页签,单击“添加SNAT规则”。
- 根据界面提示,添加SNAT规则,公网IP类型选择“弹性公网IP”并勾选准备工作中已经创建完成的EIP-SNAT作为公网IP。
图3 添加SNAT规则
- 单击“确定”,完成SNAT规则创建。
步骤三:添加DNAT规则
虚拟私有云子网subnet-A01中的ECS可以共享DNAT规则绑定的弹性公网IP面向公网提供访问。
- 进入公网NAT网关列表页面。
- 在公网NAT网关页面,单击需要步骤一中购买的公网NAT网关。
进入公网NAT网关详情页。
- 切换到DNAT规则页签,单击“添加DNAT规则”。
- 根据界面提示,添加DNAT规则。
- 单击“确定”,完成DNAT规则创建。