在同一VPC內,使用私網網域名稱進行通訊,可以避免使用傳統的IP地址訪問ECS執行個體上部署的服務,同時保持與公用互連網的分離,提供了更強的安全性和隔離性。通過ECS執行個體私網網域名稱功能,可以方便快捷地為執行個體分配私網網域名稱,無需手動更新維護其解析記錄。
ECS執行個體私網網域名稱
ECS執行個體私網網域名稱是指在VPC中為ECS執行個體分配的內部網域名稱,該網域名稱用於在VPC內部對ECS執行個體進行標識和訪問。私網網域名稱的產生和解析生效是通過DNS解析服務實現的。DNS解析服務是一種網路服務,它負責將網域名稱轉換為IP地址。ECS執行個體私網網域名稱解析服務依賴阿里雲的內網DNS解析,內網DNS解析服務地址為系統預設分配(100.100.2.136和100.100.2.138)。
常見應用情境
主機名稱管理:通過私網網域名稱解析服務,結合配置ECS主機名稱類型為基於IP格式或基於ID格式,實現在特定VPC網路通過主機名稱訪問ECS的目的,提升了日常主機管理的便捷性。
雲上服務執行個體化:對於部署在雲上的服務,往往涉及服務之間的互訪。通過使用私網網域名稱解析,為每個雲上服務產生VPC內網權威網域名稱並解析到具體的ECS執行個體私網IP地址,將雲上服務執行個體化。
ECS執行個體私網網域名稱構成
ECS執行個體私網網域名稱為四級網域名稱,按"."分割級數。例如i-8ps2h6dsc74cuktb****.ap-southeast-3.ecs.internal或ip-172-16-0-89.ap-southeast-3.ecs.internal。構成說明如下:
頂級網域名稱(.internal):ECS的內部網域名稱,用於內部網路。
次層網域(.ecs):ECS的產品標識。
子網域名稱(.實際的regionID):可用性區域的ID。例如,如果您選擇馬來西亞地區,那麼regionID為ap-southeast-3。關於可用性區域ID詳細說明,請參見地區和可用性區域。
主機標識:指向具體的某一台ECS執行個體,ECS支援基於IP格式的主機名稱和基於執行個體ID格式的主機名稱:
基於IP格式主機名稱:ECS執行個體的主私網IPv4地址樣式的主機名稱,例如ip-171-16-0-89(執行個體的主私網IPv4地址為172.16.0.89)。
基於ID格式主機名稱:ECS執行個體的ID作為主機名稱,例如i-8ps2h6dsc74cuktb****(執行個體的ID為i-8ps2h6dsc74cuktb****)。如果您是IPv6通訊,那麼可以選擇基於執行個體ID格式的主機名稱。
ECS執行個體私網網域名稱解析類型
DNS解析服務會記錄網域名稱與IP地址之間的對應關係,當使用者嘗試訪問一個網域名稱時,DNS解析服務會將網域名稱轉換為相應的IP地址。ECS執行個體私網網域名稱解析目前支援以下四種解析類型:
解析類型 | 含義 | 產生的私網網域名稱 | 解析樣本 | 應用情境 |
IP 格式主機名稱到執行個體主私網 IPv4 的 DNS 解析(A記錄) | 將產生的IP格式私網網域名稱映射到執行個體的主私網IPv4地址。 | ip-[主私網IPv4樣式字串].[regionID].[ecs.internal] | ip-192-168-1-1.region-name.ecs.internal 解析為 192.168.1.1 | 測試服務訪問:通過將執行個體IP格式的主機名稱映射到對應的IPv4地址,可以將IP地址直觀的展現在網域名稱中,適用於測試情境。 |
執行個體 ID 格式主機名稱到執行個體主私網 IPv4的 DNS 解析(A記錄) | 將產生的執行個體DI格式私網網域名稱映射到執行個體的主私網IPv4地址。 | [執行個體ID].[regionID].[ecs.internal] | i-bp1hs9xdprd7xq4p****.region-name.ecs.internal 解析為 192.168.XX.XX | 自動化部署與管理:ECS執行個體可能由於頻繁的變更操作導致IP地址發生變化。通過執行個體ID格式的主機名稱進行DNS解析,可以自動將最新的IP地址與主機名稱綁定,簡化了組態管理和營運工作。 |
執行個體 ID 格式主機名稱到執行個體主私網 IPv6的 DNS 解析(AAAA記錄) 注意:執行個體分配了IPv6地址才可以勾選。 | 將產生的執行個體ID格式私網網域名稱映射到執行個體的IPv6地址。 | [執行個體ID].[regionID].[ecs.internal] | i-bp1hs9xdprd7xq4p****.region-name.ecs.internal 解析為 2408:XXXX:17:8aff:7833:3724:XXXX:XXXX | IPv6網路連接:當一個主機或服務同時支援IPv4和IPv6時,AAAA記錄使得支援IPv6的用戶端能夠通過IPv6地址建立串連,從而利用IPv6網路的更大地址空間和改進的通訊效率。 |
執行個體主私網 IPv4到 IP 格式主機名稱的反向DNS解析(PTR記錄) | 將執行個體的主私網IPv4地址映射到產生的IP格式私網網域名稱。 | ip-[主私網IPv4樣式字串].[regionID].[ecs.internal] | 192.168.0.1 解析為 ip-192-168-0-1.cn-hangzhou.ecs.internal | 垃圾郵件過濾:許多電子郵件伺服器使用反向DNS來驗證發送郵件的伺服器是否合法。如果一個IP地址不能正確地反向解析為一個網域名稱,郵件可能會被標記為潛在的垃圾郵件或直接拒絕。 日誌分析與追蹤:在網路安全和系統管理中,通過反向DNS查詢可以將IP地址轉換為更容易理解的網域名稱形式,便於在記錄檔中進行分析和追蹤來源。 |
使用限制
ECS執行個體的私網網域名稱由系統產生,不支援配置自訂網域名
傳統網路執行個體不支援私網網域名稱功能。
私網網域名稱生效範圍只在VPC內部,不支援跨VPC私網網域名稱通訊。
私網網域名稱僅支援解析為主網卡的主私網IP地址,輔助私網IP地址不支援對應的私網網域名稱。
VPC內每台ECS機器每秒最高DNS閾值為5000次,單機每秒請求DNS峰值超過限制閾值後,將面臨限速風險,可用性SLA(99.99%)將無法得到保證。
ECS執行個體之間通過私網網域名稱通訊
步驟一:VPC啟用DNS主機名稱功能
VPC啟用DNS主機名稱是ECS執行個體私網網域名稱解析功能的總開關。VPC開啟DNS主機名稱後,ECS執行個體的私網網域名稱才會生效。VPC啟用DNS主機名稱功能後,DNS解析服務會產生雲產品內建權威Zone,格式為[regionID].ecs.internal(比如,如果您在馬來西亞建立VPC並開啟DNS主機名稱功能,此時會產生名稱為ap-southeast-3.ecs.internal的內建權威Zone),此網域名稱僅在此VPC內部生效。詳細資料,請參見VPC私網網域名稱。
VPC啟用DNS主機名稱功能後,您配置的ECS執行個體私網網域名稱解析才會生效。
- 登入專用網路管理主控台。
在頂部功能表列處,選擇目標Virtual Private Cloud的地區。
在專用網路頁面,單擊目標VPC執行個體ID,在專用網路基本資料地區,啟用DNS主機名稱。
步驟二:在ECS執行個體中配置私網網域名稱解析
ECS私網網域名稱和執行個體IP地址的映射關係(即ECS執行個體私網網域名稱解析記錄)需要在執行個體中進行配置,您可以在購買執行個體的時候或者在購買執行個體後根據需要配置不同的解析映射。具體操作樣本如下所示:
購買執行個體時配置私網網域名稱解析
您可以在通過RunInstances大量建立執行個體的時候,指定PrivateDnsNameOptions相關參數,配置執行個體的私網網域名稱解析。
操作步驟
前往執行個體購買頁。
選擇自訂購買頁簽。
選擇付費類型、地區、執行個體規格、鏡像等配置。
各配置項詳細說明,請參考配置項說明。
在購買頁下方,點擊展開進階選項(選填)配置私網網域名稱解析。
根據實際情境,勾選對應的私網網域名稱和IP地址的映射關係,支援多選。關於解析記錄,請參見ECS執行個體私網網域名稱解析類型。
編輯執行個體屬性時配置私網網域名稱解析
您可以通過調用ModifyInstanceAttribute編輯執行個體屬性,並指定PrivateDnsNameOptions相關參數,配置執行個體的私網網域名稱解析。
操作步驟
訪問ECS控制台-執行個體。
在頁面左側頂部,選擇目標資源所在的資源群組和地區。
找到目標ECS執行個體,點擊進入執行個體詳情頁,在全部操作中選擇> 執行個體屬性 > 編輯執行個體屬性,彈出編輯執行個體屬性的對話方塊。
根據實際情境,勾選對應的私網網域名稱和IP地址的映射關係,支援多選。關於解析記錄,請參見ECS執行個體私網網域名稱解析類型。
點擊確定,完成ECS執行個體私網網域名稱解析配置。
步驟三:驗證測試
您可以在配置了私網網域名稱映射的ECS執行個體本機上,或者在同一VPC內與此ECS執行個體內網互連的另一台ECS執行個體上,通過命令驗證私網網域名稱解析是否生效。不同作業系統查詢DNS的命令樣本如下:
Linux執行個體
host
命令是一個Linux中用於查詢 DNS(網域名稱系統)資訊的工具 + 生產力,該命令允許使用者查詢網域名稱與IP地址之間的映射關係,以及執行反向尋找,即根據IP地址查詢對應的網域名稱。
host安裝:Linux執行個體預設不支援host命令,您需要通過
sudo yum install bind-utils
進行安裝。查詢樣本:
說明本樣本中開啟了私網網域名稱解析的執行個體資訊如下,您需要根據實際情況替換您實際的IP地址、執行個體ID。
執行個體ID:i-8psi44j4o4yqoh2b****
地區ID:ap-southeast-3
IPv4地址:172.16.0.89
IPv6地址:240b:XXXX:41:b200:1ca9:f9bb:ae4:1ea0
遠端連線Linux執行個體。
具體操作,請參見使用Workbench工具以SSH協議登入Linux執行個體。
根據啟用的私網網域名稱解析記錄,執行對應的
host
命令,查詢DNS資訊。尋找IP格式網域名稱對應的IP地址(IP 格式主機名稱到執行個體主私網 IPv4 的 DNS 解析(A記錄)):
host ip-172-16-0-89.ap-southeast-3.ecs.internal
尋找執行個體ID格式網域名稱對應的IP地址(啟用執行個體 ID 格式主機名稱到執行個體主私網 IPv4 的 DNS 解析(A記錄)):
host i-8psi44j4o4yqoh2b****.ap-southeast-3.ecs.internal
尋找網域名稱對應的IPv6地址(啟用執行個體 ID 格式主機名稱到執行個體主私網 IPv6 的 DNS 解析(AAAA記錄)):
host -t AAAA i-8psi44j4o4yqoh2b****.ap-southeast-3.ecs.internal
DNS執行反向尋找,根據IP地址查詢關聯到的IP格式主機名稱產生的網域名稱(啟用執行個體主私網 IPv4 到 IP 格式主機名稱的反向DNS解析(PTR記錄)):
host 172.16.0.89
Windows執行個體
nslookup
是Windows中預裝的一個工具,它可以用來查詢DNS記錄。
查詢樣本:
說明本樣本中開啟了私網網域名稱解析的執行個體資訊如下,您需要根據實際情況替換您實際的IP地址、執行個體ID。
執行個體ID:i-8ps2h6dsc74cfy02****
地區ID:ap-southeast-3
IPv4地址:172.16.0.91
IPv6地址:240b:XXXX:41:b200:1ca9:f9bb:ae4:1e9a
遠端連線Windows執行個體。
具體操作,請參見使用Workbench工具以RDP協議登入Windows執行個體。
根據啟用的私網網域名稱解析記錄,執行對應的nslookup命令,查詢DNS資訊。
尋找IP格式網域名稱對應的IP地址(啟用 IP 格式主機名稱到執行個體主私網 IPv4 的 DNS 解析(A記錄)):
nslookup ip-172-16-0-91.ap-southeast-3.ecs.internal
尋找執行個體ID格式網域名稱對應的IP地址(啟用執行個體 ID 格式主機名稱到執行個體主私網 IPv4 的 DNS 解析(A記錄)):
nslookup i-8ps2h6dsc74cfy02****.ap-southeast-3.ecs.internal
尋找網域名稱對應的IPv6地址(啟用執行個體 ID 格式主機名稱到執行個體主私網 IPv6 的 DNS 解析(AAAA記錄)):
nslookup -type=AAAA i-8ps2h6dsc74cfy02****.ap-southeast-3.ecs.internal
DNS執行反向尋找,根據IP地址查詢關聯到的IP格式主機名稱產生的網域名稱(啟用執行個體主私網 IPv4 到 IP 格式主機名稱的反向DNS解析(PTR記錄)):
nslookup 172.16.0.91
驗證成功後,意味著配置了私網網域名稱解析的ECS執行個體,已可以被同一VPC下的其他ECS執行個體訪問,您可以在這些執行個體上執行ping <私網網域名稱>
命令測試,例如ping ip-172-16-0-91.ap-southeast-3.ecs.internal
。
如果測試IPv6訪問,您需要為測試執行個體與目標執行個體分別開通IPv6地址,具體資訊,請參見IPv6通訊。
其他動作
不同操作對ECS執行個體私網網域名稱解析的影響
執行個體變更VPC
如果ECS啟用了私網網域名稱解析,需要檢查您更換的目標VPC的DNS主機名稱功能是否開啟。詳細資料,請參見更換ECS執行個體的VPC。
執行個體主私網IP變化
私網網域名稱服務 (DNS)自動重新對應:當您的執行個體主私網IPv4或IPv6發生變化時(比如您可以變更執行個體的主私網IPv4地址),私網網域名稱解析DNS會刪除原IP對應的解析記錄,產生新的IP格式主機名稱到新IP地址的解析記錄。
執行個體釋放
執行個體釋放後,執行個體所在VPC中內建權威Zone對應的,與該執行個體相關的解析記錄均會被刪除。無法通過私網網域名稱訪問該執行個體及其上的服務。
查看ECS執行個體的私網網域名稱解析
您可以在執行個體詳情頁查看執行個體私網網域名稱解析,具體操作樣本如下:
您也可以通過DescribeInstances查詢執行個體的詳細資料,返回的PrivateDnsNameOptions為執行個體的私網網域名稱解析相關參數。
訪問ECS控制台-執行個體。
在頁面左側頂部,選擇目標資源所在的資源群組和地區。
在執行個體列表中找到目標ECS執行個體,點擊進入執行個體詳情頁。私網網域名稱解析顯示目前配置的私網網域名稱解析記錄數。
滑鼠懸浮在私網網域名稱解析具體數量,查看當前ECS執行個體配置的私網網域名稱和IP地址的映射關係。
關閉ECS執行個體的私網網域名稱解析
當您希望關閉某一台ECS執行個體的私網網域名稱解析功能時,可以在ECS控制台取消勾選配置的私網網域名稱解析,具體操作,請參見步驟二:在ECS執行個體中配置私網網域名稱解析。
如果您希望關閉VPC下所有ECS執行個體的私網網域名稱解析功能,可以在VPC禁用DNS主機名稱,禁用後,該VPC關聯的內建權威Zone會被刪除,VPC內所有ECS執行個體的私網網域名稱失效,通過私網網域名稱訪問無法解析為執行個體對應的IP地址。詳細資料,請參見VPC私網網域名稱。
如果您的應用中使用了私網網域名稱代替執行個體IP訪問對應的資源,禁用DNS主機名稱功能後,可能會導致您的應用訪問資源異常。