直連方式
為了解決使用ProxyClient客戶端代理工具遠程連接DSW實例時可能出現(xiàn)的影響使用體驗的問題,例如頻繁需要重連、速度低等,DSW提供了直連方式,旨在提供更穩(wěn)定、更快速的連接體驗。
使用限制
僅以下類型的DSW實例支持使用直連方式:
使用靈駿智算資源創(chuàng)建的DSW實例。
使用公共資源組創(chuàng)建的后付費DSW實例。
由于VPC的公網(wǎng)NAT網(wǎng)關的限制,當使用公網(wǎng)登錄方式遠程連接DSW實例時,PAI會為您的每個公網(wǎng)NAT網(wǎng)關配置最多100條DNAT規(guī)則,您無需手動配置。因此,一個公網(wǎng)NAT網(wǎng)關最多同時支持100個DSW實例。更多有關配額的詳情,請參見配額。
準備工作
當使用公共資源組創(chuàng)建后付費DSW實例時,需要完成以下準備工作:
創(chuàng)建專有網(wǎng)絡和交換機。具體操作,請參見創(chuàng)建和管理專有網(wǎng)絡。
為專有網(wǎng)絡創(chuàng)建安全組。具體操作,請參見創(chuàng)建安全組。
當使用靈駿智算資源創(chuàng)建DSW實例時,需要創(chuàng)建靈駿智算資源。具體操作,請參見靈駿智算資源配額。
如果需要通過公網(wǎng)登錄方式(即從本地命令行或其他客戶端)遠程連接DSW實例,您需要為專有網(wǎng)絡創(chuàng)建公網(wǎng)NAT網(wǎng)關并綁定EIP。具體操作,請參見創(chuàng)建公網(wǎng)NAT網(wǎng)關、綁定EIP。
開通內(nèi)網(wǎng)DNS解析(PrivateZone),具體操作,請參見開通內(nèi)網(wǎng)DNS解析。
步驟一:獲取SSH公鑰
直連方式支持VPC內(nèi)登錄和公網(wǎng)登錄,如果您需要同時支持兩種登錄方式,您需要在多個客戶端上生成公鑰。具體操作步驟如下:
在本地命令行或VPC內(nèi)終端設備上,運行以下命令,生成免密登錄所需的公鑰和私鑰文件。
ssh-keygen -m PEM -t rsa -b 4096
執(zhí)行該命令后,默認在以下目錄中生成4096位RSA類型的公鑰和私鑰文件。如果當前位置已存在SSH密鑰對,則這些文件將被覆蓋。
Windows操作系統(tǒng):保存在
C:\Users\<username>\.ssh
目錄或C:\用戶\<username>\.ssh
目錄。Linux操作系統(tǒng):root用戶保存在
/root/.ssh
目錄;普通用戶保存在/home/<username>/.ssh
目錄。Mac操作系統(tǒng):保存在
/Users/<username>/.ssh
目錄。
配置密鑰對保存的文件。
(推薦)不指定文件名,直接按回車鍵(Enter)。默認生成的密鑰對文件為
~/.ssh/id_rsa
(私鑰)和~/.ssh/id_rsa.pub
(公鑰)。(可選)指定自定義密鑰對文件名,例如:example_id_rsa。
根據(jù)提示信息設置passphrase,并保存到本地。后續(xù)會使用該密碼來遠程連接DSW實例。
步驟二:開啟DSW實例的直連功能
創(chuàng)建DSW實例時開啟直連功能
創(chuàng)建DSW實例,其中關鍵參數(shù)配置如下,其他參數(shù)配置詳情,請參見創(chuàng)建DSW實例。
當資源組選擇靈駿智算資源時:
參數(shù)
描述
SSH配置
SSH公鑰
打開SSH配置開關,將步驟一中生成的公鑰文件
id_rsa.pub
的內(nèi)容手動復制到該文本框中。說明如果您需要同時支持VPC內(nèi)登錄和公網(wǎng)登錄方式,您需要同時添加多個客戶端的公鑰。請按照回車換行的方式逐個添加公鑰,最多支持添加10個公鑰。
登錄方式
VPC內(nèi)登錄:默認支持該登錄方式。您可以從VPC內(nèi)的其他終端(例如ECS),通過SSH遠程連接DSW實例。
公網(wǎng)登錄:您可以在支持VPC內(nèi)登錄的基礎上,增加公網(wǎng)登錄方式。選中公網(wǎng)登錄,并配置以下參數(shù),后續(xù)您可以通過本地命令行或其他終端使用SSH遠程連接到DSW實例。
NAT網(wǎng)關:選擇為專有網(wǎng)絡創(chuàng)建的公網(wǎng)NAT網(wǎng)關。
彈性公網(wǎng)IP:選擇在公網(wǎng)NAT網(wǎng)關中已創(chuàng)建的彈性公網(wǎng)IP。
當資源組選擇公共資源組時:
參數(shù)
描述
網(wǎng)絡配置
專有網(wǎng)絡
選擇已創(chuàng)建的專有網(wǎng)絡、交換機和安全組。
安全組
交換機
公網(wǎng)訪問網(wǎng)關
請根據(jù)您的使用場景進行選擇:
公有網(wǎng)關:集群中的DSW實例使用共享的公網(wǎng)帶寬。
專有網(wǎng)關:獨享帶寬,您可以根據(jù)需求選擇不同的帶寬。選擇該方式后,您需要為DSW實例關聯(lián)的專有網(wǎng)絡創(chuàng)建公網(wǎng)NAT網(wǎng)關、綁定EIP并配置SNAT條目,否則將無法通過DSW實例訪問公網(wǎng)。具體配置方法,請參見DSW通過專有公網(wǎng)網(wǎng)關訪問公網(wǎng)。
SSH配置
說明打開網(wǎng)絡配置后可見。
SSH公鑰
打開SSH配置開關,將步驟一中生成的公鑰文件
id_rsa.pub
的內(nèi)容手動復制到該文本框中。說明如果您需要同時支持VPC內(nèi)登錄和公網(wǎng)登錄方式,您需要同時添加多個客戶端的公鑰。請按照回車換行的方式逐個添加公鑰,最多支持添加10個公鑰。
登錄方式
VPC內(nèi)登錄:默認支持該登錄方式。您可以從VPC內(nèi)的其他終端(例如ECS),通過SSH遠程連接DSW實例。
公網(wǎng)登錄:您可以在支持VPC內(nèi)登錄的基礎上,增加公網(wǎng)登錄方式。選中公網(wǎng)登錄,并配置以下參數(shù),后續(xù),您可以通過本地命令行或其他終端使用SSH遠程連接到DSW實例。
NAT網(wǎng)關:選擇為專有網(wǎng)絡創(chuàng)建的公網(wǎng)NAT網(wǎng)關。
彈性公網(wǎng)IP:選擇在公網(wǎng)NAT網(wǎng)關中已創(chuàng)建的彈性公網(wǎng)IP。
更新DSW實例時開啟直連功能
在更新DSW實例并開啟直連功能時,如果實例正在運行中,更新操作會立即重啟實例。請確保您已保存了實例中的內(nèi)容。
進入DSW頁面。具體操作,請參見創(chuàng)建DSW實例。
單擊DSW實例名稱,進入DSW實例詳情頁面。
在實例配置頁簽,單擊變更配置。
在變更實例配置向?qū)ы撁妫顚?b data-tag="uicontrol" id="95d0a2c07c8tb" class="uicontrol">網(wǎng)絡配置和SSH配置,配置詳情,請參見創(chuàng)建DSW實例時開啟直連功能。
單擊提交更新。
步驟三:安裝SSH Server
如果您的DSW實例使用的是預置鏡像或基于預置鏡像生成的自定義鏡像,則已默認安裝了SSH Server,您可以跳過該步驟。否則需要按照以下步驟來手動安裝SSH Server。
進入DSW開發(fā)環(huán)境。
登錄PAI控制臺
在左側(cè)導航欄單擊工作空間列表,在工作空間列表頁面中單擊待操作的工作空間名稱,進入對應工作空間內(nèi)。
在頁面左上方,選擇使用服務的地域。
在左側(cè)導航欄,選擇 。
可選:在交互式建模(DSW)頁面的搜索框,輸入實例名稱或關鍵字,搜索實例。
單擊需要打開的實例操作列下的打開。
在DSW的Terminal中,執(zhí)行如下命令,setup_ssh.sh工具會自動幫您下載安裝SSH Server。
wget https://dsw-resource.oss-cn-beijing.aliyuncs.com/tools/setup_ssh.sh bash setup_ssh.sh
步驟四:遠程連接DSW實例
查看訪問方式。
在DSW頁面,單擊實例名稱進入實例詳情頁面。在實例配置頁簽的SSH直連配置區(qū)域中,查看公網(wǎng)訪問方式和VPC訪問方式。
說明如果SSH配置未選擇公網(wǎng)登錄,則此處將只顯示VPC訪問方式,不顯示公網(wǎng)訪問方式。
通過SSH遠程連接DSW實例。
公網(wǎng)訪問
在本地命令行或其他終端中,使用步驟1查詢的公網(wǎng)訪問方式遠程連接到DSW實例。
ssh root@xx.xx.xx.xx -p 1024
VPC訪問
在VPC內(nèi)的其他終端(例如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實例中的目錄,開始遠程開發(fā)和調(diào)試。
運行時可連接DSW實例中的Kernel。
場景示例:使用云上DSW實例調(diào)試/運行本地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協(xié)議實現(xiàn)的功能。但需要注意的是,如果您使用PyCharm作為客戶端,則會在DSW實例中自動觸發(fā)下載和安裝服務端。因此,您需要確保您指定的DSW實例具有公網(wǎng)訪問能力。
VPC地址訪問不通,如何解決?
請確認您是否使用了自定義鏡像,您的自定義鏡像里是否安裝并開啟了SSH服務。詳情請參見步驟三:安裝SSH Server。
請確認您創(chuàng)建實例的安全組規(guī)則內(nèi),入方向是否允許TCP 22端口的訪問。
如果上述方法無法解決您的問題,請聯(lián)系您的商務經(jīng)理進行進一步排查。
公網(wǎng)地址訪問不通,如何解決?
請先在VPC環(huán)境內(nèi),確認您的VPC地址是否可以訪問DSW實例。
如果VPC地址可以訪問,但公網(wǎng)地址無法訪問。請確認在您選擇的VPC中是否創(chuàng)建了多個公網(wǎng)NAT網(wǎng)關:
如果創(chuàng)建了多個公網(wǎng)NAT網(wǎng)關,請參考同VPC內(nèi)多公網(wǎng)NAT網(wǎng)關部署方案,檢查您的NAT網(wǎng)關、vSwitch和路由表之間的關系是否正確。您在DSW中選擇的vSwitch能夠在路由表中正確路由到您選擇的NAT網(wǎng)關,這樣才能使您的SSH請求的返回結(jié)果返回到您的客戶端。
如果您只有一個公網(wǎng)NAT網(wǎng)關,請使用自助問題排查中的網(wǎng)絡連通性問題進行排查。輸入您本機的公網(wǎng)IP、您的公網(wǎng)EIP以及DSW實例分配給您的端口(即在DSW實例詳情頁查詢的公網(wǎng)訪問方式中配置的端口),分析網(wǎng)絡可達性。
相關文檔
DSW也支持使用ProxyClient客戶端代理工具遠程連接DSW實例。具體操作,請參見ProxyClient方式。