Platform for AI (PAI) のData Science Workshop (DSW) は、Secure Shell (SSH) を介してオンプレミスのホストからDSWインスタンスにリモート接続できるプロキシクライアントを提供します。 接続が確立されたら、Visual Studio Code (VS Code) またはTerminalを使用して機械学習アルゴリズムを開発できます。 このトピックでは、プロキシクライアントを使用してSSH経由でDSWインスタンスに接続する方法について説明します。
前提条件
このトピックで説明する操作を実行する前に、次の要件が満たされていることを確認してください。
DSWインスタンスが作成されます。 詳細については、「DSWインスタンスの作成」をご参照ください。
AccessKey IDとAccessKey secretが取得されます。 詳細については、「AccessKey の作成」をご参照ください。
RAMユーザーまたはRAMロールを使用してSSH経由でDSWインスタンスに接続する場合は、RAMユーザーまたはRAMロールにDSWインスタンスへのアクセス権限を付与する必要があります。 詳細については、「DSWの使用に必要な権限の付与」をご参照ください。
使用上の注意
DSWインスタンスが8月10日の12:00より前に起動された場合 (UTC + 8) 、インスタンスを停止してからインスタンスを再起動し、SSH接続機能を有効にし2022。
説明[インタラクティブモデリング (DSW)] ページに移動して、管理するDSWインスタンスを見つけ、[期間] 列にインスタンスのサービス時間を表示して、インスタンスを再起動する必要があるかどうかを確認できます。 詳細については、「DSWインスタンスの作成」をご参照ください。
設定を完了してDSWインスタンスを再起動する場合は、DSWインスタンスにリモート接続する前に、次の操作が実行されていることを確認してください。
パブリックリソースグループを使用してDSWインスタンスを作成した場合、DSWインスタンスの端末で
sudo service ssh start
コマンドを実行してSSHサービスを開始する必要があります。専用リソースグループを使用してDSWインスタンスを作成し、データセットをマウントしなかった場合は、このトピックの操作を実行して、サーバーの公開キーを再構成し、パスワードフリーログインを有効にするか、パスワードベースのログインを構成します。 データセットをマウントした場合は、DSWインスタンスの端末で
sudo service ssh start
コマンドを実行してSSHサービスを開始します。
手順1: DSWプロキシクライアントをダウンロードしてインストールする
DSWプロキシクライアントファイルをホームディレクトリにダウンロードします。
ホームディレクトリは、オペレーティングシステムによって異なります。 次のセクションでは、さまざまなオペレーティングシステムのホームディレクトリについて説明します。
Windowsオペレーティングシステム: ユーザーの個人用フォルダディレクトリ。 例: C:\Users\<username> またはC:\users \<username> 実際のシナリオに基づいてディレクトリを選択します。
Linuxオペレーティングシステム: /root (rootユーザーの場合) または /home/<username> (標準ユーザーの場合)
macOS: /Users/<username>
<username> を実際のディレクトリに置き換えます。
CLIで次のコマンドを実行して、ダウンロードしたクライアントファイルに対する実行権限を付与します。 Windows X86-64バージョンのクライアントをダウンロードした場合は、この手順をスキップしてください。
chmod 755 <proxyclient>
<proxyclient> を実際のクライアントファイル名に置き換えます。
設定ファイルを生成します。
次のいずれかのコマンドを実行します。
# macOS, Linux ./proxyclient config # Windows proxyclient.exe config
重要macOSを使用すると、
Failed to open "proxyclient" because it is an unverified client
エラーメッセージが初めて実行するときに表示されることがあります。. /proxyclient
コマンドを実行します。 この場合、macOSホストのセキュリティとプライバシーの設定を変更して、プロキシクライアントをホストで実行できるようにすることをお勧めします。画面上の指示に従って、設定ファイルのパスを設定します。
設定ファイルの名前を指定します。 名前にはパスを含めることができます。
説明設定ファイルのデフォルトのパスと名前を使用するには、Enterキーを押します。 デフォルトのパスは
~/.proxyclientconfig
です。設定ファイルには、別のパスと名前を指定できます。 たとえば、Windows X86 64ビットオペレーティングシステムの場合、
C:/Users/<username>/xxx/.proxyclientconfig
を指定できます。カスタムパスを指定する場合は、
-c
または--config-file
を実行すると、カスタムパスに./proxyclient add
ステップ4でコマンドを実行します。
プロンプトに従って、RegionId、AccessKey ID、AccessKey Secret、およびSTSTokenパラメーターを設定します。
下表に、各パラメーターを説明します。
パラメーター
説明
RegionId
リージョン ID です。 たとえば、中国 (上海) リージョンのIDはcn-Shanghaiです。 その他のリージョンIDについては、「リージョンとゾーン」をご参照ください。
重要このパラメーターには、DSWインスタンスが存在するリージョンのIDを指定します。
AccessKey ID
Alibaba CloudアカウントのAccessKeyペア。 Alibaba CloudアカウントのAccessKey IDとAccessKeyシークレットの取得方法については、「AccessKeyペアの作成」をご参照ください。
AccessKeyシークレット
STSToken
Alibaba CloudアカウントまたはRAMユーザーを使用してインスタンスにログインする場合は、このパラメーターを空のままにすることができます。
RAMロールを使用してインスタンスにログインし、一時的なID認証情報を使用する場合は、このパラメーターを設定する必要があります。 STSトークンの取得方法の詳細については、「STSトークンの取得」をご参照ください。
重要STSトークンが有効であることを確認してください。
ステップ2: SSH認証方法の設定
DSWインスタンスに接続するには、SSHキーペアまたはアカウントとパスワードの組み合わせを使用できます。 認証方法を設定した後、接続先のDSWインスタンスの [操作] 列の [イメージの保存] をクリックして、インスタンス設定をイメージとして保存できます。 追加された公開キーまたはパスワードはインスタンスイメージに含まれ、インスタンスの再起動後も有効なままです。
方法1: パスワードなしのログインを設定する (推奨)
SSHキーペアを生成します。
オンプレミスホストのCLIで次のコマンドを実行して、パスワードなしのログオンに必要な公開キーファイルと秘密キーファイルを生成します。 デフォルトでは、生成されるキーペアはRSAキーペアです。
ssh-keygen
キーペアのファイル名を指定します。
(推奨) Enterキーを押して、デフォルトのファイル名を使用します。 ファイル名を指定しない場合、
~/.ssh/id_rsa
秘密鍵ファイルと~/.ssh/id_rsa.pub
公開鍵ファイルが自動的に生成されます。オプションです。 カスタムファイル名を指定します。 例: example_id_rsa。
説明カスタムファイル名を指定する場合は、
~/.ssh/config
ファイルでIdentityFile構文を使用して、手順3で秘密鍵ファイルのパスを指定する必要があります。
プロンプトに従ってpassphraseパラメーターを設定し、パラメーター値をオンプレミスホストに保存します。 passphraseパラメーターの値は、DSWインスタンスに接続するために使用されます。
DSW開発環境に移動します。
PAIコンソールにログインします。
左側のナビゲーションウィンドウで、[ワークスペース] をクリックします。 [ワークスペース] ページで、管理するモデルサービスのワークスペースの名前をクリックします。
ページの左上隅で、サービスを使用するリージョンを選択します。
左側のナビゲーションウィンドウで、
を選択します。(オプションの手順) [インタラクティブモデリング (DSW)] ページで、検索ボックスにインスタンス名またはキーワードを入力してインスタンスを検索します。
DSWインスタンスを見つけ、[操作] 列の [開く] をクリックします。
[ターミナル] タブで、次のコマンドを実行します。 setup_ssh.shツールは、SSHサーバーを自動的にダウンロードしてインストールします。
wget https://dsw-resource.oss-cn-beijing.aliyuncs.com/tools/setup_ssh.sh bash setup_ssh.sh
プロンプトに従ってSSH公開鍵を設定し、SSHサーバーを起動します。
方法2: パスワードベースのログインを設定する
DSWインスタンスのターミナルで、次の操作を実行してパスワードベースのアクセスを設定します。 DSWインスタンスページに移動する方法の詳細については、「方法1: パスワードなしログインの設定 (推奨) 」をご参照ください。
Data Science Workshopページで、上部のナビゲーションバーにあるTermInalタブをクリックします。 [DSWターミナルへようこそ] ページで、[ターミナルの作成] をクリックします。
rootアカウントのパスワードを指定します。
passwd root
SSH設定ファイルを変更して、秘密鍵または公開鍵を使用してルートアカウントのログインを有効にします。
SSH設定ファイルを開きます。
vi /etc/ssh/sshd_config
#PermitRootLogin prohibit-password
をPermitRootLogin yes
に変更し、設定ファイルを保存します。
SSHサーバーを再起動して設定を適用します。
service ssh stop service ssh start
手順3: DSWインスタンスのプロキシを追加する
DSWページに移動します。 詳細については、「DSWインスタンスの作成」をご参照ください。
次の図の手順に従って、DSWインスタンスのIDを表示およびコピーします。
オンプレミスホストのCLIで次のいずれかのコマンドを実行して、DSWインスタンスをSSHターゲットホストとして追加します。
<Instance ID> を手順2で取得したDSWインスタンスIDに置き換えます。
# Mac, Linux ./proxyclient add -i=<Instance ID> # Windows proxyclient.exe add -i=<Instance ID>
プロキシ設定が有効であることを確認するため、.ssh/configファイルのコンテンツをレビューします。
# macOS, Linux cat .ssh/config # Windows Use the CLI of your on-premises host to go to the home directory of the host and run the following command to check the content of the .ssh/config file. You can also double-click the .ssh/config file to open the file. explorer .ssh\config
オプションです。 example_id_rsaなどのキーペアにカスタムファイル名を使用する場合は、
~/.ssh/config
ファイルを変更し、IdentityFile
構文を使用して、ホストへの接続に使用されるキーファイルのパスを指定します。Host dsw-b7a2765b267e**** HostName dsw-b7a2765b267e**** User root ProxyCommand ~/proxyclient connect --region-id=cn-hangzhou --instance-id=dsw-b7a2765b267e**** --config-file=*** ServerAliveInterval 30 IdentityFile ~/.ssh/example_id_rsa
ステップ4: DSWインスタンスへの接続
VSコードを使用してDSWインスタンスへのリモート接続を確立する
具体的な手順は、VSコードのバージョンによって異なります。 使用するVSコードのバージョンに基づいて操作を実行します。 詳細については、VS Codeドキュメントの「入門」をご参照ください。
オンプレミスホストでVSコードを開き、次の図の手順に基づいてRemote-SSH拡張機能をインストールします。
VS Codeの左側のナビゲーションウィンドウで、アイコンをクリックします。
SSH経由で接続するDSWインスタンスを追加します。
SSHの横にあるアイコンをクリックして、インスタンスを追加します。 表示されるフィールドに、DSWインスタンスのIDを入力し、enterキーを押します。
をクリックして、変更する設定ファイルを選択します。
VS Codeの右下隅に表示される [ホストの追加] ダイアログボックスで、[接続] をクリックします。
[Linux] をクリックし、DSWインスタンスのオペレーティングシステムを選択します。
ステップ3で保存したパスフレーズパラメーターの値をフィールドに入力し、Enterキーを押します。
VSコードの [ようこそ] ページが表示されると、接続が確立されます。 オンプレミスホストの接続インスタンスを使用して、VS codeでコーディングを開始できます。
次にDSWインスタンスに接続する場合は、インスタンスを右クリックして接続方法を選択し、プロンプトに従ってパラメーターを設定します。
リモート接続が確立されたら、オンプレミスホストで接続されたインスタンスを使用してコーディングを開始できます。
ツールを使用してインスタンスへのリモート接続を確立する
オンプレミスのコマンドラインツールなどのターミナルツールを開き、次のコマンドを実行してDSWインスタンスに接続します。
<Instance ID> をDSWインスタンスのIDに置き換えます。
ssh <Instance ID>
scp
コマンドを使用して、オンプレミスホストとインスタンス間でファイルまたはディレクトリをコピーすることもできます。
# Copy files from your on-premises host to the instance.
scp local_file_path root@<DSW instance ID >:< remote_file_path>
# Copy directories from your on-premises host to the instance.
scp -r local_dir root@<DSW instance ID >:< remote_dir>
# Copy files from the instance to your on-premises host.
scp root@<DSW instance ID >:< remote_file_path> <local_file_path>
# Copy directories from the instance to your on-premises host.
scp -r root@<DSW instance ID >:< remote_dir> <local_dir>
関連ドキュメント
プロキシクライアントを使用してDSWインスタンスに接続すると、頻繁な再接続や低速などのパフォーマンスの問題が発生する可能性があります。 接続品質を向上させるために、DSWインスタンスに直接接続することを推奨します。 詳細については、以下のトピックをご参照ください。