通過NAT網關的代理流量
本指南介紹如何配置Databricks通過NAT網關代理EC2實例與另一個IP地址之間的流量。例如,您可以將BI軟件指向一個靜態IP地址,該地址通過NAT網關將所有流量代理到Redshift集群。從Redshift集群的角度來看,無論Databricks集群的配置如何,所有實例都有一個穩定的公共IP地址。
請注意
要代理Redshift流量,必須使用IPv4彈性IP啟動Redshift集群。彈性IP是穩定的、可公開訪問的IP。
本文將介紹如何在Databricks VPC中分配一個新的公網子網,在子網內添加一個NAT網關,並更新默認路由表以確保特定的流量通過NAT網關。
在Databricks VPC中創建子網
聯係Databricks獲取您的Databricks VPC的ID。
登錄AWS VPC控製台,選擇子網從左邊的麵板。
在搜索框中輸入“Databricks VPC ID”,可查看Databricks VPC中包含的所有子網。
默認情況下,Databricks為每個AZ創建一個子網。您必須從相同的b類範圍中選擇一個未使用的CIDR塊,例如
a.b.0.0
.在本例中,使用了三個CIDR塊:10.29.224.0/19
,10.29.192.0/19
,10.29.160.0/19
.地址範圍內的所有ip地址10.29.0.0
~10.29.159.255
都是免費的。可在該範圍內選擇新的c類子網,例如10.29.100.0/24
.點擊創建子網並輸入以下信息:
姓名標簽:子網名稱。磚推薦使用
網關
作為名字的一部分。VPC: Databricks VPC的ID。
可用性區域:至少一個可用性區域,具體取決於您的可用性需求。
CIDR塊:未使用的CIDR塊,包含至少一個IP地址。
請注意
Databricks從b類範圍的頂部開始分配CIDR塊。當您為網關子網選擇CIDR塊時,Databricks建議您使用較低的範圍,以避免在AWS向該區域添加更多可用分區時發生衝突。
公網子網隻需要一個IP地址作為NAT網關。
點擊是的,創建.
在子網中創建NAT網關
選擇NAT網關在AWS VPC控製台左側界麵,單擊創建NAT網關.
在子網,選擇剛創建的子網。
選擇任何可用的IP彈性IP分配ID.如果沒有可用的彈性IP,請先創建新的彈性IP。
點擊創建NAT網關.
在成功界麵單擊編輯路線表.
關聯路由表和網關子網
點擊創建路由表.
在姓名標簽,輸入路由表名稱。
在VPC,選擇“數據庫VPC ID”。
點擊是的,創建.
在列表中選擇新建的路由表。
在路線選項卡上,單擊編輯,然後單擊添加另一個路線.
輸入
0.0.0.0/0
在目的地.在目標,選擇“Databricks”VPC的internet網關,以
igw =
.點擊保存.
點擊編輯在子網協會選項卡。
選擇NAT網關的子網。
點擊保存.該子網現在是一個公共子網,可以在互聯網上訪問。
配置到外部係統的路由
VPC內部節點與外部係統(如Redshift)之間的所有流量都需要通過NAT網關轉發。
在AWS VPC控製台左側麵板,選擇路由表.
在搜索框中輸入“Databricks VPC ID”。列表中顯示Databricks VPC使用的所有路由表。
其中一個路由是您剛剛創建的網關路由表。
另一方麵,標記主要,為VPC中所有其他子網的默認路由表。
選擇主要路由表。
在路線選項卡上,單擊編輯.
在目的地,查找外部係統的彈性IP。下圖中彈性IP為
為1.2.3.4
.在目標,選擇之前創建的NAT網關。它開始於
nat -
.點擊保存.
所有VPC實例與彈性IP之間的所有流量都經過NAT網關。從外部係統來看,所有節點都有彈性IP地址。配置NAT網關彈性IP地址為ame IP地址。內部流量繼續使用VPC原有的路由規則。
在VPC中添加S3端點
通過NAT網關的外部流量需要支付額外的費用亞馬遜VPC定價).為了減少成本和延遲,您可以將Databricks資產存儲在S3桶中。彈性IP和S3桶之間流量正常。
請注意
VPC終端不支持跨域訪問。當訪問不同地域的S3桶時,流量會經過NAT網關。
在AWS VPC控製台左側麵板,選擇端點.
點擊創建端點.
在VPC,選擇“數據庫VPC ID”。
在服務,選擇唯一可用的S3服務。
點擊下一個步驟.
選擇主要路由表。這將S3端點與所有私有子網關聯起來。
點擊創建端點.
檢查子網設置
在子網頁,轉到路由表選項卡。
在搜索框中輸入“Databricks VPC ID”。
驗證如下:
網關子網具有
0.0.0.0/0
設置到VPC的internet網關的路由(igw-xxxxxx
).所有其他子網都有
0.0.0.0/0
設置到NAT網關的路由(nat-xxxxxx
).如果S3端點配置正確,則該列表包含一個目標設置為的路由
vpce-xxxx<目標>
.
重要的
VPC與Databricks的控製平麵進行對等連接。pcx-xxxxx
)應保持原樣。
關閉集群的公網IP地址
確認NAT網關代理功能正常後,可以在新創建的集群上申請刪除公網IP地址。
重要的
不能在現有AWS實例上禁用公網IP地址。
聯係Databricks支持人員,並告知他們您想禁用公共IP地址。
在Databricks確認配置更改完成後,終止Databricks中的所有集群。
等待一個小時,等待AWS資源被清理,或者手動終止AWS控製台中現有的實例。如果跳過此步驟,Databricks可能會為任何新的集群重用仍然具有以前分配的公共IP地址的現有實例。
登錄到Databricks部署並創建一個新的集群。等待集群準備就緒。
要驗證集群沒有公網IP地址,請轉到AWS EC2儀表板並檢查工作實例的配置:
如果集群有公網IP地址,或者集群沒有準備好,請聯係Databricks。