今日要介紹的是 NAT Gateway (Network Address Translation Gateway),以往的客戶經驗中,只允許內對外的連線,但不允許外對內的連線,或多台主機對外需要共用EIP(Elastic IP Address),此時需要建立一個 NAT Gateway ,賦予一個EIP,當 Private subnet 將封包發送到 NAT Gateway 時,會將封包的來源 IP 以 NAT Gateway 的 EIP置換,然後對外進行使用;在阿里雲NAT Gateway有分為 SNAT & DNAT,以下要介紹這兩種NAT運用情境與實務操作:
NAT Gateway (Internet Gateway DNAT)
讓外面的使用者可以透過Public Network存取到基於Private Subnet的Web服務主機,減少主機暴露在外的風險,這種應用方式稱之為NAT Gateway DNAT

特性
1.ECS可通過一個Public IP對外提供全Port的服務
2.一個EIP可以針對VPC內多台ECS的不同Port提供對外服務
3.一台ECS特定Port的服務可通過一個Public IP的某個Port對外提供服務
實務操作-1
1.創建NAT-Gateway,選擇要使用的VPC和Subnet,下方的Access Mode要選擇Configure Later才能設定DNAT,預設是SNAT Mode


2.DNAT是可以讓外部連接到內部的NAT方式,現在創建好的VPC沒有外部IP,這時就需要綁定EIP,而EIP需要先購買才能綁定VPC哦,那現在我們先去購買EIP,再去綁定Internet NAT Gateway



3.綁定後開始創建DNAT,可以指定特定ECS或是內網IP;這裡還可以指定網路協定還有對應內網Port位到外網Port

4.這邊指定走外網TCP 80 Port,啟用ECS的HTTP服務,讓使用者透過NAT Gateway使用服務

NAT Gateway (Internet Gateway SNAT)
NAT Gateway SNAT,多台主機透過單一Public IP訪問網際網路,減少多台主機使用各自的Public IP降低管理上的繁瑣或是基於安全性需求,避免主機IP暴露在公網上,都需要SNAT的功能

特性
1.多台ECS通過同一個Public IP訪問網路,避免使用多個Public IP管理上的繁瑣
2.自定義網段將同一Subnet的都可以透過SNAT出去
實務操作-2
1.這次選擇SNAT,讓VPC下多台ECS都沒有對外IP的狀況下,透過SNAT可以對外


2.綁定EIP的步驟就請讀者動手做做看跟DNAT是大同小異;現在SNAT已經設定完成,原先ECS上只有VPC1 Subnet1情況下,用上NAT GATEWAY SNAT後可以對外

3.在Security Group已經開通SSH情況下,外面無法遠端進來,只能由ECS對外使用網路

結語
NAT Gateway有許多應用方式,如:NAT Gateway DNAT:多台ECS通過同一個ECS特定Port的服務可透過一個公網IP中的某個Port對外提供服務;NAT Gateway SNAT:多台主機透過單一Public IP訪問網際網路,避免多個公網IP各自管理的繁瑣;亦或是稱為VPC NAT Gateway,裡面有Public subnet和Private subnet的應用方式,讀者都可以嘗試看看。
*本文由宏庭架構師所撰寫,同步刊登於iThome 鐵人賽專區
>更多阿里雲相關內容,再且密切追蹤阿里雲架構師專欄