適用於通過MaxCompute SQL、UDF、Spark、PyODPS/Mars、外部表格或基於湖倉一體架構訪問處於VPC網路下的RDS、HBase叢集、Hadoop叢集等情境。
該方案會建立兩個安全性群組用於回程流量的開通,名稱為MaxCompute-vpc-xxx和MaxCompute-backup-vpc-xxx(根據使用者填寫的vpcid補充名稱),請勿修改這兩個安全性群組的規則,也不要用這兩個安全性群組管理其他組件的安全規則,如修改導致問題,平台不承擔相應責任。
操作步驟
步驟一:帳號及專案準備
開通MaxCompute與目標服務間的網路連接前,需要確認以下兩個條件。
建立MaxCompute專案。在湖倉一體情境中,建議設定MaxCompute專案的資料類型為Hive相容類型。
如果需要訪問位於VPC網路中的目標服務,請確保VPC所有者帳號、訪問MaxCompute專案的阿里雲帳號,以及目標服務環境或叢集的管理員帳號是同一個主帳號或同在一個主帳號下。
步驟二:開通專線網路連接
1. 授權
對操作使用者授權:為操作使用者授予建立網路連接對象的許可權。
授權使用者需要是專案所有者(Project Owner),或具備租戶層級的Super_Administrator或Admin角色的使用者(詳情請參見角色規劃)。
授權過程可參見租戶內對象許可權一覽表。
對MaxCompute授權:允許MaxCompute在VPC內建立ENI網卡,以實現MaxCompute到使用者VPC的連通。使用者只要在阿里雲帳號登入狀態下單擊授權即可。
2. 配置安全性群組規則
在VPC執行個體下,建立獨立安全性群組用於控制MaxCompute對VPC網路內的各種資源的存取權限。
推薦建立一個普通安全性群組,盡量避免使用其他類型的安全性群組或正在被使用的安全性群組。MaxCompute會在目前使用者的Virtual Private Cloud下建立ENI網卡,用於訪問使用者服務。
設定該安全性群組的規則出方向,控制MaxCompute作業(ENI網卡)可以訪問的目標地址(如無特殊需要,出方向保持預設);
入ENI的流量為回包,所以入方向的全部流量都開啟。
登入專用網路管理主控台。
在左側導覽列選擇專用網路,在左上方選擇地區。
在專用網路頁面,單擊目標專用網路執行個體ID/名稱。
在專用網路詳情頁,選擇資源管理頁簽。
在資源管理頁簽的專用網路資源地區,將滑鼠移至上方至安全性群組數值上方,單擊添加。
安全性群組類型選擇普通安全性群組。
普通安全性群組出口預設開啟。企業安全性群組出口預設關閉,會導致無法訪問VPC內的任何服務。
選擇與連通服務相同的VPC網路。
更多建立安全性群組操作,請參見建立安全性群組。
配置安全性群組支援MaxCompute網路
單擊目標安全性群組操作列的管理規則。
在訪問規則地區,選擇入方向頁簽。單擊目標規則對應的操作列的編輯。按照如下配置開放入方向的所有流量。
授權策略選擇允許。
優先順序為1。
協議選擇所有流量。
訪問來源加入VPC對應的網段或者被訪問的雲端服務所在VSW的網段。
訪問目的預設為全部(-1/-1)。
配置方法詳情請參見安全性群組應用指導和案例。
在HBase情境,如果HBase無法對某個安全性群組開放網路許可權,可以將MaxCompute建立的ENI IP添加至白名單。由於ENI IP可能會發生變化,推薦添加VPC執行個體對應交換器的IP網段至白名單。登入ECS管理主控台,在左側導覽列,單擊彈性網卡,擷取ENI IP。
MaxCompute在後續的建立網路通路過程中會預設自動根據頻寬需求建立2個ENI,不收取費用,由MaxCompute建立的ENI將位於這個安全性群組內。
3. 建立MaxCompute與目標VPC網路間的網路連接
阿里雲帳號(主帳號)或擁有MaxCompute租戶層級的Super_Administrator或Admin角色的RAM使用者(詳情請參見MaxCompute租戶層級角色),可以在MaxCompute控制台建立MaxCompute與VPC網路之間的串連。操作如下:
登入MaxCompute控制台,在左上方選擇地區。
在左側導覽列,選擇 。
在网络连接頁面,單擊新增网络连接。
在彈出的新增网络连接對話方塊,根據介面提示文案設定項目資訊,單擊確定。首次新增需先前往授權,允許MaxCompute平台代理申請網卡,否則串連將建立失敗。
在彈出的新增网络连接對話方塊,根據介面提示文案設定項目資訊,單擊確定。首次新增需先前往授權,允許MaxCompute平台代理申請網卡,否則串連將建立失敗。
配置參數如下:
參數
是否必填
描述
连接名称:
必填
自訂串連名稱。格式如下:
字母開頭。
只能包含字母、底線(_)和數字。
長度在1-63個字元。
类型:
必填
預設為直通连接(passthrough)。
直通连接(passthrough)對應的即是專用網路串連方案。
区域:
必填
系統根據左上方選擇的地區自動產生。詳情請參見開通地區。
已选择VPC:
必填
Virtual Private Cloud是雲上安全隔離的虛擬網路環境,提供了類似於傳統資料中心的安全和可配置的私人網路空間。
交换机:
必填
交換器用來劃分子網,同一VPC內的不同交換器之間內網互連。通過在多個不同可用性區域的交換器中同時部署雲產品資源,可以避免應用受到單一可用性區域故障的影響。
安全组:
必填
安全性群組扮演雲上虛擬防火牆的角色,通過管理安全性群組和規則,可提供精細化的網路安全隔離與存取控制。
安全性群組ID,如需建立安全性群組,請參考建立安全性群組。
4. 配置目標服務的安全性群組
在完成上述操作(即ENI專線開通)後,還需要在待訪問的服務中增加相關安全規則,授權代表MaxCompute的安全性群組,即安全性群組能訪問哪些服務的具體連接埠(例如9200、31000等)。
例如,使用者需要訪問阿里雲RDS,則需要在RDS中增加規則,允許第2步中建立的安全性群組訪問。如果使用者需要訪問的服務無法添加安全性群組,只能添加IP,那麼需要將目標服務所在vSwitch網段都添加進來。
配置Hadoop叢集安全性群組。
為Hadoop叢集的安全性群組配置如下資訊,確保MaxCompute可以訪問Hadoop叢集。安全性群組配置內容如下:
配置Hadoop叢集所在安全性群組的入方向訪問規則。
授權對象為ENI所在的安全性群組,即步驟2中建立的安全性群組。
HiveMetaStore連接埠:9083。
HDFS NameNode連接埠:8020。
HDFS DataNode連接埠:50010。
例如,當串連在阿里雲E-MapReduce上建立的Hadoop叢集時,需要配置的安全性群組規則如下圖所示。更多配置操作,請參見建立安全性群組。

配置HBase叢集安全性群組。
將為MaxCompute建立的安全性群組或ENI IP加入HBase叢集的安全性群組或IP白名單中。
例如,當串連阿里雲HBase叢集時:
登入HBase管理主控台,在左上方選擇地區。
在左側導覽列選擇集群列表。
在集群列表頁面,單擊目的地組群名稱。
在左側導覽列選擇访问控制。
可以在白名单设置和安全组頁簽,增加分组白名单或添加安全组。如果不允許添加安全性群組,在白名单设置頁簽添加MaxCompute建立的ENI IP。當MaxCompute配置變更時,ENI IP可能會發生變化,推薦將交換器ID的IP網段添加至白名單。
更多關於添加安全性群組或IP白名單操作,請參見設定白名單和安全性群組。
配置RDS安全性群組。
將為MaxCompute建立的安全性群組或ENI IP加入RDS安全性群組或IP白名單中。
例如,當串連阿里雲RDS時:
登入RDS 控制台。
在左側導覽列,選擇執行個體列表,在左上方選擇地區。
在左側導覽列,單擊白名單與安全性群組。
可以在白名單設定和安全性群組頁簽添加IP白名單或安全性群組。當MaxCompute配置變更時,ENI IP可能會發生變化,推薦將交換器ID的IP網段添加至白名單。
步驟三:使用網路連接訪問VPC內的地址
使用SQL或者Spark訪問VPC網路時,在完成上述開通專線網路連接操作後,需要添加以下配置。
其他類型的任務,請根據相應的任務類型調整配置。
使用SQL訪問VPC網路
UDF訪問VPC網路(詳情請參見:通過UDF訪問VPC網路資源)。代碼如下:
--設定網路連接名稱,即基於專用網路串連方案配置的網串連名稱,僅本Session有效: SET odps.session.networklink=testLink;外部表格訪問VPC網路。代碼如下:
-- 在建表語句中設定參數 TBLPROPERTIES( 'networklink'='<networklink_name>')湖倉一體配置Networklink(詳情請參見:湖倉一體2.0使用指南)。
使用Spark訪問VPC網路
運行Spark作業,需要增加如下配置,即可使用ENI專線連通目標VPC內的服務(詳情請參見:Spark訪問VPC執行個體)。
spark.hadoop.odps.cupid.eni.enable = truespark.hadoop.odps.cupid.eni.info=regionid:vpc id
(可選)步驟四:添加白名單
如果使用者服務端有存取控制,需要將建立專線網路連接的安全性群組添加進服務端白名單。