通過為已指派固定公網IP的ECS執行個體統一公網出口IP,有利於您更高效地管理互連網業務。本文為您介紹如何為已指派固定公網IP的ECS執行個體統一公網出口IP。
前提條件
分配了固定公網IP的ECS執行個體所在的VPC已經配置了SNAT功能。更多資訊,請參見建立SNAT實現訪問公網服務。
背景資訊
NAT Gateway提供SNAT功能,為VPC內無公網IP的ECS執行個體提供訪問互連網的代理服務。如果VPC內某些ECS執行個體已經分配了固定公網IP,這些ECS執行個體會優先通過固定公網IP訪問互連網,而VPC內的其他ECS執行個體通過NAT Gateway的SNAT功能代理訪問互連網,造成VPC內ECS執行個體的公網出口IP不一致,不利於統一管理業務。
您可以通過為ECS執行個體綁定彈性網卡來解決ECS執行個體公網出口IP不統一的問題。
如下圖,您可以為ECS執行個體單獨分配一塊彈性網卡,並將固定公網IP轉為EIP,然後將EIP綁定到彈性網卡,這樣來自互連網的訪問流量會經過彈性網卡到達ECS執行個體,當ECS執行個體需要訪問互連網時會通過NAT Gateway進行轉寄。
步驟一:固定公網IP轉EIP
不同計費模式的ECS執行個體,對固定公網IP轉EIP的支援不同:
隨用隨付類型的ECS執行個體,支援直接將固定公網IP轉為EIP。
訂用帳戶類型的ECS執行個體,不支援直接將固定公網IP轉為EIP。您需要先將訂用帳戶ECS執行個體轉為隨用隨付ECS執行個體,再將隨用隨付ECS執行個體的固定公網IP轉為EIP。訂用帳戶ECS執行個體轉為隨用隨付ECS執行個體的詳細操作說明,請參見訂用帳戶轉隨用隨付。
完成以下操作,將隨用隨付ECS執行個體的固定公網IP轉為EIP。
在左側導覽列,選擇執行個體與鏡像 > 執行個體。
在頂部狀態列處,選擇ECS執行個體的地區。
在執行個體列表頁面,找到目標ECS執行個體,選擇操作列下的 > 網路和安全性群組 > 公網IP轉換為Elastic IP Address。
在彈出的對話方塊中,單擊確定。
步驟二:建立彈性網卡
在左側導覽列,選擇網路與安全 > 彈性網卡。
在頂部狀態列處,選擇彈性網卡的地區。
說明彈性網卡的地區必須與ECS執行個體的地區相同。
在彈性網卡頁面,單擊建立彈性網卡。
在建立彈性網卡頁面,根據以下資訊配置彈性網卡,然後單擊建立網卡。
以下為您列舉強相關參數,更多資訊,請參見建立輔助彈性網卡。
配置
說明
彈性網卡名稱
輸入彈性網卡的名稱。
專用網路
選擇ECS執行個體所在的專用網路。
交換器
選擇ECS執行個體所在可用性區域的交換器。
安全性群組
選擇當前專用網路的一個安全性群組。
主私網IP(可選)
輸入彈性網卡的主私網IPv4地址。此IPv4地址必須屬於交換器的CIDR網段中的空閑地址。如果您沒有指定,建立彈性網卡時將自動為您分配一個閒置私網IPv4地址。本文不指定主私網IP。
輔助私網IPv4(可選)
單擊相應選項進行設定。本文選擇不設定。
步驟三:將彈性網卡綁定到ECS執行個體
在左側導覽列中,選擇網路與安全 > 彈性網卡。
在頂部狀態列處,選擇彈性網卡的地區。
在彈性網卡頁面,找到目標彈性網卡,單擊操作列下的綁定執行個體。
在彈出的對話方塊中,選擇要綁定的ECS執行個體,然後單擊確定。
步驟四:將EIP與ECS執行個體解除綁定
在頂部狀態列處,選擇EIP的地區。
在Elastic IP Address頁面,找到目標EIP,單擊操作列下的解除綁定資源。
在彈出的對話方塊中,單擊確定。
步驟五:將EIP綁定到彈性網卡
在頂部狀態列處,選擇EIP的地區。
在Elastic IP Address頁面,找到目標EIP,單擊操作列下的綁定資源。
在綁定Elastic IP Address至資源對話方塊,根據以下資訊綁定EIP至彈性網卡,然後單擊確定。
配置
說明
執行個體類型
選擇輔助彈性網卡。
所在資源群組(可選)
選擇該EIP所屬的資源群組。本文選擇預設資源群組。
繫結模式(可選)
選擇EIP繫結模式。 本文選擇普通模式。
選擇要綁定的執行個體
選擇要綁定的輔助彈性網卡。
步驟六:配置網卡路由
登入ECS管理主控台。
在左側導覽列,選擇網路與安全 > 彈性網卡。
查看ECS執行個體的彈性網卡資訊。
遠程登入ECS執行個體,更多資訊,請參見串連方式概述。
執行
ip a
命令查看彈性網卡資訊。經過查看,得到ECS執行個體彈性網卡的資訊如下:
eth0:主網卡,私網地址:192.168.3.10
eth1:輔助彈性網卡,私網地址:192.168.3.11 公網地址:118.190.XX.XX
按您的需要規劃路由表裡每塊網卡的預設路由metric值。
執行命令
route -n
查看Gateway和metric值。查詢結果如下所示:
說明本文以一塊輔助彈性網卡為例,查看到輔助彈性網卡的metric值大於主網卡的metric值,路由優先順序低於主網卡,不需要執行重新規劃網卡的metric值,保持預設配置即可。如有多塊輔助彈性網卡,請根據實際情況配置,具體操作,請參見配置網卡路由。
建立路由表並配置策略路由。
如果需要為ECS執行個體的彈性網卡配置單次策略路由,請執行以下操作。
說明ECS執行個體重啟後,配置的彈性網卡路由會失效。
執行以下命令建立路由表。
ip -4 route add default via 192.168.3.13 dev eth1 table 101
說明建議路由表名稱和網卡的預設路由metric取值保持一致,如本例中的101。
執行以下命令檢查路由表是否建立成功。
ip route list table 101
查詢結果如下所示:
執行以下命令建立策略路由。
ip -4 rule add from 192.168.3.11 lookup 101
執行以下命令查看路由規則。
ip rule list
查詢結果如下所示:
如果需要為ECS執行個體的彈性網卡配置多次路由,請執行以下操作。
說明ECS執行個體重啟後,配置的彈性網卡路由不會失效。
執行以下命令開啟/etc/rc.local設定檔。
vi /etc/rc.local
在設定檔末尾,按i進入編輯模式。
在設定檔末尾,添加以下資訊。
ip -4 route add default via 192.168.3.13 dev eth1 table 101 ip -4 rule add from 192.168.3.11 lookup 101
說明本文以一塊輔助彈性網卡為例,查看到輔助彈性網卡的metric值大於主網卡的metric值,路由優先順序低於主網卡,不需要重新規劃網卡的metric值,保持預設配置即可。如有多塊輔助彈性網卡,請將規劃metric值的命令也添加到設定檔中。關於規劃metric值的具體命令,請參見配置網卡路由。
按下Esc鍵,輸入:wq並斷行符號以儲存並關閉檔案。
執行以下命令修改/etc/rc.d/rc.local設定檔的可執行許可權。
chmod +x /etc/rc.d/rc.local
說明由於/etc/rc.local設定檔是/etc/rc.d/rc.local設定檔的軟連結,因此修改設定檔的許可權時需要修改/etc/rc.d/rc.local設定檔的許可權。執行
ls -l /etc/rc.local
命令可以查看到/etc/rc.local設定檔是/etc/rc.d/rc.local設定檔的軟連結。
步驟七:測試網路連通性
完成以下操作,測試互連網是否可以通過彈性網卡綁定的EIP訪問ECS執行個體。本操作以本地Linux裝置遠端連線ECS執行個體為例。
遠端連線ECS執行個體,請確認ECS執行個體的安全性群組已允許存取SSH(22)連接埠。更多資訊,請參見添加安全性群組規則。
登入本地Linux裝置。
執行
ssh root@公網IP
命令,然後輸入ECS執行個體的登入密碼,查看是否可以遠端連線到執行個體。若介面上出現
Welcome to Alibaba Cloud Elastic Compute Service!
時,表示您已經成功串連到執行個體。
完成以下操作,測試ECS執行個體是否可以通過NAT Gateway的SNAT功能主動訪問互連網。本操作以在ECS執行個體上查看公網出口IP為例。
登入ECS執行個體。
執行
curl https://myip.ipip.net
查看公網出口IP。若公網出口IP與NAT GatewaySNAT條目中的IP一致,即ECS執行個體優先通過NAT Gateway的SNAT功能主動訪問互連網。