ECS私網域名解析
在同一專有網絡VPC內,使用私網域名進行ECS實例間的網絡連接,可以避免因IP地址變動導致的服務訪問問題,極大地簡化大規模內部網絡的管理,同時保持與公共互聯網的分離,為內部通信提供了更強的安全性和隔離性。
ECS私網域名解析當前處于邀測階段。
ECS私網域名
ECS私網域名是指在VPC中為ECS實例分配的內部域名,該域名用于在VPC內部對ECS實例進行標識和訪問。
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私網域名使用限制
經典網絡實例不支持私網域名功能。
私網域名生效范圍只在VPC內部,不支持跨VPC私網域名通信。
私網域名僅支持解析為主網卡的主私網IP地址,輔助私網IP地址不支持對應的私網域名。
VPC內每臺ECS機器每秒最高DNS閾值為5000次,單機每秒請求DNS峰值超過限制閾值后,將面臨限速風險,可用性SLA(99.99%)將無法得到保證。
常見應用場景
主機名管理:通過私網域名解析服務,結合配置ECS主機名類型為基于IP格式或基于ID格式,實現在特定VPC網絡通過主機名訪問ECS的用途,提升了日常主機管理的便捷性。
云上服務實例化:對于部署在云上的服務,往往涉及服務之間的互訪。通過使用私網域名解析,為每個云上服務生成VPC內網權威域名并解析到具體的服務內網IP地址,將云上服務實例化,大大降低服務IP地址變更對研發的改動。
私網域名解析服務
私網域名的生成和解析生效是通過DNS解析服務實現的。DNS解析服務是一種網絡服務,它負責將域名轉換為IP地址。ECS私網域名解析服務依賴阿里云的內網DNS解析。內網DNS解析服務地址為系統默認分配(100.100.2.136和100.100.3.138)。
ECS私網域名解析記錄
解析記錄是DNS服務器中用于將域名映射到IP地址的數據條目,這些記錄定義了域名與IP地址之間的對應關系,當用戶嘗試訪問一個域名時,DNS解析服務會查找相應的解析記錄,將域名轉換為相應的IP地址。
解析記錄的TTL(Time To Live):TTL是一個以秒為單位的時間值,用于指定DNS記錄在緩存中的有效時間。當DNS記錄被查詢并緩存后,TTL值決定了該記錄在緩存中可以保留多長時間。私網域名解析記錄的TTL默認為1分鐘。
解析記錄類型: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
ECS實例訪問:通過將實例IP格式的主機名映射到對應的IPv4地址,可以方便地在云服務內部進行服務發現和通信。
實例 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地址與主機名綁定,簡化了配置管理和運維工作。
安全性和隔離性:在某些安全策略嚴格的環境下,直接使用IP地址可能不被允許,特別是對于外部訪問。使用實例ID格式的主機名并通過內部DNS解析,可以在保持網絡隔離的同時,提供對云資源的安全訪問控制。
實例 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地址不能正確地反向解析為一個域名,或者該域名與發出郵件的服務器的HELO/EHLO標識不符,郵件可能會被標記為潛在的垃圾郵件或直接拒絕。
日志分析與追蹤:在網絡安全和系統管理中,通過反向DNS查詢可以將IP地址轉換為更容易理解的域名形式,便于在日志文件中進行分析和追蹤來源,尤其是在調查異常流量、入侵企圖或分析用戶行為時。
網絡診斷與故障排查:當需要識別特定IP地址所對應的服務器或服務時,反向DNS解析可以幫助管理員快速定位問題所在,尤其是在處理與特定服務器交互的問題時。
配置ECS私網域名解析
VPC啟用/禁用DNS主機名功能
VPC啟用/禁用DNS主機名是ECS實例私網域名解析功能的總開關。VPC開啟DNS主機名后,ECS實例的私網域名才會生效;VPC禁用DNS主機名后,ECS實例的私網域名失效。
啟用DNS主機名:VPC啟用DNS主機名功能后,DNS解析服務會生成云產品內置權威Zone,格式為[regionID].ecs.internal(比如,如果您在馬來西亞創建VPC并開啟DNS主機名功能,此時會生成名稱為ap-southeast-3.ecs.internal的內置權威Zone),此域名僅在此VPC內部生效。詳細信息,請參見啟用DNS主機名實現VPC內ECS私網域名訪問。
重要VPC啟用DNS主機名功能后,您配置的ECS私網域名解析才會生效。
禁用DNS主機名:與該VPC關聯的內置權威Zone被刪除,ECS實例的私網域名失效,通過私網域名訪問無法解析為實例對應的IP地址。
重要如果您的應用中使用了私網域名代替實例IP訪問對應的資源,禁用DNS主機名功能后,可能會導致您的應用訪問資源異常。
在ECS中配置私網域名解析
ECS私網域名和實例IP地址的映射關系(即ECS私網域名解析記錄)需要在ECS中進行配置,您可以在購買實例時候或者在購買實例后根據需要啟用或取消不同的解析映射。具體操作示例如下所示:
購買頁配置私網域名解析
操作步驟
前往實例購買頁。
選擇自定義購買頁簽。
按需選擇付費類型、地域、實例規格、鏡像等配置。
各配置項詳細說明,請參考配置項說明。
在購買頁下方,點擊展開高級選項(選填)配置私網域名解析。
根據實際場景,選擇對應的私網域名和IP地址的映射關系,支持多選。關于解析記錄,請參見ECS私網域名解析記錄。
編輯實例屬性配置私網域名解析
操作步驟
登錄ECS管理控制臺。
在左側導航欄,選擇 。
找到目標ECS實例,在操作列中,選擇> 實例屬性 > 編輯實例屬性,彈出編輯實例屬性的對話框。
根據實際場景,選擇對應的私網域名和IP地址的映射關系,支持多選。關于解析記錄,請參見ECS私網域名解析記錄。
點擊確定,完成ECS私網域名解析配置。
VPC啟用DNS主機名,且ECS中配置私網域名完成后,您可以在同VPC的另一臺實例上通過私網域名訪問此實例,具體信息,請參見基于IP格式的域名實現訪問。
通過控制臺查看ECS私網域名解析
您可以在實例詳情頁查看實例私網域名解析,具體操作示例如下:
登錄ECS管理控制臺。
在左側導航欄,選擇 。
在實例列表中找到目標ECS實例,點擊實例ID。
選擇實例詳情頁簽,查看下方的其他信息>私網域名解析,顯示目前配置的私網域名解析記錄數。
鼠標懸浮在私網域名解析具體數量,查看當前ECS實例配置的私網域名和IP地址的映射關系。
驗證ECS私網域名解析
您可以在配置了私網域名映射的ECS實例本機上,或者在同一VPC內與此ECS實例內網互通的另一臺ECS實例上,通過命令驗證私網域名解析是否生效。不同操作系統查詢DNS的命令示例如下:
私網域名解析記錄更新后,生效時間受TTL影響,具體信息,請參見解析記錄的TTL。
通過host
命令查詢實例的DNS
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實例。
具體操作,請參見通過密碼或密鑰認證登錄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
通過nslookup
命令查詢實例的DNS
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實例。
具體操作,請參見通過密碼或密鑰認證登錄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下(開啟DNS主機功能)購買兩臺ECS實例,ECS1和ECS2。在ECS1上啟用不同的私網域名映射,在ECS2上執行ping <ECS1的私網域名>
命令測試私網域名是否可以正確解析為IP地址。
本示例中,ECS1的基本信息如下,您需要根據實際環境替換對應的IP地址和實例ID:
實例ID:i-8psi44j4o4yqoh2b****
主私網IPv4:172.16.0.89
IPv6:240b:XXXX:41:b200:1ca9:f9bb:ae4:1ea0
ECS1、ECS2需要滿足在同一VPC下內網互通的條件,本示例中兩臺實例在同一安全組,默認互通。如果您測試的兩臺實例不在同一安全組,請參見實現不同安全組的實例內網互通。
如果測試IPv6訪問,您需要為ECS1、ECS2分別開通IPv6地址,具體信息,請參見管理IPv6地址。
基于IP格式的域名實現訪問
ECS1上啟用 IP 格式主機名到實例主私網 IPv4 的 DNS 解析(A記錄),具體操作,請參見在ECS中配置私網域名解析。
遠程連接ECS2實例,并執行如下命令,通過IP格式的私網域名訪問ECS1。
說明遠程連接Linux實例,請參見通過密碼或密鑰認證登錄Linux實例。
遠程連接Windows實例,請參見通過密碼或密鑰認證登錄Windows實例。
您可以通過控制臺查看ECS私網域名解析,確認ECS1的私網域名。
ping <ECS1的基于IP格式的私網域名>
本示例中,命令如下所示:
ping ip-172-16-0-89.ap-southeast-3.ecs.internal
通過執行結果,可以看到私網域名成功被解析為ECS1的主私網IPv4地址:
基于ID格式的域名訪問
ECS1上啟用實例 ID 格式主機名到實例主私網 IPv4 的 DNS 解析(A記錄),具體操作,請參見在ECS中配置私網域名解析。
遠程連接ECS2實例,并執行如下命令,通過ID格式的私網域名訪問ECS1。
說明遠程連接Linux實例,請參見通過密碼或密鑰認證登錄Linux實例。
遠程連接Windows實例,請參見通過密碼或密鑰認證登錄Windows實例。
您可以通過控制臺查看ECS私網域名解析,確認ECS1的私網域名。
ping <ECS1的基于實例ID的私網域名>
本示例中,命令如下所示:
ping i-8psi44j4o4yqoh2b****.ap-southeast-3.ecs.internal
通過執行結果,可以看到私網域名成功被解析為ECS1的主私網IPv4地址:
基于ID格式的域名訪問(IPv6訪問)
在ECS1上啟用實例 ID 格式主機名到實例主私網 IPv6 的 DNS 解析(AAAA記錄),具體操作,請參見在ECS中配置私網域名解析。
遠程連接ECS2實例,并執行如下命令,通過ID樣式私網域名訪問ECS1。
說明遠程連接Linux實例,請參見通過密碼或密鑰認證登錄Linux實例。
遠程連接Windows實例,請參見通過密碼或密鑰認證登錄Windows實例。
您可以通過控制臺查看ECS私網域名解析,確認ECS1的私網域名。
ping6 <ECS1的基于實例ID的私網域名>
本示例中,命令如下所示:
ping6 i-8psi44j4o4yqoh2b****.ap-southeast-3.ecs.internal
通過執行結果,可以看到私網域名成功被解析為ECS1的主私網IPv6地址:
不同操作對ECS私網域名解析的影響
實例變更VPC
如果ECS啟用了私網域名解析,需要檢查您更換的目標VPC的DNS主機名功能是否開啟。
實例主私網IP變化
私網域名服務自動重新映射:當您的實例主私網IPv4或IPv6發生變化時(比如您可以通過修改私有IP地址改變實例的IP地址),私網域名解析DNS會刪除原IP對應的解析記錄,生成新的有效的IP地址對應的解析記錄。
實例釋放
實例釋放后,實例所在VPC中內置權威Zone對應的,與該實例相關的解析記錄均會被刪除。無法通過私網域名訪問該實例及其上的服務。