特别聲明:本文介紹的場景是各種網絡環境下的資料庫該如何将資料上雲(同步的目标端為MaxCompute),若同步的目标端為其他資料源,本文也可參考,底層執行原理基本一緻。
網絡背景(全局通用)
在講網絡問題的解決方案之前,先給大家講講阿裡雲上的網絡背景。
- 同一region下,經典網絡環境中的機器與經典網絡環境中的機器,内網是可以互通的。
- 同一region下,VPC網絡環境中的機器與VPC網絡環境中的機器,内網是可以互通的
- 同一region下,經典網絡環境中的機器和VPC網絡環境中的機器,不保證内網可通。
- 不同region下,經典網絡環境中的機器與經典網絡環境中的機器,不保證内網可通。
- 不同region下,VPC網絡環境中的機器與VPC網絡環境中的機器,不保證内網可通。
- 不同region下,經典網絡環境中的機器和VPC網絡環境中的機器,不保證内網可通。
- 阿裡雲上的ECS和本地IDC機房中的機器,預設内網不通,隻能走公網。
介紹完整體的網絡背景,總結了一句話: 隻有同一region下,同一網絡環境中的機器,内網才能互通,如果開啟了安全組或白名單,請自行添加。
場景描述 - 資料源測試連通性失敗
最近很多使用者都會問我,你好,我的資料源測試連通性的時候失敗了,該如何處理呢?
結合上面介紹的網絡背景,我們需要有一個靈魂三問(請):
- 該資料源是雲資料庫還是自建的資料庫 ?
注:雲資料庫類似rds,是阿裡雲上已經搭建好的資料庫服務,使用者可直接使用。自建的資料庫是指,本地IDC機房中自建搭建的資料庫,或者是在阿裡雲上通過ECS自己搭建的資料庫。
- 資料庫所在的Region和DataWorks項目所在Region是否相同?
- 資料庫的網絡環境是什麼?
雲資料庫
由于RDS資料庫在網絡方面做得比較好,即使是RDS資料庫所在的region 和DataWorks 項目不在同一 region下,且資料庫網絡也是VPC環境下,測試連通性也是可以連通的(因為RDS做了 VPC反向代理)。除RDS資料庫外,其他雲資料庫都可通過以下問題來判斷,通過什麼方式同步資料比較好,以下兩問需嚴格注意。
第一問:資料庫所在的Region和DataWorks項目所在Region是否相同?
- 當資料庫所在region和DataWorks項目在同一region下時,那麼就需要看下一個問題,資料庫的網絡環境了。
- 當資料庫所在region和DataWorks項目不在同一region下時 ,大機率下内網是無法互通的,此時請考慮使用公網,如果不想用公網的話,可以使用自定義資源組。
注:資料內建添加自定義資源組的操作流程: https://help.aliyun.com/document_detail/72979.html 特别注意:在添加自定義資源組中機器時,需保證,該機器與您的資料庫内網可達,判斷規則可借鑒第一節網絡背景。
第二問:資料庫的網絡環境是什麼?
- 當雲資料庫網絡環境是經典網絡時,由于DataWorks底層任務運作的機器,是部署在經典網絡環境下的,是以同一region下,經典網絡的機器與經典網絡的機器網絡是可以互通的,如果測試連通性失敗,那麼可以考慮一下,是不是白名單沒有加全;或者使用者名、密碼等連接配接方式是否書寫正确。
- 當雲資料庫網絡環境是VPC網絡時,大機率下内網是無法互通的,此時可以通過添加自定義資源組的方式,來解決網絡問題。
DataWorks資料內建白名單位址: https://help.aliyun.com/document_detail/72977.html
資料內建添加自定義資源組的操作流程:
ECS上的自建資料庫
ECS上自建資料庫和雲資料庫的情況基本一緻,建議DataWorks的項目和自建資料庫的ECS在同一region下。如果DataWorks項目和自建資料庫的ECS不在同一region下時,又不想使用公網進行資料傳輸,可以考慮使用資料內建的自定義資源組來運作任務。
本地IDC機房中的自建資料庫
當本地IDC機房中的自建資料庫需要上雲的話,可以優先選擇通過公網傳遞資料。若不想将本地IDC機房中的機器開啟公網通路的話,可以使用DataWorks上的自定義資源組來完成資料傳輸;或者通過專線打通網絡。
特别注意,當測試連通性失敗,準備使用自定義資源組來運作任務時。您需要确認您注冊資料源輸入的資料庫連接配接位址、資料庫名、使用者名、密碼等資訊輸入是正确的,确認後選擇完成即可。
場景描述 - 配置資料同步任務
結合上文,當資料源添加成功後,如何完成接下來的同步任務配置。主要分為兩個部分,資料源測試連通性成功,或資料源測試連通性失敗時該如何處理。
測試連通性成功的同步任務配置
當測試連通性成功的時候,表示DataWorks任務的預設執行叢集與您要同步的資料庫之間的網絡是可達的,那麼您隻需要通過正常任務配置即可。任務配置文檔可參考:
向導模式同步任務配置。
測試連通性失敗的同步任務配置
當測試連通性失敗時,表示DataWorks任務的預設執行叢集與您要同步的資料庫之間的網絡是不可達的。那麼意味着,您無法使用向導模式來配置同步任務(無法擷取到資料庫中表的中繼資料資訊),隻能通過腳本模式來配置同步任務(因為資料源中表的中繼資料資訊可以手填),詳情請參考:
腳本模式同步任務配置切記:腳本模式同步任務配置完成以後,需要在右上角的任務運作資源組中,指定同步任務運作所在的資源組。
總結
當您的資料庫與DataWorks任務的預設執行叢集不通時(測試連通性失敗),配置同步任務需注意以下幾點:
- 添加資料內建自定義資源組
- 使用腳本模式配置同步任務
- 修改同步任務運作的資源組
特别注意:在添加自定義資源組中機器時,需保證,該機器與您的資料庫内網可達,判斷規則可借鑒第一節網絡背景。。
如果參考上述方法,還是沒法解決問題,那麼建議工單咨詢。若對本文有無法了解的地方,可加入DataWorks使用者交流群給我們回報,感謝您的支援。DataWorks數加交流0群(群号:11718465)。 也可以釘釘掃碼加群: