通過NAT網關的代理流量

本指南介紹如何配置Databricks通過NAT網關代理EC2實例與另一個IP地址之間的流量。例如,您可以將BI軟件指向一個靜態IP地址,該地址通過NAT網關將所有流量代理到Redshift集群。從Redshift集群的角度來看,無論Databricks集群的配置如何,所有實例都有一個穩定的公共IP地址。

請注意

要代理Redshift流量,必須使用IPv4彈性IP啟動Redshift集群。彈性IP是穩定的、可公開訪問的IP。

本文將介紹如何在Databricks VPC中分配一個新的公網子網,在子網內添加一個NAT網關,並更新默認路由表以確保特定的流量通過NAT網關。

在Databricks VPC中創建子網

  1. 聯係Databricks獲取您的Databricks VPC的ID。

  2. 登錄AWS VPC控製台,選擇子網從左邊的麵板。

  3. 在搜索框中輸入“Databricks VPC ID”,可查看Databricks VPC中包含的所有子網。

    創建一個子網

    默認情況下,Databricks為每個AZ創建一個子網。您必須從相同的b類範圍中選擇一個未使用的CIDR塊,例如a.b.0.0.在本例中,使用了三個CIDR塊:10.29.224.0/1910.29.192.0/1910.29.160.0/19.地址範圍內的所有ip地址10.29.0.010.29.159.255都是免費的。可在該範圍內選擇新的c類子網,例如10.29.100.0/24

  4. 點擊創建子網並輸入以下信息:

    創建子網對話框
    • 姓名標簽:子網名稱。磚推薦使用網關作為名字的一部分。

    • VPC: Databricks VPC的ID。

    • 可用性區域:至少一個可用性區域,具體取決於您的可用性需求。

    • CIDR塊:未使用的CIDR塊,包含至少一個IP地址。

    請注意

    • Databricks從b類範圍的頂部開始分配CIDR塊。當您為網關子網選擇CIDR塊時,Databricks建議您使用較低的範圍,以避免在AWS向該區域添加更多可用分區時發生衝突。

    • 公網子網隻需要一個IP地址作為NAT網關。

  5. 點擊是的,創建

在子網中創建NAT網關

  1. 選擇NAT網關在AWS VPC控製台左側界麵,單擊創建NAT網關

    創建NAT網關
  2. 子網,選擇剛創建的子網。

  3. 選擇任何可用的IP彈性IP分配ID.如果沒有可用的彈性IP,請先創建新的彈性IP。

  4. 點擊創建NAT網關

    NAT網關創建
  5. 在成功界麵單擊編輯路線表

關聯路由表和網關子網

  1. 點擊創建路由表

  2. 姓名標簽,輸入路由表名稱。

  3. VPC,選擇“數據庫VPC ID”。

  4. 點擊是的,創建

    創建路由表
  5. 在列表中選擇新建的路由表。

  6. 路線選項卡上,單擊編輯,然後單擊添加另一個路線

  7. 輸入0.0.0.0/0目的地

  8. 目標,選擇“Databricks”VPC的internet網關,以igw =

  9. 點擊保存

    添加一個路線
  10. 點擊編輯子網協會選項卡。

  11. 選擇NAT網關的子網。

  12. 點擊保存.該子網現在是一個公共子網,可以在互聯網上訪問。

    子網協會

配置到外部係統的路由

VPC內部節點與外部係統(如Redshift)之間的所有流量都需要通過NAT網關轉發。

  1. 在AWS VPC控製台左側麵板,選擇路由表

  2. 在搜索框中輸入“Databricks VPC ID”。列表中顯示Databricks VPC使用的所有路由表。

    • 其中一個路由是您剛剛創建的網關路由表。

    • 另一方麵,標記主要,為VPC中所有其他子網的默認路由表。

  3. 選擇主要路由表。

  4. 路線選項卡上,單擊編輯

  5. 目的地,查找外部係統的彈性IP。下圖中彈性IP為為1.2.3.4

  6. 目標,選擇之前創建的NAT網關。它開始於nat -

  7. 點擊保存

    配置路由

所有VPC實例與彈性IP之間的所有流量都經過NAT網關。從外部係統來看,所有節點都有彈性IP地址。配置NAT網關彈性IP地址為ame IP地址。內部流量繼續使用VPC原有的路由規則。

在VPC中添加S3端點

通過NAT網關的外部流量需要支付額外的費用亞馬遜VPC定價).為了減少成本和延遲,您可以將Databricks資產存儲在S3桶中。彈性IP和S3桶之間流量正常。

請注意

VPC終端不支持跨域訪問。當訪問不同地域的S3桶時,流量會經過NAT網關。

  1. 在AWS VPC控製台左側麵板,選擇端點

  2. 點擊創建端點

    創建端點
  3. VPC,選擇“數據庫VPC ID”。

  4. 服務,選擇唯一可用的S3服務。

  5. 點擊下一個步驟

    下一個步驟
  6. 選擇主要路由表。這將S3端點與所有私有子網關聯起來。

  7. 點擊創建端點

    創建端點

檢查子網設置

  1. 子網頁,轉到路由表選項卡。

  2. 在搜索框中輸入“Databricks VPC ID”。

  3. 驗證如下:

    • 網關子網具有0.0.0.0/0設置到VPC的internet網關的路由(igw-xxxxxx).

      網關子網
    • 所有其他子網都有0.0.0.0/0設置到NAT網關的路由(nat-xxxxxx).

    • 如果S3端點配置正確,則該列表包含一個目標設置為的路由vpce-xxxx<目標>

重要的

VPC與Databricks的控製平麵進行對等連接。pcx-xxxxx)應保持原樣。

VPC對等連接

創建一個集群

要測試新配置,請創建一個新集群。自動使用新的NAT網關。在新集群準備就緒後,驗證它是否按預期工作。如果新集群啟動失敗或遇到其他問題,請聯係Databricks。

關閉集群的公網IP地址

確認NAT網關代理功能正常後,可以在新創建的集群上申請刪除公網IP地址。

重要的

不能在現有AWS實例上禁用公網IP地址。

  1. 聯係Databricks支持人員,並告知他們您想禁用公共IP地址。

  2. 在Databricks確認配置更改完成後,終止Databricks中的所有集群。

  3. 等待一個小時,等待AWS資源被清理,或者手動終止AWS控製台中現有的實例。如果跳過此步驟,Databricks可能會為任何新的集群重用仍然具有以前分配的公共IP地址的現有實例。

  4. 登錄到Databricks部署並創建一個新的集群。等待集群準備就緒。

要驗證集群沒有公網IP地址,請轉到AWS EC2儀表板並檢查工作實例的配置:

工人實例的地址

如果集群有公網IP地址,或者集群沒有準備好,請聯係Databricks。