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控制台创建 >>

下载完整模版 >>

目录
相关文章
|
网络协议 安全 网络安全
NAT网络地址转换
NAT(网络地址转换)是一种关键的网络技术,通过将内部私有地址转换为外部公网地址,实现多设备共享单一公网IP上网。它不仅解决了IPv4地址不足的问题,还增强了网络安全,隐藏了内部网络结构。NAT主要分为静态NAT、动态NAT和NAPT(网络地址端口转换)三种类型,广泛应用于家庭和企业网络中。然而,NAT也存在对某些应用不友好、增加延迟及与IPv6不兼容等缺点。
1830 14
|
机器人 C++ Python
ROS2教程 02 功能包
本文是关于ROS2(机器人操作系统2)中功能包(package)管理的教程,介绍了如何检查功能包的依赖、创建新功能包、列出可执行文件、列出所有功能包、查询功能包的位置和描述信息,以及为C++和Python功能包配置必要的文件。
969 0
|
人工智能 安全 网络安全
网络安全厂商F5推出AI Gateway,化解大模型应用风险
网络安全厂商F5推出AI Gateway,化解大模型应用风险
411 0
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
2437 2
|
运维 负载均衡 安全
|
网络协议 安全 网络安全
Cisco-网络端口地址转换NAPT配置
Cisco-网络端口地址转换NAPT配置
502 1
|
安全 网络安全 数据安全/隐私保护
Cisco-网络地址转换动态NAT
Cisco-网络地址转换动态NAT
363 1
|
安全 网络安全 数据安全/隐私保护
Cisco-网络地址转换静态NAT
Cisco-网络地址转换静态NAT
297 1
|
SQL 存储 OLAP
OneSQL OLAP实践问题之Flink SQL Gateway的功能如何解决
OneSQL OLAP实践问题之Flink SQL Gateway的功能如何解决
476 1
|
机器人 Shell 开发者
ROS2教程08 ROS2的功能包、依赖管理、工作空间配置与编译
这篇文章是关于ROS2(Robot Operating System 2)中功能包、依赖管理、工作空间配置和编译的教程,涵盖了ROS2工作空间的概念、如何获取和安装功能包的依赖、构建工作空间的步骤,以及如何创建和管理ROS2功能包,包括使用命令行工具对功能包进行操作的方法。
3758 0
ROS2教程08 ROS2的功能包、依赖管理、工作空间配置与编译

推荐镜像

更多
  • ros