摘要: 本文介紹如何利用資源編排服務,搭建具有公網存取能力的專有網路。
幕後
專有網路環境下,特定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,在指定的NATGateway上新增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"
]
}
}
}
相關產品:
- NAT閘道
- 專有網路VPC
- 資源編排ROS
- 雲端服務器ECS