ROS搭建具有NAT Gateway功能的VPC 网络

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
公网NAT网关,每月750个小时 15CU
简介: 本文介绍如何利用资源编排服务,搭建具有公网访问能力的专有网络。

背景

专有网络环境下,特定ECS往往需要公网访问能力,前面我们介绍了《ROS搭建SNAT网关使专有网络访问Internet》,利用ECS和EIP手动的搭建一个SNAT网关。

目前阿里云官方推出了专门的网络产品——NAT网关,对公网IP和公网带宽进行统一管理。

ROS资源介绍

ROS提供三个插件对NAT Gateway进行支持:

  • ALIYUN::ECS::NatGateway, 创建Nat网关,分配带宽包和公网IP

    • VpcId: 给哪个VPC中创建NatGateway
    • Spec: NAT网关的规格, 可选值:Small|Middle|Large
    • BandwidthPackage: 可以申请多个带宽包,并设置带宽包的带宽值以及公网IP数。同一带宽包下的公网IP共享带宽。
  • ALIYUN::ECS::ForwardEntry, 配置端口转发规则, 提供外部访问vpc内部ip的能力

    • ForwardTableId: 指向 NatGateway 的ForwardTableId
    • IpProtocol: IpProtocol类型,可选TCP|UDP|Any
    • ExternalIp: NatGateway 上的共享带宽包中的 IP
    • ExternalPort: 源端口;取值范围:1~65535|Any
    • InternalIp: 端口转发规则中的目标IP,是一个私网IP地址
    • InternalPort: 目标端口;取值范围为1~65535|Any
  • ALIYUN::ECS::SNatEntry, 在指定的NAT Gateway上添加SNAT规则, 提供vpc访问公网的能力

    • SNatTableId: 要在哪个SNAT表中添加规则
    • SourceVSwitchId: 允许哪个VSwitch下的ECS通过NAT网关的SNAT功能访问互联网. 注意:这里是以VSwitch为基本单位
    • SNatIp: 使用SNAT转换后使用的源地址;必须是当前NAT Gateway上的某个带宽包中的公网IP。注意:SNAT和DNAT不能配置相同的带宽包IP

ROS模板

本例创建VPC类型的ECS, 同时配置公网访问。主要片段如下:

  • 创建NatGateway, 规格为小型,一个带宽包,两个公网IP
"NatGateway": {
      "Type": "ALIYUN::ECS::NatGateway",
      "Properties": {
        "NatGatewayName": "NatGateway",
        "VpcId": {
          "Fn::GetAtt": [
            "Vpc",
            "VpcId"
          ]
        },
        "VSwitchId": {
          "Ref": "PubSubnet"
        },
        "BandwidthPackage": [
          {
            "Bandwidth": 10,
            "IpCount": 2
          }
        ],
        "Spec": "Small"
      }
    }
  • 创建ForwardEntry,开放ECS的22端口,通过带宽包的第一个IP进行转发
"ForwardEntryMaster": {
      "Type": "ALIYUN::ECS::ForwardEntry",
      "Properties": {
        "ExternalIp": {
          "Fn::Select": [
            "0",
            {
              "Fn::GetAtt": [
                "NatGateway",
                "BandwidthPackageIps"
              ]
            }
          ]
        },
        "ExternalPort": "22",
        "ForwardTableId": {
          "Fn::GetAtt": [
            "NatGateway",
            "ForwardTableId"
          ]
        },
        "InternalIp": {
          "Fn::Select": [
            "0",
            {
              "Fn::GetAtt": [
                "Master",
                "PrivateIps"
              ]
            }
          ]
        },
        "IpProtocol": "TCP",
        "InternalPort": "22"
      }
    }
  • 创建SNatEntry,vswitch下的ECS可以通过带宽包的第二个IP访问公网
"SNatEntry": {
      "Type": "ALIYUN::ECS::SNatEntry",
      "Properties": {
        "SNatTableId": {
          "Fn::GetAtt": [
            "NatGateway",
            "SNatTableId"
          ]
        },
        "SNatIp": {
          "Fn::Select": [
            "1",
            {
              "Fn::GetAtt": [
                "NatGateway",
                "BandwidthPackageIps"
              ]
            }
          ]
        },
        "SourceVSwitchId": {
          "Fn::GetAtt": [
            "PubSubnet",
            "VSwitchId"
          ]
        }
      }
    }

到ROS控制台创建 >>

下载完整模版 >>

目录
相关文章
|
4月前
|
网络协议
地址重叠时,用户如何通过NAT访问对端IP网络?
地址重叠时,用户如何通过NAT访问对端IP网络?
88 0
|
4月前
|
网络协议 Linux 网络架构
Linux三种网络模式 | 仅主机、桥接、NAT
Linux三种网络模式 | 仅主机、桥接、NAT
172 0
|
16天前
|
存储 网络协议 Linux
|
1月前
|
NoSQL 网络协议 架构师
|
1月前
|
网络协议 网络安全 网络虚拟化
网络技术基础(13)——NAT网络地址转换
【3月更文挑战第2天】网络基础笔记(加班了几天,中途耽搁了,预计推迟6天),这篇借鉴了之前师兄的笔记,边听边记笔记实在是太慢了。
|
2月前
|
JSON 监控 网络安全
使用Perl编写的上网监控管理软件:网络数据包拦截与分析功能
网络安全一直是互联网时代的重要议题之一。随着网络技术的不断发展,网络攻击和数据泄露等问题也变得日益严重。为了有效监控和管理网络流量,开发了一款基于Perl语言的上网监控管理软件,该软件具有强大的网络数据包拦截与分析功能,能够帮助网络管理员实时监控网络流量,并及时发现和应对各种网络安全威胁。
150 0
|
2月前
|
弹性计算 Linux 网络安全
三步搭建VPC专有网络NAT网关,配置SNAT和DNAT规则(补充版)
申明:该文档参考于用户 “帅宝宝”的文档进行的优化,新增永久生效的方式
291 1
|
2月前
|
Ubuntu 虚拟化
Vmware Nat网络配置
Vmware Nat网络配置
20 0
|
3月前
|
网络安全 虚拟化 Windows
RHEL7-NAT模式连接外部网络
RHEL7-NAT模式连接外部网络
22 1
|
4月前
|
弹性计算 监控 网络安全
使用云企业网实现跨地域跨VPC的网络互通的评测
使用云企业网实现跨地域跨VPC的网络互通
103 1

推荐镜像

更多