

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 設定 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 筆記本伺服器](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。

您可以使用 Amazon EC2 或 參數存放區的 AWS CLI 命令，找到您選擇的 DLAMI ID AWS Systems Manager。如需安裝和設定 的指示 AWS CLI，請參閱*AWS Command Line Interface 《 使用者指南*》中的[開始使用 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started) 。

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

**使用 尋找 DLAMI ID **ssm get-parameter****

在下列[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*。在此名稱格式中，*架構*可以是 **x86\$164**或 **arm64**。使用 DLAMI 名稱並移除關鍵字 "deep"、"learning" 和 "ami" 來指定 *ami\$1type*。您可以在 中找到 AMI 名稱[深度學習 AMIs版本備註](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 架構，您可以在 中找到更具體的範例**ssm get-parameter**命令[深度學習 AMIs版本備註](appendix-ami-release-notes.md)。選擇所選 DLAMI 版本備註的連結，然後在版本備註中尋找其 ID 查詢。

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

**使用 尋找 DLAMI ID **ec2 describe-images****

在下列[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**命令，請參閱 [深度學習 AMIs版本備註](appendix-ami-release-notes.md)。選擇所選 DLAMI 版本備註的連結，然後在版本備註中尋找其 ID 查詢。

------

**下一步驟**  
[啟動 DLAMI 執行個體](launch.md)

# 啟動 DLAMI 執行個體
<a name="launch"></a>

在您[找到要用來啟動 DLAMI 執行個體](find-dlami-id.md)的 DLAMI ID 之後，即可啟動執行個體。若要啟動它，您可以使用 Amazon EC2 主控台或 AWS Command Line Interface (AWS CLI)。

**注意**  
在本演練中，我們可能會參考深度學習基礎 OSS Nvidia Driver GPU AMI (Ubuntu 22.04)。即使您選取不同的 DLAMI，仍應該能夠遵循本指南。

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

**注意**  
若要加速高效能運算 (HPC) 和機器學習應用程式，您可以使用 Elastic Fabric Adapter (EFA) 啟動 DLAMI 執行個體。如需特定指示，請參閱 [使用 EFA 啟動 AWS 深度學習 AMIs 執行個體](tutorial-efa-launching.md)。

1. 開啟 [EC2 主控台](https://console.aws.amazon.com/ec2)。

1. 在最上方的導覽 AWS 區域 中記下您目前的 。如果這不是您想要的區域，請在繼續之前變更此選項。如需詳細資訊，請參閱《》中的 [Amazon EC2 服務端點](https://docs.aws.amazon.com/general/latest/gr/ec2-service.html#ec2_region)*Amazon Web Services 一般參考*。

1. 選擇 **Launch Instance (啟動執行個體)**。

1. 輸入執行個體的名稱，然後選取適合您的 DLAMI。

   1. 在**我的 AMIs**，或選擇 **Quick Start。**

   1. 依 DLAMI ID 搜尋。瀏覽選項，然後選取您的選擇。

1. 選擇執行個體類型。您可以在 中找到 DLAMI 的建議執行個體系列[深度學習 AMIs版本備註](appendix-ami-release-notes.md)。如需 DLAMI 執行個體類型的一般建議，請參閱 [選擇 DLAMI 執行個體類型](instance-select.md)。

1. 選擇 **Launch Instance (啟動執行個體)**。

------
#### [ 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) 。如需詳細資訊，包括命令範例，請參閱[啟動、列出和關閉 的 Amazon EC2 執行個體 AWS CLI](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)。 *Amazon EC2 * 

**下一步驟**  
[連線至 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 筆記本伺服器](setup-jupyter.md)

# 在 DLAMI 執行個體上設定 Jupyter 筆記本伺服器
<a name="setup-jupyter"></a>

使用 Jupyter 筆記本伺服器，您可以從 DLAMI 執行個體建立和執行 Jupyter 筆記本。使用 Jupyter 筆記本，您可以在使用 AWS 基礎設施和存取內建於 DLAMI 的套件時，進行機器學習 (ML) 實驗以進行訓練和推論。如需 Jupyter 筆記本的詳細資訊，請參閱 [Jupyter 使用者文件網站上的 Jupyter 筆記本](https://jupyter-notebook.readthedocs.io/en/latest/notebook.html)。

若要設定 Jupyter 筆記本伺服器，您必須：
+ 在 DLAMI 執行個體上設定 Jupyter 筆記本伺服器。
+ 設定您的用戶端以連線至 Jupyter 筆記本伺服器。我們提供適用於 Windows、macOS 和 Linux 用戶端的設定說明。
+ 登入 Jupyter 筆記本伺服器以測試設定。

若要完成這些步驟，請遵循下列主題中的指示。設定 Jupyter 筆記本伺服器之後，您可以執行 DLAMIs 中隨附的筆記本教學課程範例。如需詳細資訊，請參閱[執行 Jupyter 筆記本教學課程](tutorial-jupyter.md)。

**Topics**
+ [保護伺服器](setup-jupyter-secure.md)
+ [啟動伺服器](setup-jupyter-start-server.md)
+ [連接用戶端](setup-jupyter-connect.md)
+ [登入](setup-jupyter-login.md)

# 在 DLAMI 執行個體上保護 Jupyter 筆記本伺服器
<a name="setup-jupyter-secure"></a>

為了保護您的 Jupyter 筆記本伺服器安全，建議您設定密碼並為伺服器建立 SSL 憑證。若要設定密碼和 SSL，請先[連線至您的 DLAMI 執行個體](setup-connect.md)，然後遵循這些指示。

**保護 Jupyter 筆記本伺服器**

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 [筆記本使用者文件中的安全筆記本伺服器](https://jupyter-notebook.readthedocs.io/en/6.2.0/public_server.html#securing-a-notebook-server)。

**下一步驟**  
[在 DLAMI 執行個體上啟動 Jupyter 筆記本伺服器](setup-jupyter-start-server.md)

# 在 DLAMI 執行個體上啟動 Jupyter 筆記本伺服器
<a name="setup-jupyter-start-server"></a>

[使用密碼和 SSL 保護 Jupyter 筆記本伺服器](setup-jupyter-secure.md)後，您可以啟動伺服器。登入您的 DLAMI 執行個體，並使用您先前建立的 SSL 憑證執行下列命令。

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

伺服器啟動後，您現在可以從您的用戶端電腦透過 SSH 通道連接到該伺服器。當伺服器執行時，您會看到 Jupyter 的一些輸出，確認伺服器正在執行中。此時，請忽略您可以透過本機主機 URL 存取伺服器的標註，因為這在您建立通道之前無法運作。

**注意**  
當您使用 Jupyter Web 界面切換架構時，Jupyter 會為您處理環境切換。如需詳細資訊，請參閱[使用 Jupyter 切換環境](tutorial-jupyter.md#tutorial-jupyter-switching)。

**下一步驟**  
[將用戶端連線至 DLAMI 執行個體上的 Jupyter 筆記本伺服器](setup-jupyter-connect.md)

# 將用戶端連線至 DLAMI 執行個體上的 Jupyter 筆記本伺服器
<a name="setup-jupyter-connect"></a>

在 [DLAMI 執行個體上啟動 Jupyter 筆記本伺服器](setup-jupyter-start-server.md)後，請將 Windows、macOS 或 Linux 用戶端設定為連線至伺服器。連線時，您可以在工作區的伺服器上建立和存取 Jupyter 筆記本，並在伺服器上執行深度學習程式碼。

## 先決條件
<a name="setup-jupyter-connect-prereqs"></a>

請確定您有下列項目，您需要設定 SSH 通道：
+ Amazon EC2 執行個體的公有 DNS 名稱。如需詳細資訊，請參閱[《Amazon EC2 使用者指南》](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html)中的 *Amazon EC2 執行個體主機名稱類型*。
+ 私有金鑰檔案的金鑰對。如需存取金鑰對的詳細資訊，請參閱《[Amazon EC2 使用者指南》中的 Amazon EC2 金鑰對和 Amazon EC2 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)。 *Amazon EC2 *

## 從 Windows、macOS 或 Linux 用戶端連線
<a name="setup-jupyter-connect-client"></a>

若要從 Windows、macOS 或 Linux 用戶端連線至 DLAMI 執行個體，請遵循用戶端作業系統的指示。

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

**使用 SSH 從 Windows 用戶端連線至 DLAMI 執行個體**

1. 使用適用於 Windows 的 SSH 用戶端，例如 PuTTY。如需說明，請參閱《Amazon EC2 使用者指南》中的[使用 PuTTY 連線至 Linux 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-linux-inst-from-windows.html)。 *Amazon EC2 * 如需其他 SSH 連線選項，請參閱[使用 SSH 連線至 Linux 執行個體](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 從 macOS 或 Linux 用戶端連線至 DLAMI 執行個體**

1. 開啟終端機。

1. 執行下列命令，將本機連接埠 8888 上的所有請求轉送至遠端 Amazon EC2 執行個體上的連接埠 8888。透過取代金鑰的位置來更新命令，以存取 Amazon EC2 執行個體和 Amazon EC2 執行個體的公有 DNS 名稱。請注意，對於 Amazon Linux AMI，使用者名稱為 `ec2-user` 而非 `ubuntu`。

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

   此命令會在用戶端與執行 Jupyter Notebook 伺服器的遠端 Amazon EC2 執行個體之間開啟通道。

------

**下一步驟**  
[在 DLAMI 執行個體上登入 Jupyter 筆記本伺服器](setup-jupyter-login.md)

# 在 DLAMI 執行個體上登入 Jupyter 筆記本伺服器
<a name="setup-jupyter-login"></a>

[將用戶端連線至 DLAMI 執行個體上的 Jupyter 筆記本伺服器](setup-jupyter-connect.md)後，您可以登入伺服器。

**在瀏覽器中登入伺服器**

1. 在瀏覽器的地址列中，輸入下列 URL，或按一下此連結：[https：//localhost：8888](https://localhost:8888)

1. 使用自我簽署的 SSL 憑證，您的瀏覽器會警告您，並提示您避免繼續造訪網站。  
![\[SSL 警告\]](http://docs.aws.amazon.com/zh_tw/dlami/latest/devguide/images/ssl-warning1.png)

   因為您自行這麼設定，所以繼續操作安全無虞。視您的瀏覽器而定，您會收到「進階」、「顯示詳細資訊」或類似按鈕。  
![\[SSL 警告確認\]](http://docs.aws.amazon.com/zh_tw/dlami/latest/devguide/images/ssl-warning2.png)

   按一下此項，然後按一下「繼續 localhost」連結。如果連線成功，您會看到 Jupyter Notebook 伺服器網頁。此時，系統會要求您提供先前設定的密碼。

   現在您可以存取在 DLAMI 執行個體上執行的 Jupyter 筆記本伺服器。您可以建立新的筆記本或執行所提供的[教學](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)。 *Amazon EC2 *

如需 `stopped`和 等 Amazon EC2 執行個體狀態的詳細資訊`terminated`，請參閱《[Amazon EC2 使用者指南》中的 Amazon EC2 執行個體狀態變更](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-lifecycle.html)。 *Amazon EC2 *