全部產品
Search
文件中心

Virtual Private Cloud:啟用DNS主機名稱實現VPC內ECS私網網域名稱訪問

更新時間:Oct 30, 2024

對於巨量資料處理情境,如果用戶端需要從開源巨量資料開發平台E-MapReduce(簡稱EMR)叢集外部(如ECS或K8s Pod)提交作業,會因為無法通過內網網域名稱解析導致作業提交失敗。您可以啟用DNS主機名稱,啟用後叢集外部的用戶端可以通過DNS主機網域名稱與EMR叢集中的任意節點互連,簡化作業提交流程。

功能簡介

什麼是DNS主機名稱?

網域名稱系統(DNS)是互連網中用於將網域名稱解析為IP地址的標準系統和協議。DNS主機名稱是一個在網路中唯一且絕對區分網路電腦的名稱,它由主機名稱和網域名稱組成。DNS伺服器負責將DNS主機名稱解析到對應的IP地址,使使用者能夠通過網域名稱便捷地訪問各種網路資源。

工作原理

在Virtual Private Cloud中,DNS主機名稱用於標識ECS執行個體,通過在VPC內啟用DNS主機名稱,可以為該VPC內的ECS執行個體配置內建權威網域名稱。該網域名稱格式為[regionID].ecs.internal,關於該網域名稱的基本構成和使用限制,請參見ECS私網網域名稱

說明

啟用DNS主機名稱後,該VPC會綁定預設DHCP選項集,若該VPC下無預設DHCP選項集,系統會自動建立並綁定至該VPC。

例如在馬來西亞(吉隆坡)地區已建立的VPC中啟用DNS主機名稱,此時該VPC中的ECS執行個體配置的內建權威網域名稱為ap-southeast-3.ecs.internal,您可以為VPC中的ECS執行個體配置執行個體ID格式的主機名稱,並設定基於執行個體ID格式的私網網域名稱解析,配置後VPC內的ECS即可通過主機網域名稱i-******.ap-southeast-3.ecs.internal實現資源互訪。具體流程如下圖所示。

適用情境

通過DNS主機網域名稱訪問商務服務器,主要適用於以下情境:

  • 分散式運算叢集:在分散式運算如Hadoop的叢集環境,針對EMR叢集,通過DNS主機網域名稱可以確保外部客戶端訪問叢集內的服務,從而簡化資源調度及作業提交流程。

  • 自動化部署和組態管理:在自動化部署和組態管理情境中,通過在設定檔和指令碼中使用DNS主機網域名稱代替直接的IP地址引用,可以實現即使執行個體IP變化也不影響服務發現和配置的準確性。

情境樣本

本文以下圖情境為例,某企業在馬來西亞(吉隆坡)地區擁有Virtual Private Cloud。在VPC中部署了EMR進行巨量資料分析,EMR叢集通常由Master和Core這兩種類型的節點群組成。Kerberos作為身分識別驗證協議,部署在Master節點,確保叢集中的安全性和所有節點間通訊的安全性。目前提交作業僅限於EMR叢集內部。

現因業務發展,企業需要通過叢集外部的用戶端ECS執行個體(已部署Gateway環境),向EMR叢集主機名稱為i-8ps******5py2u的Master節點提交作業。該企業可以為VPC啟用DNS主機名稱,啟用後,叢集外部的用戶端可以通過DNS主機網域名稱與EMR叢集中的Master節點進行通訊。

圖 1. 外部客戶端訪問EMR內的Master節點

注意事項

  • 啟用DNS主機名稱時,請勿刪除預設DNS伺服器位址,刪除該地址會導致ECS執行個體的主機網域名稱無法解析。

  • 同VPC下叢集外部的用戶端ECS執行個體(已部署Gateway環境),必須與EMR叢集的Master節點配置的安全性群組相同。

  • DNS主機名稱功能目前處於邀測中,如需使用,請聯絡客戶經理申請。

前提條件

  • 您已在馬來西亞(吉隆坡)地區建立Virtual Private Cloud。

  • 您已在EMR on ECS控制台建立EMR叢集,該叢集使用預設配置即一個Master節點,兩個Core節點,並已開啟Kerberos身份認證開關。

  • 您已建立用於在外部提交EMR作業的用戶端ECS執行個體,並已在該執行個體中部署Gateway環境

操作步驟

步驟一:啟用DNS主機名稱

  1. 登入專用網路管理主控台
  2. 在頂部功能表列處,選擇目標Virtual Private Cloud的地區。本文選擇馬來西亞(吉隆坡)

  3. 專用網路頁面,單擊目標VPC執行個體ID,在專用網路基本資料地區,啟用DNS主機名稱。

    啟用主機名稱.png

步驟二:為ECS執行個體配置私網網域名稱解析

啟用DNS主機名稱後,您需要為叢集外部的用戶端和Master節點的ECS執行個體配置私網網域名稱解析。

  1. 登入ECS管理主控台

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

  3. 分別為用戶端和Master節點的ECS執行個體配置私網網域名稱解析。

    操作列選擇表徵圖> 執行個體屬性 > 編輯執行個體屬性,在編輯執行個體屬性對話方塊,配置如下方式網域名稱解析。

    佈建網域名解析.png

步驟三:結果驗證

本文用於驗證網域名稱解析的用戶端以Alibaba Cloud Linux 3.2104 64位作業系統為例。

  1. 登入叢集外部的用戶端ECS,開啟命令列視窗。

  2. 執行以下ping命令,測試用戶端的ECS是否能夠通過DNS主機網域名稱訪問EMR叢集的Master節點。

    ping i-8ps******5py2u.ap-southeast-3.ecs.internal
  3. 如果能收到如下回複報文,則表示DNS主機網域名稱可以訪問EMR叢集的Master節點。

    測試結果.png

更多操作

禁用DNS主機名稱

說明

禁用DNS主機名稱後,VPC分配的私網網域名稱失效,通過私網網域名稱無法解析ECS執行個體對應的IP地址。

專用網路頁面,單擊執行個體ID,然後在專用網路基本資料地區,找到DNS主機名稱,在右側單擊禁用禁用DNS主機名稱.png

相關文檔