开发者社区> wangyue> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介: 本文介绍如何利用资源编排服务,搭建具有公网访问能力的专有网络。
+关注继续查看

背景

专有网络环境下,特定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控制台创建 >>

下载完整模版 >>

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

附件下载:https://developer.aliyun.com/topic/download?id=303

相关文章
Spring-Cloud-Gateway介绍(上篇)
Spring-Cloud-Gateway介绍(上篇)
53 0
(Swift&OC)UITextView的的使用技巧
(Swift&OC)UITextView的的使用技巧
17 0
Spring Cloud Gateway VS Zuul 比较,怎么选择?
据了解,正是因为 Zuul 2.x 的不断跳票,Spring Cloud 才釜底抽薪推出了自己的服务网关:Spring Cloud Gateway,栈长看了下,使用起来比 Zuul 更简单,配置更方便,所以说选 Spring Cloud Gateway 没错,毕竟是 Spring Cloud 亲儿子,不会始乱终弃。
245 0
新玩法,ROS帮你一键搭建NatGateway让VPC与Internet的互访
ROS创建NAT Gateway资源使VPC中的ECS可以与Internet互访
5726 0
+关注
18
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载