教學課程:建立運算資源 AMI - AWS Batch

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

教學課程:建立運算資源 AMI

您可以建立自己的自訂運算資源 AMI,以用於受管和未受管的運算環境。如需說明,請參閱 運算資源 AMI 規格。然後,在建立自訂 AMI 之後,您可以建立運算環境,使用該 AMI,以便與任務佇列建立關聯。最後,開始將任務提交至該佇列。

建立自訂運算資源 AMI
  1. 選擇要從中開始的基本 AMI。基本 AMI 必須使用 HVM 虛擬化。基本 AMI 不能是 Windows AMI。

    注意

    您為運算環境選擇的 AMI 必須符合您打算用於該運算環境之執行個體類型的架構。例如,如果您的運算環境使用 A1 執行個體類型,則您所選擇的運算資源 AMI 必須支援 ARM 執行個體。Amazon ECS 同時提供 Amazon ECS 最佳化 Amazon Linux 2 AMI 的 x86 和 ARM 版本。如需詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的 Amazon ECS 最佳化 Amazon Linux 2 AMI

    Amazon ECS 最佳化 Amazon Linux 2 AMI 是受管運算環境中運算資源的預設 AMI。Amazon ECS 最佳化 Amazon Linux 2 AMI 由 AWS Batch AWS 工程師預先設定並在 上進行測試。這是一個最小的 AMI,您可以開始使用 並 AWS 快速取得正在執行的運算資源。如需詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的 Amazon ECS Optimized AMI

    或者,您可以選擇另一個 Amazon Linux 2 變體,並使用下列命令安裝ecs-init套件。如需詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的在 Amazon Linux 2 EC2 執行個體上安裝 Amazon ECS 容器代理程式:

    $ sudo amazon-linux-extras disable docker $ sudo amazon-linux-extras install ecs-init

    例如,如果您想要在 AWS Batch 運算資源上執行 GPU 工作負載,您可以從 Amazon Linux Deep Learning AMI 開始。然後,設定 AMI 以執行 AWS Batch 任務。如需詳細資訊,請參閱使用 GPU 工作負載 AMI

    重要

    您可以選擇不支援ecs-init套件的基本 AMI。不過,如果您這麼做,則必須設定在開機時啟動 Amazon ECS 代理程式並保持執行的方式。您也可以檢視數個用於systemd啟動和監控 Amazon ECS 容器代理程式的使用者資料組態指令碼範例。如需詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的容器執行個體使用者資料組態指令碼範例

  2. 使用適用於 AMI 的適當儲存選項,從您選取的基礎 AMI 啟動執行個體。您可以設定連接 Amazon EBS 磁碟區的大小和數量,或者如果您選取的執行個體類型支援,則可以設定執行個體儲存磁碟區。如需詳細資訊,請參閱《Amazon EC2 使用者指南》中的啟動執行個體和 Amazon EC2 執行個體存放區。 Amazon EC2 Amazon EC2

  3. 使用 連線至您的執行個體,SSH並執行任何必要的組態任務。這可能包括下列任何或所有步驟:

    如需詳細資訊,請參閱《Amazon EC2 使用者指南》中的使用 SSH 連線至 Linux 執行個體

  4. 如果您在執行個體上啟動 Amazon ECS 容器代理程式,您必須在建立 AMI 之前停止它並移除任何持久性資料檢查點檔案。否則,如果您不這樣做,代理程式不會在從您的 AMI 啟動的執行個體上啟動。

    1. 停用 Amazon ECS 容器代理程式。

      • Amazon ECS 最佳化 Amazon Linux 2 AMI:

        sudo systemctl stop ecs
      • Amazon ECS 最佳化 Amazon Linux AMI:

        sudo stop ecs
    2. 移除持久性資料檢查點檔案。根據預設,這些檔案位於 /var/lib/ecs/data/目錄中。如果有的話,請使用下列命令來移除這些檔案。

      sudo rm -rf /var/lib/ecs/data/*
  5. 從執行中的執行個體建立新的 AMI。如需詳細資訊,請參閱《Amazon EC2 使用者指南》中的建立 Amazon EBS 支援的 Linux AMIAmazon EC2

使用新的 AMI 搭配 AWS Batch
  1. 建立新的 AMI 之後,請使用新的 AMI 建立運算環境。若要這樣做,請在建立 AWS Batch 運算環境時,選擇映像類型,然後在映像 ID 覆寫方塊中輸入自訂 AMI ID。如需詳細資訊,請參閱教學課程:使用 Amazon EC2 資源建立受管運算環境

    注意

    您為運算環境選擇的 AMI 必須符合您打算用於該運算環境之執行個體類型的架構。例如,如果您的運算環境使用 A1 執行個體類型,則您所選擇的運算資源 AMI 必須支援 ARM 執行個體。Amazon ECS 同時提供 Amazon ECS 最佳化 Amazon Linux 2 AMI 的 x86 和 ARM 版本。如需詳細資訊,請參閱《Amazon Elastic Container Service 開發人員指南》中的 Amazon ECS 最佳化 Amazon Linux 2 AMI

  2. 建立任務佇列,並與新的運算環境建立關聯。如需詳細資訊,請參閱建立任務佇列

    注意

    與任務佇列關聯的所有運算環境皆必須共用相同的架構。 AWS Batch 不支援在單一任務佇列中混用運算環境架構類型。

  3. (選用) 將範例任務提交到新的任務佇列。如需詳細資訊,請參閱參考:任務定義範例建立單一節點任務定義 教學課程:提交任務