專有網絡環境下,雲伺服器ecs執行個體不能直接通路公網,一種方法是給需要通路公網的ecs執行個體申請彈性ip,但是如果有大量的ecs執行個體同時需要通路公網,這種方法就不可行。今天将介紹一種snat網關通路公網的方式。如下圖所示 :
下面将介紹如何通過ros自動化建立配置vpc snat網關。在模版中使用了ros的如下資源:
<a href="https://ros.console.aliyun.com/#/resourcetype/detail/aliyun::ecs::eip/metadata">aliyun::ecs::eip</a>
internetchargetype:計費方式,按帶寬或者按照流量
bandwidth: 帶寬在[1~200]取值,機關是mbps
建立eip資源
<a href="https://ros.console.aliyun.com/#/resourcetype/detail/aliyun::ecs::eipassociation/metadata">aliyun::ecs::eipassociation</a>
allocationid:配置設定的eip id
instanceid: 需要綁定eip的ecs instance id
本資源資源将綁定eip到指定的ecs執行個體
<a href="https://ros.console.aliyun.com/#/resourcetype/detail/aliyun::ecs::route/metadata">aliyun::ecs::route</a>
routeid: 指定vpc網絡中的路由器id
routetableid: 指定vpc網絡中路由表id
destinationcidrblock: 路由項的目标網段
nexthopid:路由項的下一跳
本資源将會添加一條路由到指定vpc網絡的路由表中,它的下一跳是snat網關
<a href="https://ros.console.aliyun.com/#/resourcetype/detail/aliyun::ecs::instancegroup/metadata">aliyun::ecs::instancegroup</a>
本例中主要使用了userdata屬性,使用者通過指定腳本給userdata,當ecs啟動的時候,就會自動配置iptables。
本資源就是建立snat網關
在模版中,首先說明此stack需要一個eip資源,一台ecs執行個體,并且把eip綁定到ecs資源上,最終通過執行我們傳給ecs的userdata腳本自動化的配置iptbales,最終把下一跳指向ecs的路由項添加到vpc路由器的路由表裡面。最終的ros模版如下: