

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# DLAMI インスタンスの設定
<a name="setup"></a>

[DLAMI を選択し](choose-dlami.md)、使用する [Amazon Elastic Compute Cloud (Amazon EC2) インスタンスタイプを選択](instance-select.md)したら、新しい DLAMI インスタンスを設定する準備が整います。

まだ DLAMI および EC2 インスタンスタイプを選択していない場合は、「[DLAMI の使用開始](getting-started.md)」を参照してください。

**Topics**
+ [DLAMI の ID の検索](find-dlami-id.md)
+ [DLAMI インスタンスの起動](launch.md)
+ [DLAMI インスタンスへの接続](setup-connect.md)
+ [DLAMI インスタンスでの Jupyter Notebook サーバーの設定](setup-jupyter.md)
+ [DLAMI インスタンスのクリーンアップ](setup-cleanup.md)

# DLAMI の ID の検索
<a name="find-dlami-id"></a>

DLAMI にはそれぞれ一意の識別子 (ID) があります。Amazon EC2 コンソールを使用して DLAMI インスタンスを起動する場合、DLAMI ID を使用して、使用する DLAMI を検索することもできます。AWS Command Line Interface (AWS CLI) を使用して DLAMI インスタンスを起動する場合、この ID が必要です。

選択した DLAMI の ID は、AWS Systems Manager の一機能である Amazon EC2 または Parameter Store の AWS CLI コマンドを使用して確認できます。AWS CLI のインストールおよび設定の手順については、「*AWS Command Line Interface ユーザーガイド*」の「[AWS CLI の開始方法](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started)」を参照してください。

------
#### [ Using Parameter Store ]

****ssm get-parameter** を使用して DLAMI ID を見つけるには**

次の [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/get-parameter.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ssm/get-parameter.html) コマンドでは、`--name` オプションの場合、パラメータの名前形式は */aws/service/deeplearning/ami/\$1architecture/\$1ami\$1type/latest/ami-id* です。この名前形式では、*architecture* は **x86\$164** または **arm64** のいずれかになります。DLAMI 名を取得し、「deep」、「learning」、「ami」のキーワードを削除して、*ami\$1type* を指定します。AMI 名は [Deep Learning AMI リリースノート](appendix-ami-release-notes.md) にあります。
**重要**  
このコマンドを使用する場合、使用する AWS Identity and Access Management (IAM) プリンシパルに `ssm:GetParameter` 許可が必要です。IAM プリンシパルの詳細については、「*IAM ユーザーガイド*」の「**IAM ロール**」にある「[その他のリソース](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#id_roles_additional-resources)」セクションを参照してください。
+ 

  ```
  aws ssm get-parameter --name /aws/service/deeplearning/ami/x86_64/base-oss-nvidia-driver-ubuntu-22.04/latest/ami-id  \
  --region us-east-1 --query "Parameter.Value" --output text
  ```

  出力は次の例に類似したものになります:

  ```
  ami-09ee1a996ac214ce7
  ```
**ヒント**  
現在サポートされている DLAMI フレームワークの一部については、[Deep Learning AMI リリースノート](appendix-ami-release-notes.md) でより具体的な **ssm get-parameter** コマンドの例を確認できます。選択した DLAMI のリリースノートへのリンクを選択し、その ID クエリをリリースノートで検索します。

------
#### [ Using Amazon EC2 CLI ]

****ec2 describe-images** を使用して DLAMI ID を見つけるには**

次の [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-images.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-images.html) コマンドで、フィルター `Name=name` の値に DLAMI 名を入力します。特定のフレームワークのリリースバージョンを指定したり、バージョン番号を疑問符 (?) に置き換えて最新のリリースを取得したりできます。
+ 

  ```
  aws ec2 describe-images --region us-east-1 --owners amazon \
  --filters 'Name=name,Values=Deep Learning Base OSS Nvidia Driver GPU AMI (Ubuntu 22.04) ????????' 'Name=state,Values=available' \
  --query 'reverse(sort_by(Images, &amp;CreationDate))[:1].ImageId' --output text
  ```

  出力は次の例に類似したものになります:

  ```
  ami-09ee1a996ac214ce7
  ```
**ヒント**  
選択した DLAMI に固有の **ec2 describe-images** コマンドの例については、「[Deep Learning AMI リリースノート](appendix-ami-release-notes.md)」を参照してください。選択した DLAMI のリリースノートへのリンクを選択し、その ID クエリをリリースノートで検索します。

------

**次のステップ**  
[DLAMI インスタンスの起動](launch.md)

# DLAMI インスタンスの起動
<a name="launch"></a>

DLAMI インスタンスの起動に使用する DLAMI の [ID が見つかった](find-dlami-id.md)ら、インスタンスを起動する準備が整います。起動するには、Amazon EC2 コンソールまたは AWS Command Line Interface (AWS CLI) を使用します。

**注記**  
このチュートリアルでは、Deep Learning Base OSS Nvidia Driver GPU AMI (Ubuntu 22.04) に固有の内容に言及する可能性がありますが、異なる DLAMI を選択している場合でも、このガイドに従うことができます。

------
#### [ EC2 console ]

**注記**  
ハイパフォーマンスコンピューティング (HPC) と機械学習アプリケーションを加速するために、Elastic Fabric Adapter (EFA) を使用して DLAMI インスタンスを起動できます。固有の説明については、「[EFA を使用した AWS Deep Learning AMIs インスタンスの起動](tutorial-efa-launching.md)」を参照してください。

1. [EC2 コンソール](https://console.aws.amazon.com/ec2)を開きます。

1. 最上部のナビゲーションバーで現在の AWS リージョン を確認します。目的のリージョンでない場合、このオプションを変更して続行します。詳細については、*Amazon Web Services 全般のリファレンス* の「 [Amazon EC2 service endpoints](https://docs.aws.amazon.com/general/latest/gr/ec2-service.html#ec2_region)」を参照してください。

1. [**インスタンスの作成**] を選択してください。

1. インスタンスの名前を入力し、適切な DLAMI を選択します。

   1. **[自分の全 AMI]** で既存の DLAMI を検索するか、**[クイックスタート]** を選択します。

   1. DLAMI ID で検索します。オプションを参照し、目的の項目を選択します。

1. インスタンスタイプを選択します。DLAMI の推奨インスタンスファミリーは、[Deep Learning AMI リリースノート](appendix-ami-release-notes.md) で確認できます。DLAMI インスタンスタイプに関する一般的な推奨事項については、「[DLAMI インスタンスタイプの選択](instance-select.md)」を参照してください。

1. [**インスタンスの作成**] を選択してください。

------
#### [ AWS CLI ]


+ AWS CLI を使用するには、使用する DLAMI の ID、AWS リージョン および EC2 インスタンスタイプ、セキュリティトークン情報が必要です。その後、[https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/run-instances.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/run-instances.html) AWS CLI コマンドを使用してインスタンスを起動できます。

  AWS CLI のインストールおよび設定の手順については、「*AWS Command Line Interface ユーザーガイド*」の「[AWS CLI の開始方法](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started)」を参照してください。コマンド例を含む詳細については、「[AWS CLI の Amazon EC2 インスタンスの起動、リスト、終了](https://docs.aws.amazon.com/cli/latest/userguide/cli-services-ec2-instances.html)」を参照してください。

------

Amazon EC2 コンソールまたは AWS CLI を使用してインスタンスを起動したら、インスタンスの準備が整うのを待ちます。この待機時間は通常わずか数分です。インスタンスの状態は [Amazon EC2 コンソール](https://console.aws.amazon.com/ec2)で確認できます。詳細については、「*Amazon EC2 ユーザーガイド*」の「[Amazon EC2 インスタンスのステータスチェック](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-system-instance-status-check.html)」を参照してください。

**次のステップ**  
[DLAMI インスタンスへの接続](setup-connect.md)

# DLAMI インスタンスへの接続
<a name="setup-connect"></a>

[DLAMI インスタンスを起動](launch.md)してインスタンスを実行したら、SSH を使用してクライアント (Windows、macOS、または Linux) からそのインスタンスに接続できます。手順については、「*Amazon EC2 ユーザーガイド*」の「[SSH を使用した Linux インスタンスへの接続](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstances.html)」を参照してください。

ログイン後に Jupyter Notebook サーバーを設定する場合は、SSH ログインコマンドのコピーを手元に保管してください。Jupyter ウェブページに接続する際に、このコマンドのバリエーションを使用します。

**次のステップ**  
[DLAMI インスタンスでの Jupyter Notebook サーバーの設定](setup-jupyter.md)

# DLAMI インスタンスでの Jupyter Notebook サーバーの設定
<a name="setup-jupyter"></a>

Jupyter Notebook サーバーを使用すると、DLAMI インスタンスから Jupyter Notebook を作成して実行できます。Jupyter ノートブックを使用すると、 AWS インフラストラクチャを使用し、DLAMI に組み込まれたパッケージにアクセスしながら、トレーニングと推論のための機械学習 (ML) 実験を実行できます。Jupyter Notebook の詳細については、[Jupyter のユーザードキュメント](https://jupyter-notebook.readthedocs.io/en/latest/notebook.html)のウェブサイトで「Jupyter Notebook」を参照してください。

Jupyter Notebook サーバーを設定するには、次の作業を実行する必要があります。
+ DLAMI インスタンスで Jupyter Notebook サーバーを設定する。
+ Jupyter Notebook サーバーに接続するようにクライアントを設定する。Windows クライアント、macOS クライアント、および Linux クライアントの設定手順が用意されています。
+ Jupyter Notebook サーバーにログインして、設定をテストする。

これらのステップを完了するには、以下のトピックの手順に従います。Jupyter Notebook サーバーを設定したら、DLAMI に付属している Notebook チュートリアルのサンプルを実行できます。詳細については、「[Jupyter ノートブックチュートリアルを実行する](tutorial-jupyter.md)」を参照してください。

**Topics**
+ [サーバーの保護](setup-jupyter-secure.md)
+ [サーバーの起動](setup-jupyter-start-server.md)
+ [クライアントの接続](setup-jupyter-connect.md)
+ [ログイン](setup-jupyter-login.md)

# DLAMI インスタンスでの Jupyter Notebook サーバーの保護
<a name="setup-jupyter-secure"></a>

Jupyter Notebook サーバーを安全に保つには、パスワードを設定し、サーバーの SSL 証明書を作成することをお勧めします。パスワードと SSL を設定するには、まず [DLAMI インスタンスに接続](setup-connect.md)し、次の手順に従います。

**Jupyter Notebook サーバーを保護するには**

1. Jupyter にはパスワードユーティリティが用意されています。次のコマンドを実行して、プロンプトに任意のパスワードを入力します。

   ```
   $ jupyter notebook password
   ```

   出力は次のようになります。

   ```
   Enter password:
   					Verify password:
   					[NotebookPasswordApp] Wrote hashed password to /home/ubuntu/.jupyter/jupyter_notebook_config.json
   ```

1. 自己署名 SSL 証明書を作成します。プロンプトに従って、該当するローカリティを入力します。プロンプトを空白のままにする場合は、`.` を入力する必要があります。この回答は証明書の機能に影響を及ぼしません。

   ```
   $ cd ~
   					$ mkdir ssl
   					$ cd ssl
   					$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mykey.key -out mycert.pem
   ```

**注記**  
サードパーティが署名した定期的 SSL 証明書を作成して、ブラウザでセキュリティ警告が発生しないようにすることもできます。このプロセスは非常に複雑になります。詳細については、Jupyter Notebook ユーザードキュメントの「[Securing a notebook server](https://jupyter-notebook.readthedocs.io/en/6.2.0/public_server.html#securing-a-notebook-server)」を参照してください。

**次のステップ**  
[DLAMI インスタンスでの Jupyter Notebook サーバーの起動](setup-jupyter-start-server.md)

# DLAMI インスタンスでの Jupyter Notebook サーバーの起動
<a name="setup-jupyter-start-server"></a>

[Jupyter Notebook サーバーをパスワードと SSL で保護](setup-jupyter-secure.md)したら、サーバーを起動できます。DLAMI インスタンスにログインし、以前に作成した SSL 証明書を使用する次のコマンドを実行します。

```
$ jupyter notebook --certfile=~/ssl/mycert.pem --keyfile ~/ssl/mykey.key
```

サーバーが起動していれば、クライアントコンピュータから SSH トンネルを通じてサーバーに接続できます。サーバーを実行すると、サーバーが実行中であることを確認するメッセージが Jupyter から出力されます。トンネルを作成するまでは機能しないため、このとき表示されるローカルホスト URL 経由でサーバーにアクセスできるという吹き出しは無視してください。

**注記**  
Jupyter ウェブインターフェイスを使用してフレームワークを切り替えるとき、Jupyter は自動的に環境に切り替えを処理します。詳細については、「[Jupyter で環境を切り替える](tutorial-jupyter.md#tutorial-jupyter-switching)」を参照してください。

**次のステップ**  
[DLAMI インスタンスで Jupyter Notebook サーバーにクライアントを接続する](setup-jupyter-connect.md)

# DLAMI インスタンスで Jupyter Notebook サーバーにクライアントを接続する
<a name="setup-jupyter-connect"></a>

[DLAMI インスタンスで Jupyter Notebook サーバーを起動](setup-jupyter-start-server.md)したら、サーバーに接続するように Windows、macOS、または Linux の各クライアントを設定します。接続したら、サーバー上のワークスペース内にノートブックを作成して、そのノートブックにアクセスしたり、サーバー上で深層学習コードを実行したりできます。

## 前提条件
<a name="setup-jupyter-connect-prereqs"></a>

次が手元に揃っていることを確認します。これらは、SSH トンネルを設定する際に必要です。
+ Amazon EC2 インスタンスのパブリック DNS 名。詳細については、「*Amazon EC2 ユーザーガイド*」の「[Amazon EC2 インスタンスホスト名のタイプ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html)」を参照してください。
+ プライベートキーファイルのキーペア。キーペアへのアクセスに関する詳細は、「*Amazon EC2 ユーザーガイド*」の「[Amazon EC2 のキーペアと Amazon EC2 インスタンス](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)」を参照してください。

## Windows、macOS、または Linux の各クライアントから接続する
<a name="setup-jupyter-connect-client"></a>

Windows、macOS、または Linux の各クライアントから DLAMI インスタンスに接続するには、クライアントのオペレーティングシステムの手順に従います。

------
#### [ Windows ]

**SSH を使用して Windows クライアントから DLAMI インスタンスに接続するには**

1. PuTTY などの Windows 用 SSH クライアントを使用します。手順については、「*Amazon EC2 ユーザーガイド*」の「[PuTTY を使用して Linux インスタンスに接続する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-linux-inst-from-windows.html)」を参照してください。その他の SSH 接続オプションについては、「[Connect to your Linux instance using SSH](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html)」を参照してください。

1. (オプション) 実行中の Jupyter サーバーへの SSH トンネルを作成します。Windows クライアントに Git Bash をインストールし、macOS および Linux の各クライアントの接続手順に従います。

------
#### [ macOS or Linux ]

**SSH を使用して Linux または macOS の各クライアントから DLAMI インスタンスに接続するには**

1. ターミナルを開きます。

1. ローカルポート 8888 に対するすべてのリクエストをリモート Amazon EC2 インスタンスのポート 8888 に転送するために、次のコマンドを実行します。Amazon EC2 インスタンスにアクセスするキーの場所と Amazon EC2 インスタンスのパブリック DNS 名を置き換えて、コマンドを更新します。Amazon Linux AMI の場合、ユーザー名は `ubuntu` の代わりに `ec2-user` であることに注意してください。

   ```
   $ ssh -i ~/mykeypair.pem -N -f -L 8888:localhost:8888 ubuntu@ec2-###-##-##-###.compute-1.amazonaws.com
   ```

   このコマンドを実行すると、Jupyter Notebook サーバーを実行しているリモート Amazon EC2 インスタンスとクライアントの間にトンネルが開通します。

------

**次のステップ**  
[DLAMI インスタンスでの Jupyter Notebook サーバーへのログイン](setup-jupyter-login.md)

# DLAMI インスタンスでの Jupyter Notebook サーバーへのログイン
<a name="setup-jupyter-login"></a>

[クライアントを DLAMI インスタンスの Jupyter Notebook サーバーに接続](setup-jupyter-connect.md)したら、サーバーにログインできます。

**ブラウザでサーバーにログインするには**

1. ブラウザのアドレスバーに次の URL を入力するか、次のリンクをクリックします。[https://localhost:8888](https://localhost:8888)

1. 自己署名 SSL 証明書を使用すると、ブラウザは警告を表示し、このウェブサイトの閲覧を続行しないように求められます。  
![\[SSL 警告\]](http://docs.aws.amazon.com/ja_jp/dlami/latest/devguide/images/ssl-warning1.png)

   この設定は自身が行ったものであるため、安全に続行できます。ブラウザによっては、「高度な設定」、「詳細の表示」などのボタンが表示されることがあります。  
![\[SSL 警告の確認\]](http://docs.aws.amazon.com/ja_jp/dlami/latest/devguide/images/ssl-warning2.png)

   これをクリックして「localhost に進む」リンクをクリックします。接続に成功すると、Jupyter Notebook サーバーのウェブページが表示されます。この時点で、前に設定したパスワードを入力するように求められます。

   これで、DLAMI インスタンスで実行中の Jupyter Notebook サーバーにアクセスできるようになりました。新しいノートブックを作成することも、用意されている [チュートリアル](tutorials.md) を実行することもできます。

# DLAMI インスタンスのクリーンアップ
<a name="setup-cleanup"></a>

DLAMI インスタンスが不要になった場合は、Amazon EC2 でそのインスタンスを停止または終了させることによって予想外の料金の発生を避けられます。

インスタンスを停止する場合は、インスタンスをそのまま保持して、後で再度使用するときに開始できます。設定、ファイル、およびその他の非揮発性情報は Amazon Simple Storage Service (Amazon S3) のボリュームに格納されます。インスタンスが停止している間は、ボリュームの保持に対して S3 料金が発生しますが、コンピューティングリソースには料金が発生しません。再度インスタンスを起動すると、データを含むそのストレージボリュームがマウントされます。

インスタンスを終了した場合は、インスタンスは消去され、再度起動することはできません。もちろん、終了したインスタンスのコンピューティングリソースに対してそれ以上の料金は発生しません。ただし、データは引き続き Amazon S3 に残り、引き続き S3 料金が発生する可能性があります。終了したインスタンスに関連して、今後いかなる料金も発生させないためには、Amazon S3 のストレージボリュームも削除する必要があります。手順については、「*Amazon EC2 ユーザーガイド*」の「[Amazon EC2 インスタンスを終了する](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html)」を参照してください。

`stopped` や `terminated` などの Amazon EC2 インスタンスの状態の詳細については、「*Amazon EC2 ユーザーガイド*」の「[Amazon EC2 インスタンスの状態変更](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)」を参照してください。