VPC凝視

VPC對等允許您的Databricks集群使用內部AWS網絡中的私有IP地址連接到其他AWS基礎設施(RDS、Redshift、Kafka、Cassandra等)。

承載其他基礎設施的VPC的CIDR範圍必須與Databricks VPC和Databricks VPC主路由表中作為目的地的任何其他CIDR範圍不同。如果您有衝突,您可以聯係Databricks支持谘詢如何將Databricks VPC移動到您選擇的新CIDR範圍。您可以在AWS控製台中搜索Databricks VPC,單擊與其關聯的主路由表,然後檢查路由表選項卡。下麵是Databricks部署的一個主路由表示例,該部署已經與其他幾個vpc進行了對等:

數據VPC路由表

有關VPC對等的信息,請參見AWS VPC互聯指南

本指南將向您介紹一個使用AWS控製台將AWS Aurora RDS對等到Databricks VPC的示例。如果您喜歡編程式解決方案,請轉到程序化VPC對等對於一個為你執行所有步驟的筆記本。最後,還有一個故障排除部分為常見問題和解決辦法。

重要的

在嚐試設置VPC對等連接之前,請谘詢AWS/devops團隊。熟悉AWS以及足夠的權限將確保此過程順利進行。筆記本可以幫助您完成這種轉換,但是根據您的環境,重要的是要確保進行必要的修改,以確保對現有的基礎架構沒有影響。

AWS控製台示例

下圖說明了將Databricks部署對等到其他AWS基礎設施中所涉及的所有不同組件。在本例中,Databricks部署在一個AWS帳戶中,而Aurora RDS部署在另一個帳戶中。建立對等連接,跨兩個AWS帳戶連接兩個vpc。

跨AWS帳戶的VPC對等連接

當您在自己的AWS控製台中執行此過程時,保存一個信息表以供回頭參考將有所幫助。記錄以下內容:

  1. 數據庫VPC的ID和CIDR範圍。

  2. 其他基礎設施(Aurora RDS)的ID和CIDR範圍。

  3. Databricks VPC的主路由表ID。

AWS服務

名字

ID

CIDR範圍

VPC

磚VPC

vpc-dbcb3fbc

10.126.0.0/16

VPC

Aurora RDS VPC

vpc-7b52471c

172.78.0.0/16

路由表

Databricks主要路由表

rtb - 3775 c750

步驟1:創建對等連接

  1. 導航到VPC儀表板

  2. 選擇對等連接

  3. 點擊創建對等連接

  4. 設置VPC請求者到Databricks VPC ID。

  5. 設置VPC受體到Aurora VPC ID。

  6. 點擊創建對等連接

    創建對等連接

步驟2:記錄對等連接ID

AWS服務

名字

ID

CIDR範圍

VPC

磚VPC

vpc-dbcb3fbc

10.126.0.0/16

VPC

Aurora RDS VPC

vpc-7b52471c

172.78.0.0/16

路由表

Databricks主要路由表

rtb - 3775 c750

對等連接

Databricks VPC <> Aurora VPC

pcx-4d148024

步驟3:接受對等連接請求

使用Aurora RDS的VPC需要其所有者批準請求。“對等連接”狀態為等待驗收直到這件事完成。

對等連接待驗收

選擇Actions >接受請求

對等連接接受請求

步驟4:添加DNS解析到對等連接

  1. 登錄Databricks VPC所在的AWS帳號。

  2. 導航到VPC儀表板

  3. 選擇對等連接

  4. 從Actions菜單中選擇編輯DNS設置

  5. 單擊以啟用DNS解析

  6. 登錄Aurora VPC所在的AWS帳號,重複步驟2 - 4。

啟用DNS解析

步驟5:在Databricks VPC主路由表中添加destination

  1. 選擇路由表在VPC Dashboard中。

  2. 搜索數據庫VPC ID。

  3. 單擊編輯按鈕。路線選項卡。

  4. 點擊添加另一條路由

  5. 填寫Aurora VPC的CIDR範圍目的地

  6. 接口的對等連接ID目標

    數據庫VPC路由目的地

步驟6:添加目的地到Aurora VPC主路由表

  1. 選擇路由表在VPC Dashboard中。

  2. 查詢Aurora VPC ID

  3. 單擊編輯按鈕。路線選項卡。

  4. 點擊添加另一條路由

  5. 輸入Databricks VPC的CIDR範圍目的地

  6. 接口的對等連接ID目標

    Aurora VPC路由目的地

步驟7:找到Databricks非托管安全組

  1. 選擇安全組在VPC Dashboard中。

  2. 1 .查詢Databricks VPC ID。

  3. 查找並記錄對應的安全組ID非托管在名字上。做選擇“托管安全組”。

AWS服務

名字

ID

CIDR範圍

VPC

磚VPC

vpc-dbcb3fbc

10.126.0.0/16

VPC

Aurora RDS VPC

vpc-7b52471c

172.78.0.0/16

路由表

Databricks主要路由表

rtb - 3775 c750

對等連接

Databricks VPC <> Aurora VPC

pcx-4d148024

安全組

Databricks非托管組

sg - 96016 -性能試驗

步驟8:將規則添加到非托管安全組

  1. 選擇安全組在VPC Dashboard中。

  2. 查詢Aurora VPC的ID。

  3. 添加一個入站規則通過點擊編輯然後添加另一條規則

  4. 選擇自定義TCP規則或與您的RDS相關的服務。

  5. 設置端口範圍以對應您的RDS服務。Aurora [MySQL]的默認值是3306。

  6. 設置的安全組ID非托管數據庫安全組。

    極光安全組規則

步驟9:測試連通性

  1. 創建Databricks集群。

  2. 檢查是否可以使用以下命令連接到數據庫netcat命令:

    %sh nc -zv   . %sh nc -zv   . %sh
    驗證連接

程序化VPC對等

本筆記本支持兩種場景:

  • 在同一AWS帳戶下的數據庫VPC和其他VPC之間建立對等關係

  • 在不同AWS帳戶中的另一個VPC之間建立對等關係

VPC對等筆記本

在新標簽頁打開筆記本

故障排除

無法建立連接netcat

如果你不能建立連接netcat,檢查主機名是否通過DNS解析宿主Linux命令。如果主機名無法解析,請驗證是否在對等連接中啟用了DNS解析。

%sh host -t a  .使用實例
驗證DNS解析

無法與主機名或IP地址建立連接

如果不能與主機名或IP地址建立連接,請驗證Aurora RDS的VPC是否有3個子網與它的主路由表相關聯。

  1. 選擇子網VPC儀表板,查詢Aurora VPC的ID。每個可用分區都應該有一個子網。

    Aurora VPC子網
  2. 確保每個子網都與主路由表相關聯。

    1. 選擇路由表在VPC Dashboard中查找與Aurora RDS關聯的主路由表。

    2. 單擊子網協會TAB鍵,然後編輯.您應該在列表中看到所有3個子網,但它們都不應該存在聯係選中。

      Aurora子網協會

DNS無法正常工作

查看路由53,確認“數據庫”VPC與VPC中使用的私有托管區域關聯。