全部產品
Search
文件中心

Platform For AI:直連方式

更新時間:Nov 09, 2024

為瞭解決使用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內登入和公網登入,如果您需要同時支援兩種登入方式,您需要在多個用戶端上產生公開金鑰。具體操作步驟如下:

  1. 在本地命令列或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目錄。

  2. 配置金鑰組儲存的檔案。

    • (推薦)不指定檔案名稱,直接按斷行符號鍵(Enter)。預設產生的金鑰組檔案為~/.ssh/id_rsa(私密金鑰)和~/.ssh/id_rsa.pub(公開金鑰)。

    • (可選)指定自訂金鑰組檔案名稱,例如:example_id_rsa。

  3. 根據提示資訊設定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執行個體並開啟直連功能時,如果執行個體正在運行中,更新操作會立即重啟執行個體。請確保您已儲存了執行個體中的內容。

  1. 進入DSW頁面。具體操作,請參見建立DSW執行個體

  2. 單擊DSW執行個體名稱,進入DSW執行個體詳情頁面。

  3. 執行個體配置頁簽,單擊變更配置

  4. 變更執行個體配置嚮導頁面,填寫網路設定SSH配置,配置詳情,請參見建立DSW執行個體時開啟直連功能

  5. 單擊提交更新

步驟三:安裝SSH Server

如果您的DSW執行個體使用的是預置鏡像或基於預置鏡像產生的自訂鏡像,則已預設安裝了SSH Server,您可以跳過該步驟。否則需要按照以下步驟來手動安裝SSH Server。

  1. 進入DSW開發環境。

    1. 登入PAI控制台

    2. 在左側導覽列單擊工作空間列表,在工作空間列表頁面中單擊待操作的工作空間名稱,進入對應工作空間內。

    3. 在頁面左上方,選擇使用服務的地區。

    4. 在左側導覽列,選擇模型開發與訓練 > 互動式建模(DSW)

    5. 可選:互動式建模(DSW)頁面的搜尋方塊,輸入執行個體名稱或關鍵字,搜尋執行個體。

    6. 單擊需要開啟的執行個體操作列下的開啟

  2. 在DSW的Terminal中,執行如下命令。

    sudo apt-get update
    sudo apt-get install openssh-server
    sudo service ssh start

    如果執行命令失敗,返回結果為sudo,表示未找到命令,您可以嘗試執行apt-get install sudo命令後,再次執行上述命令即可。

步驟四:遠端連線DSW執行個體

  1. 查看訪問方式。

    在DSW頁面,單擊執行個體名稱進入執行個體詳情頁面。在執行個體配置頁簽的SSH直連配置地區中,查看公網訪問方式VPC訪問方式

    說明

    如果SSH配置未選擇公網登入,則此處將只顯示VPC訪問方式,不顯示公網訪問方式。

  2. 通過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

  3. 使用本地VSCode遠端連線DSW執行個體。

    1. 開啟VSCode,在Extensions中安裝Remote - SSH外掛程式。

      image

    2. 單擊左下角image,喚出Remote-SSH彈窗,選擇Connect to Host... > Add New SSH Host...

    3. 輸入SSH連結命令。

      image

    4. 單擊右下角Connect,左下角顯示串連成功。

      image

    5. 開啟DSW執行個體中的目錄,開始遠程開發和調試。

      image

    6. 運行時可串連DSW執行個體中的Kernel。

      image

情境樣本:使用雲上DSW執行個體調試/運行本地Notebook代碼

前提條件

已按照本文步驟一到步驟三完成SSH直連配置。

操作步驟

  1. 在本地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.
  2. 在本地VSCode中,開啟一個Notebook檔案,右上方kernel切換,可在搜尋方塊中選到Remote Python。

    image

常見問題

  • 是否支援使用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方式