為瞭解決使用ProxyClient用戶端代理工具遠端連線DSW執行個體時可能出現的影響使用體驗的問題,例如頻繁需要重連、速度低等,DSW提供了直連方式,旨在提供更穩定、更快速的串連體驗。
使用限制
僅以下類型的DSW執行個體支援使用直連方式:
使用靈駿智算資源建立的DSW執行個體。
使用公用資源群組建立的後付費DSW執行個體。
由於VPC的公網NAT Gateway的限制,當使用公網登入方式遠端連線DSW執行個體時,PAI會為您的每個公網NAT Gateway配置最多100條DNAT規則,您無需手動設定。因此,一個公網NAT Gateway最多同時支援100個DSW執行個體。更多有關配額的詳情,請參見配額。
準備工作
當使用公用資源群組建立後付費DSW執行個體時,需要完成以下準備工作:
當使用靈駿智算資源建立DSW執行個體時,需要建立靈駿智算資源。具體操作,請參見靈駿智算資源配額。
如果需要通過公網登入方式(即從本地命令列或其他用戶端)遠端連線DSW執行個體,您需要為專用網路建立公網NAT Gateway並綁定EIP。具體操作,請參見建立公網NAT Gateway、綁定EIP。
開通內網DNS解析(PrivateZone),具體操作,請參見開通內網DNS解析。
步驟一:擷取SSH公開金鑰
直連方式支援VPC內登入和公網登入,如果您需要同時支援兩種登入方式,您需要在多個用戶端上產生公開金鑰。具體操作步驟如下:
在本地命令列或VPC內終端裝置上,運行以下命令,產生免密登入所需的公開金鑰和私密金鑰檔案。
ssh-keygen -m PEM -t rsa -b 4096
執行該命令後,預設在以下目錄中產生4096位RSA類型的公開金鑰和私密金鑰檔案。如果當前位置已存在SSH金鑰組,則這些檔案將被覆蓋。
Windows作業系統:儲存在
C:\Users\<username>\.ssh
目錄或C:\使用者\<username>\.ssh
目錄。Linux作業系統:root使用者儲存在
/root/.ssh
目錄;普通使用者儲存在/home/<username>/.ssh
目錄。Mac作業系統:儲存在
/Users/<username>/.ssh
目錄。
配置金鑰組儲存的檔案。
(推薦)不指定檔案名稱,直接按斷行符號鍵(Enter)。預設產生的金鑰組檔案為
~/.ssh/id_rsa
(私密金鑰)和~/.ssh/id_rsa.pub
(公開金鑰)。(可選)指定自訂金鑰組檔案名稱,例如:example_id_rsa。
根據提示資訊設定passphrase,並儲存到本地。後續會使用該密碼來遠端連線DSW執行個體。
步驟二:開啟DSW執行個體的直連功能
建立DSW執行個體時開啟直連功能
建立DSW執行個體,其中關鍵參數配置如下,其他參數配置詳情,請參見建立DSW執行個體。
當資源群組選擇靈駿智算資源時:
參數
描述
SSH配置
SSH公開金鑰
開啟SSH配置開關,將步驟一中產生的公開金鑰檔案
id_rsa.pub
的內容手動複製到該文字框中。說明如果您需要同時支援VPC內登入和公網登入方式,您需要同時添加多個用戶端的公開金鑰。請按照斷行符號換行的方式逐個添加公開金鑰,最多支援添加10個公開金鑰。
登入方式
VPC內登入:預設支援該登入方式。您可以從VPC內的其他終端(例如ECS),通過SSH遠端連線DSW執行個體。
公網登入:您可以在支援VPC內登入的基礎上,增加公網登入方式。選中公網登入,並配置以下參數,後續您可以通過本地命令列或其他終端使用SSH遠端連線到DSW執行個體。
NAT Gateway:選擇為專用網路建立的公網NAT Gateway。
Elastic IP Address:選擇在公網NAT Gateway中已建立的Elastic IP Address。
當資源群組選擇公用資源群組時:
參數
描述
網路設定
專用網路
選擇已建立的專用網路、交換器和安全性群組。
安全性群組
交換器
公網訪問網關
請根據您的使用情境進行選擇:
公有網關:叢集中的DSW執行個體使用共用的公網頻寬。
專有網關:獨享頻寬,您可以根據需求選擇不同的頻寬。選擇該方式後,您需要為DSW執行個體關聯的專用網路建立公網NAT Gateway、綁定EIP並配置SNAT條目,否則將無法通過DSW執行個體訪問公網。具體配置方法,請參見DSW通過專有公網網關訪問公網。
SSH配置
說明開啟網路設定後可見。
SSH公開金鑰
開啟SSH配置開關,將步驟一中產生的公開金鑰檔案
id_rsa.pub
的內容手動複製到該文字框中。說明如果您需要同時支援VPC內登入和公網登入方式,您需要同時添加多個用戶端的公開金鑰。請按照斷行符號換行的方式逐個添加公開金鑰,最多支援添加10個公開金鑰。
登入方式
VPC內登入:預設支援該登入方式。您可以從VPC內的其他終端(例如ECS),通過SSH遠端連線DSW執行個體。
公網登入:您可以在支援VPC內登入的基礎上,增加公網登入方式。選中公網登入,並配置以下參數,後續,您可以通過本地命令列或其他終端使用SSH遠端連線到DSW執行個體。
NAT Gateway:選擇為專用網路建立的公網NAT Gateway。
Elastic IP Address:選擇在公網NAT Gateway中已建立的Elastic IP Address。
更新DSW執行個體時開啟直連功能
在更新DSW執行個體並開啟直連功能時,如果執行個體正在運行中,更新操作會立即重啟執行個體。請確保您已儲存了執行個體中的內容。
進入DSW頁面。具體操作,請參見建立DSW執行個體。
單擊DSW執行個體名稱,進入DSW執行個體詳情頁面。
在執行個體配置頁簽,單擊變更配置。
在變更執行個體配置嚮導頁面,填寫網路設定和SSH配置,配置詳情,請參見建立DSW執行個體時開啟直連功能。
單擊提交更新。
步驟三:安裝SSH Server
如果您的DSW執行個體使用的是預置鏡像或基於預置鏡像產生的自訂鏡像,則已預設安裝了SSH Server,您可以跳過該步驟。否則需要按照以下步驟來手動安裝SSH Server。
進入DSW開發環境。
登入PAI控制台
在左側導覽列單擊工作空間列表,在工作空間列表頁面中單擊待操作的工作空間名稱,進入對應工作空間內。
在頁面左上方,選擇使用服務的地區。
在左側導覽列,選擇 。
可選:在互動式建模(DSW)頁面的搜尋方塊,輸入執行個體名稱或關鍵字,搜尋執行個體。
單擊需要開啟的執行個體操作列下的開啟。
在DSW的Terminal中,執行如下命令。
sudo apt-get update sudo apt-get install openssh-server sudo service ssh start
如果執行命令失敗,返回結果為sudo,表示未找到命令,您可以嘗試執行
apt-get install sudo
命令後,再次執行上述命令即可。
步驟四:遠端連線DSW執行個體
查看訪問方式。
在DSW頁面,單擊執行個體名稱進入執行個體詳情頁面。在執行個體配置頁簽的SSH直連配置地區中,查看公網訪問方式和VPC訪問方式。
說明如果SSH配置未選擇公網登入,則此處將只顯示VPC訪問方式,不顯示公網訪問方式。
通過SSH遠端連線DSW執行個體。
公網訪問
在本地命令列或其他終端中,使用步驟1查詢的公網訪問方式遠端連線到DSW執行個體。
ssh root@xx.xx.xx.xx -p 1024
VPC訪問
在VPC內的其他終端(例如ECS執行個體),使用步驟1查詢的VPC訪問方式遠端連線到DSW執行個體。
ssh root@dsw-notebook-xxxx.dsw-xxxx.dsw.pai.alibaba.com -p 22
使用本地VSCode遠端連線DSW執行個體。
開啟VSCode,在Extensions中安裝Remote - SSH外掛程式。
單擊左下角,喚出Remote-SSH彈窗,選擇Connect to Host... > Add New SSH Host...
輸入SSH連結命令。
單擊右下角Connect,左下角顯示串連成功。
開啟DSW執行個體中的目錄,開始遠程開發和調試。
運行時可串連DSW執行個體中的Kernel。
情境樣本:使用雲上DSW執行個體調試/運行本地Notebook代碼
前提條件
已按照本文步驟一到步驟三完成SSH直連配置。
操作步驟
在本地Terminal安裝remote_ikernel工具,並做初始化配置,添加一個remote kernel。
pip install remote_ikernel
remote_ikernel manage --add \ --kernel_cmd="ipython kernel -f {connection_file}" \ --name="Remote Python" --interface=ssh \ --host=root@*.*.*.*:1024
如果回顯提示如下,表示remote kernel添加成功。
Added kernel ['rik_ssh_root_121_40_*_*_1024_remotepython']: SSH root@121.40.*.*:1024 Remote Python.
在本地VSCode中,開啟一個Notebook檔案,右上方kernel切換,可在搜尋方塊中選到Remote Python。
常見問題
是否支援使用PyCharm等本地WebIDE來遠端連線到DSW執行個體?
原則上支援所有基於原生SSH協議實現的功能。但需要注意的是,如果您使用PyCharm作為用戶端,則會在DSW執行個體中自動觸發下載和安裝服務端。因此,您需要確保您指定的DSW執行個體具有公網訪問能力。
VPC地址訪問不通,如何解決?
請確認您是否使用了自訂鏡像,您的自訂鏡像裡是否安裝並開啟了SSH服務。詳情請參見步驟三:安裝SSH Server。
請確認您建立執行個體的安全性群組規則內,入方向是否允許TCP 22連接埠的訪問。
如果上述方法無法解決您的問題,請聯絡您的商務經理進行進一步排查。
公網地址訪問不通,如何解決?
請先在VPC環境內,確認您的VPC地址是否可以訪問DSW執行個體。
如果VPC地址可以訪問,但公網地址無法訪問。請確認在您選擇的VPC中是否建立了多個公網NAT Gateway:
如果建立了多個公網NAT Gateway,請參考同VPC內多公網NAT Gateway部署方案,檢查您的NAT Gateway、vSwitch和路由表之間的關係是否正確。您在DSW中選擇的vSwitch能夠在路由表中正確路由到您選擇的NAT Gateway,這樣才能使您的SSH請求的返回結果返回到您的用戶端。
如果您只有一個公網NAT Gateway,請使用自助問題排查中的網路連通性問題進行排查。輸入您原生公網IP、您的公網EIP以及DSW執行個體分配給您的連接埠(即在DSW執行個體詳情頁查詢的公網訪問方式中配置的連接埠),分析網路可達性。
相關文檔
DSW也支援使用ProxyClient用戶端代理工具遠端連線DSW執行個體。具體操作,請參見ProxyClient方式。