NAT閘道器之SNAT進階使用(二)構建ECS級別SNAT出網方式

一彈就飛發表於2018-03-22

背景

NAT閘道器是雲上VPC ECS訪問Internet的出入口。阿里雲NAT閘道器控制檯建立SNAT條目預設只支援交換機粒度。也就是說,建立了SNAT條目後,指定交換機後掛的全部VPC ECS都只能使用同一條SNAT規則主動訪問網際網路。

但是問題來了,如果業務忽然發生調整,需要不在同一個交換機後的若干臺VPC ECS使用同一個公網IP或公網IP池訪問網際網路,同時又不希望影響其他服務。下面2張圖給出了這種業務場景變化的示意圖。
pre

post

該如何處理呢?很簡單,阿里雲NAT閘道器API提供的SNAT SourceCIDR/32功能可以簡單而又完美的搞定這種場景。

SNAT SourceCIDR /32 API介面

介面介紹

呼叫阿里雲NAT閘道器API介面:CreateSnatEntry。下圖給出了CreatSnatEntry的請求引數。

API

在使用SNAT SourceCIDR/32來建立ECS粒度的SNAT條目時,請求引數SourceCIDR為必須項,SourceCIDR的網段填寫VPC ECS的網段,如xx.xx.xx.xx/32。此時一定不要指定請求引數SourceVSwitchId

說明:通過SourceCIDR設定ECS粒度的SNAT規則預設不開放,使用前請先通過工單進行申請。

操作驗證

在設定ECS粒度的SNAT規則前,可以在控制檯上可以看到為原有業務設定的交換機粒度的SNAT條目。

preconsole

呼叫CreateSnatEntry介面,分別使SourceCIDR=172.16.1.193/32(ECS3)對映另一個SNAT IP=114.55.xx.200,SourceCIDR=172.31.2.227/32也對映到SNAT IP=114.55.xx.200。

這時可以看到控制檯上新建立的ECS粒度的SNAT條目。

postconsole

然後我們分別登入5臺VPC ECS檢視SNAT條目是否生效,是否可以實現ECS1、ECS2、ECS5使用SNAT IP=118.31.xx.210訪問網際網路,ECS3和ECS4則使用SNAT IP=114.55.xx.200訪問網際網路。

ECS1

ECS2result

ECS3result

ECS4result

ECS5result

可以看到,5臺VPC ECS訪問網際網路時的源IP地址均已經按照設定的SNAT規則發生轉換,其中ECS3和ECS4為通過SourceCIDR/32實現的ECS粒度的SNAT。

注意

EIP和老的NAT頻寬包裡的公網IP均可以呼叫API實現SNAT SourceCIDR/32為ECS粒度設定SNAT條目。後續控制檯上即將開放此功能,敬請期待。

使用此功能前必須通過工單申請開通。

ECS粒度的SNAT條目可以搭配SNAT POOL功能一起使用,輕鬆構建更靈活更可靠的出網方式。

其他連結

阿里雲NAT閘道器API文件之詳解CreateSnatEntry —【CreateSnatEntry】

阿里雲NAT閘道器之產品圖解 —【一張圖看懂阿里雲網路產品【四】NAT閘道器】

阿里雲NAT閘道器之產品圖解 —【NAT閘道器之SNAT進階使用(一)SNAT POOL】

阿里雲專有網路公網出入口管理之必讀 —【詳解SLB、EIP、NAT閘道器之間區別, 合理選擇雲上公網入口】


相關文章