全部產品
Search
文件中心

Elastic Compute Service:Linux執行個體使用主機名稱進行內網通訊

更新時間:Nov 13, 2024

ECS執行個體主機名稱本身不具備內網通訊能力,一般通過私網IP進行資源訪問。在VPC網路下,針對Linux系統的執行個體,您可以設定主機名稱類型為IP格式或ID格式,結合ECS私網網域名稱解析功能,實現主機名稱到IP地址的解析,從而實現ECS主機名稱代替IP地址進行同一VPC下內網通訊。

前提條件

  • VPC網路。

  • Linux作業系統。

主機名稱類型

重要

修改主機名稱類型功能處於邀測階段。

您可以通過配置主機名稱類型來設定ECS執行個體的主機名稱。ECS執行個體支援以下三種類型的主機名稱:

  • 自訂格式主機名稱:在符合基本格式條件的前提下,完全基於您自訂的字串產生主機名稱。

    • 主機名稱格式

      • Windows系統:長度為2~15個字元,允許使用大小寫字母、數字或連字號(-)。不能以連字號(-)開頭或結尾,不能連續使用連字號(-),也不能僅使用數字。

        重要

        Windows執行個體由於長度限制,僅支援自訂類型主機名稱。

      • 其他動作系統(Linux等):長度為2~64個字元,允許使用點號(.)分隔字元成多段,每段允許使用大小寫字母、數字或連字號(-),但不能連續使用點號(.)或連字號(-)。不能以點號(.)或連字號(-)開頭或結尾。

      建議您使用可以清楚表明伺服器用途的主機名稱。一般情況下,成熟的營運體系會包括一套完整的編號規則,例如,“業務編號-產品線-地區”。樣本如下:

      • app001-live-huanan1可以表示企業的直播app應用位於在華南1地區的001號ECS伺服器。

      • jack001-dev-huabei2可以表示企業內部員工jack同學使用的位於華北2地區的001號程式開發伺服器。

    • 自訂有序主機名稱:在大量建立多台ECS執行個體時,通過自訂有序主機名稱,便於區分每台ECS執行個體或批量分類和管理您的ECS執行個體,提高管理效率。詳細資料,請參見大量設定有序的執行個體名稱或主機名稱

  • IP格式主機名稱:根據執行個體的主網卡主私網IPv4地址自動產生固定格式的字串,使用者無法編輯。

    重要

    當您通過修改私人IP地址變更執行個體的主私網IPv4地址後,執行個體的主機名稱會自動更新。

    • 主機名稱格式:ip-[主網卡主私網IPv4樣式字串].[regionID].ecs.internal

      • 主網卡主私網IPv4樣式字串:替換主私網IPv4中的“.”為“-”。

      • regionID:ECS執行個體的地區ID,您可以通過地區和可用性區域列表查看對應的地區ID。

      • ecs.internal:ECS執行個體內部網域名稱。

    • 適用情境:IP地址格式作為主機名稱一般用於一些特定情境或環境下的臨時用途。

      • 臨時配置或測試環境:在搭建臨時的測試網路、進行裝置調試或配置初期,為了便於快速識別和配置,有時可能會臨時使用類似IP地址格式的主機名稱,尤其是在需要快速設定多台裝置時。

      • 特定自動化指令碼或配置:在一些自動化部署指令碼或特定軟體配置中,特別是在需要直接通過指令碼或程式動態分配和管理裝置標識時,可能會使用這種格式作為一種臨時標記或預留位置。

  • 執行個體ID格式主機名稱:根據執行個體的ID自動產生固定格式的字串,使用者無法編輯。

    • 主機名稱格式:[執行個體ID].[regionID].ecs.internal

    • 適用情境

      • 自動化管理和配置:在雲端運算環境、容器編排(如Kubernetes)、或者使用組態管理工具(如Ansible、Chef、Puppet)時,將主機名稱直接設定為資源ID可以方便自動化系統識別和管理。這樣可以簡化指令碼編寫和模板化配置,因為資源ID通常是唯一的,易於程式處理。

      • 資源追蹤與審計:當需要清晰地追蹤雲端服務執行個體或其他類型資源的生命週期時,使用資源ID作為主機名稱很有協助。這使得日誌分析、效能監控和故障排查過程中能快速定位到具體的資源,尤其是在大型分布式系統中。

      • 資源關聯與依賴管理:在有複雜依賴關係的系統部署中,使用資源ID作為主機名稱可以協助明確資源之間的關係。這對於理解服務拓撲、進行故障隔離以及最佳化資源分派都有好處。

配置執行個體主機名稱類型

在建立ECS執行個體時,如果您不指定,系統會預設分配自訂類型的主機名稱。

您可以在購買執行個體時定義主機名稱類型,或者在建立執行個體後通過編輯執行個體屬性修改執行個體主機名稱類型。

購買執行個體時定義主機名稱類型

操作步驟
  1. 前往執行個體購買頁

  2. 選擇自訂購買頁簽。

  3. 按需選擇付費類型、地區、執行個體規格、鏡像等配置。

    各配置項詳細說明,請參考配置項說明

  4. 點擊進階選項(選填)定義主機名稱,關於主機名稱類型說明,請參見主機名稱類型

    image

編輯執行個體屬性時修改執行個體主機名稱類型

  1. 登入ECS管理主控台

  2. 在左側導覽列,選擇執行個體與鏡像 > 執行個體

  3. 找到目標ECS執行個體,在操作列中,選擇表徵圖> 執行個體屬性 > 編輯執行個體屬性,彈出編輯執行個體屬性的對話方塊。

    選擇主機名稱類型,如果選擇自訂,則您需要自行輸入自訂的主機名稱。如果選擇基於IP產生主機名稱基於執行個體ID產生主機名稱,則系統會自動產生。關於主機名稱類型說明,請參見主機名稱類型

    重要

    Windows執行個體由於長度限制,僅支援自訂類型主機名稱。

    image

  4. 重啟執行個體,使主機名稱類型修改生效。

Linux執行個體基於IP/ID格式主機名稱進行內網通訊

情境介紹:在同一個Virtual Private Cloud及安全性群組下準備兩台ECS執行個體。

基本資料

  • 目標執行個體:對目標執行個體進行主機名稱及私網網域名稱解析配置。

    • 作業系統:Alibaba Cloud Linux 3.2

    • 執行個體ID:i-8ps625l5075b18r0v1cp

    • 主私網IPv4:172.16.0.101

    • 安全性群組:sg-bp1g41cssbfqzwjwrqtl

  • 測試執行個體:在測試執行個體通過ping <目標執行個體主機名稱>訪問目標執行個體。

    • 作業系統:Alibaba Cloud Linux 3.2

    • 執行個體ID: i-8ps8nsvbw63sr7n2bw7j

    • 主私網IPv4:172.16.100.170

    • 安全性群組:sg-bp1g41cssbfqzwjwrqtl

具體操作

  1. 配置目標執行個體主機名稱為基於執行個體IP格式。您也可以配置執行個體主機名稱為基於執行個體ID格式,具體操作,請參見配置執行個體主機名稱

    image

  2. 重啟目標執行個體,使主機名稱配置生效。

  3. 確認目標執行個體的主機名稱。

    1. 遠端連線目標執行個體。

      具體操作請參見通過密碼或密鑰認證登入Linux執行個體

    2. 執行如下命令,查看目標執行個體當前主機名稱。

      hostname

      本樣本返回資訊如下,可以看到主機名稱修改已生效:

      image

  4. 配置目標執行個體私網網域名稱解析,具體操作,請參見配置ECS私網網域名稱解析

    說明

    此處私網網域名稱解析記錄類型和第一步中配置的主機名稱類型要匹配,否則您可能無法通過主機名稱訪問目標執行個體(通過私網網域名稱訪問執行個體,請參見ECS執行個體之間通過私網網域名稱通訊):

    • 主機名稱選擇基於執行個體 ID 產生主機名稱,那麼私網網域名稱解析則選擇啟用執行個體 ID 格式主機名稱到執行個體主私網 IPv4 的 DNS 解析(A記錄)。

    • 主機名稱選擇基於 IP 產生主機名稱,那麼私網網域名稱解析則選擇啟用 IP 格式主機名稱到執行個體主私網 IPv4 的 DNS 解析(A記錄)。

    本樣本中,選擇啟用執行個體 ID 格式主機名稱到執行個體主私網 IPv4 的 DNS 解析(A記錄)

    image

  5. 登入測試執行個體,通過ping <目標執行個體主機名稱>測試連通性。

    1. 通過Workbench遠端連線測試執行個體。具體操作請參見通過密碼或密鑰認證登入Linux執行個體

    2. 執行如下命令,驗證目標執行個體主機名稱的內網連通。

      ping ip-172-16-0-101.ap-southeast-3.ecs.internal

      本樣本中返回結果如下,可以通過主機名稱實現內網訪問:

      image

常見問題

無法訪問IP格式的主機名稱了怎麼辦?

  • 可能原因:您將執行個體基於IP格式的主機名稱配置在了其他應用程式中,但是執行個體的主私網IP發生了變化,導致原來配置的主機名稱已經失效。

  • 解決方案:當執行個體的私網IP發生變更,您需要更新在其他應用中依賴主機名稱的相關配置。

相關文檔

Windows執行個體不支援基於IP或基於ID產生主機名稱,無法實現基於主機名稱進行私網通訊,但支援配置私網網域名稱,實現基於私網網域名稱進行通訊,詳細資料,請參見ECS執行個體之間通過私網網域名稱通訊