NAT Gateway控制台不支援在同一個VPC內直接切換公網NAT Gateway執行個體。您可以通過在同一個VPC內建立一個公網NAT Gateway,再修改目標網段為0.0.0.0/0的路由條目的方式實現公網NAT Gateway所屬交換器或私網IP地址的變更。
操作流程
本文以在同一個VPC內切換公網NAT Gateway來變更公網NAT Gateway所屬交換器為例進行介紹。
前提條件
開始前,請確保滿足以下條件:
您已經在華東1(杭州)地區建立了一個VPC(名稱為VPC1),並在該VPC中建立了兩個交換器(名稱為VSW1,位於可用性區域B;名稱為VSW2,位於可用性區域H)。具體操作,請參見搭建IPv4專用網路。
您已經在交換器VSW1建立了一個名稱為ECS1的ECS執行個體且不配置固定公網IP地址。具體操作,請參見自訂購買執行個體。
您已經在交換器VSW1建立了一個公網NAT GatewayA執行個體,且已配置了VPC1的SNAT條目和連接埠映射方式的DNAT條目(私網IP地址為ECS1的IP地址,公網連接埠和私網連接埠均為22,協議類型為TCP)。
步驟一:驗證NAT GatewayA執行個體的功能
登入VSW1下的ECS1執行個體。具體操作,請參見ECS串連方式概述。
執行
ping命令測試網路連通性。使用
curl myip.ipip.net命令探測ECS1執行個體的公網出口IP。經測試,ECS1執行個體公網出口IP與NAT GatewayA執行個體中SNAT條目中的IP一致,即ECS1執行個體通過NAT GatewayA執行個體的SNAT功能主動訪問互連網。

登入本地Linux裝置。
執行
ssh root@公網IP命令,此處的公網IP即為NAT GatewayA執行個體的DNAT條目中的公網IP地址,然後輸入ECS1執行個體的登入密碼,查看是否可以遠端連線到執行個體。若介面上出現Welcome to Alibaba Cloud Elastic Compute Service!時,表示您已經成功串連到執行個體,即ECS1執行個體通過NAT GatewayA執行個體的DNAT功能提供公網訪問能力。

步驟二:建立NAT GatewayB執行個體並綁定EIP
NAT GatewayB執行個體關聯的交換器為VSW2。
在公網NAT Gateway頁面,單擊建立公網NAT Gateway。
在NAT Gateway頁面,配置以下購買資訊,然後單擊立即購買。
配置項
說明
地區
選擇需要建立公網NAT Gateway的地區。
網路及可用性區域
請選擇NAT Gateway所屬的VPC和交換器。建立成功後,無法進行修改或切換。
網路類型
本文選擇公網NAT Gateway。
公網NAT Gateway:具備網路位址轉譯能力,可以綁定Elastic IP Address,從而為ECS執行個體提供訪問互連網的能力,實現私網和公網之間的通訊。
VPC NAT Gateway:同樣具備網路位址轉譯能力,但無法綁定Elastic IP Address,只能為ECS執行個體提供私網內部的地址轉換,適用於內網地址隱藏、地址衝突規避等情境。
Elastic IP Address
本文選擇新購Elastic IP Address。
選擇已有
Elastic IP Address執行個體:選擇未綁定執行個體的Elastic IP Address。
新購Elastic IP Address:預設建立BGP(多線)類型的按使用流量計費的Elastic IP Address,可根據自身業務需要選擇頻寬峰值。
說明如需綁定其他線路類型或計費類型的Elastic IP Address,請先申請Elastic IP Address,然後選擇已有進行綁定。
每綁定一個Elastic IP Address,將佔用NAT Gateway所在交換器的一個私網IP地址。請確保該交換器具有足夠的可用私網IP地址,否則將無法成功綁定新的Elastic IP Address。
稍後配置:成功建立的NAT Gateway將不具備公網能力,使用者需手動綁定Elastic IP Address。
步驟三:為NAT GatewayB執行個體建立SNAT條目和DNAT條目
為NAT GatewayB執行個體建立的SNAT條目和DNAT條目除了公網IP地址外,其餘的規則需要與NAT GatewayA執行個體的相同。
在頂部功能表列,選擇公網NAT Gateway的地區。
在公網NAT Gateway頁面,找到目標公網NAT Gateway執行個體,然後在操作列單擊設定SNAT。
在SNAT管理頁簽,單擊建立SNAT條目。
在建立SNAT條目頁面,配置以下參數,然後單擊確定建立。
配置項
說明
SNAT條目粒度
本文選擇VPC粒度。您可以根據實際業務需求,選擇適合自身業務的SNAT條目粒度。
VPC粒度:適用於需要讓VPC內所有ECS執行個體,以及通過CEN或專線等產品實現內網互連並配置了0.0.0.0/0路由條目指向該VPC的其他VPC或資料IDC內的ECS執行個體,統一通過同一Elastic IP Address訪問公網的情境。
交換器粒度:適用於對公網訪問有精細控制需求,只允許指定的交換器具備公網訪問能力的情境。
ECS/彈性網卡粒度:適用於對公網訪問有精細控制需求,只允許指定的ECS執行個體或彈性網卡具備公網訪問能力的情境。
自訂網段粒度:適用於需要靈活指定任意IP網段,通過NAT Gateway統一配置公網訪問能力的情境,可覆蓋VPC內、跨VPC或跨本地IDC等各種網路環境,滿足複雜或定製化網路結構的需求。
說明當您選擇多個交換器或ECS/彈性網卡時,將為您建立多條SNAT條目,這些條目將使用相同的公網IP地址。
選擇Elastic IP Address地址
選擇用來提供公網訪問的Elastic IP Address。
返回公網NAT Gateway頁面,找到已建立的NAT GatewayB執行個體,然後在操作列單擊設定DNAT。
在DNAT管理頁簽,單擊建立DNAT條目。
在建立DNAT條目頁面,配置以下參數,然後單擊確定建立。
配置
說明
選擇Elastic IP Address地址
選擇要提供互連網通訊的公網IP。本文選擇綁定到NAT GatewayB執行個體的EIP。
選擇私網IP地址
選擇要通過DNAT規則進行公網通訊的ECS執行個體。
本文選擇通過ECS或彈性網卡進行選擇,然後在下拉式清單中選擇ECS1。
連接埠設定
選擇DNAT映射的方式。
本文選擇具體連接埠,即DNAT連接埠映射方式,然後公網連接埠輸入22,私網連接埠輸入22,協議類型選擇TCP。
條目名稱
輸入DNAT條目的名稱。
名稱長度為2~128個字元,以大小寫字母或中文開頭, 可包含數字、底線(_)和短劃線(-)。
步驟四:修改系統路由表中的自訂路由條目
在VPC內建立第一個公網NAT Gateway時,系統會在VPC系統路由表中自動添加一條目標網段為0.0.0.0/0,下一跳為公網NAT Gateway的路由條目,用於將流量路由到該公網NAT Gateway。因此建立了NAT GatewayB執行個體後,VPC系統路由表中並沒有目標網段為0.0.0.0/0,下一跳為NAT GatewayB執行個體的路由條目,NAT GatewayB執行個體無法使用。您必須手動修改VPC系統路由表中目標網段為0.0.0.0/0的路由條目指向NAT GatewayB執行個體,才能完成將VPC中的NAT GatewayA執行個體切換為NAT GatewayB執行個體。
- 登入專用網路管理主控台。
- 在左側導覽列,單擊路由表。
- 在頂部功能表列,選擇路由表所屬的地區。
在路由表頁面,找到VPC1的路由表,然後單擊路由表的ID。
選擇頁簽,找到目標網段為0.0.0.0/0,下一跳指向NAT GatewayA執行個體的自訂路由條目,然後在操作列單擊刪除。
在刪除路由條目對話方塊,單擊確定。
單擊添加路由條目,在添加路由條目面板,根據以下資訊配置自訂路由條目,然後單擊確定。
配置
說明
名稱
輸入路由條目的名稱。
名稱長度為2~128個字元之間,以英文字母或中文開頭,可包含數字、短劃線(-)和底線(_)。
目標網段
輸入需要將流量轉寄到的目標網段。本文選擇IPv4網段,然後輸入0.0.0.0/0。
下一跳類型
選擇下一跳的類型。本文選擇NAT Gateway。
NAT Gateway
選擇下一跳執行個體。本文選擇NAT GatewayB執行個體。
說明路由條目切換後,存量的訪問串連需要重連之後才能恢複,建議您在業務低峰期執行路由條目切換操作。
步驟五:測實驗證
驗證NAT GatewayA執行個體的功能是否已經切換到NAT GatewayB執行個體。本文是以變更NAT Gateway所屬交換器為例進行介紹,在操作的過程中,同時完成了變更NAT Gateway的私網IP地址。如果您需要通過在同一個交換器下切換NAT Gateway來變更其私網IP地址,也可以參考本文進行操作。
登入VSW1下的ECS1執行個體。
執行
ping命令測試網路連通性。使用
curl myip.ipip.net命令探測ECS1執行個體的公網出口IP。經測試,ECS1執行個體公網出口IP與NAT GatewayB執行個體中SNAT條目中的IP一致,即ECS1執行個體通過NAT GatewayB執行個體的SNAT功能主動訪問互連網。

登入本地Linux裝置。
執行
ssh root@公網IP命令,此處的公網IP即為NAT GatewayB執行個體的DNAT條目中的公網IP地址,然後輸入ECS1執行個體的登入密碼,查看是否可以遠端連線到執行個體。若介面上出現Welcome to Alibaba Cloud Elastic Compute Service!時,表示您已經成功串連到執行個體,即ECS1執行個體通過NAT GatewayB執行個體的DNAT功能提供公網訪問能力。
