コンピューティングリソース AMI の作成 - AWS Batch

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

コンピューティングリソース AMI の作成

コンピューティングリソースのカスタム AMI を独自に作成して、マネージド型およびアンマネージド型のコンピューティング環境で使用できます。ただし、「コンピューティングリソースの AMI 仕様」に従う必要があります。カスタム AMI を作成したら、その AMI を使用するコンピューティング環境を作成し、その環境をジョブキューに関連付けて、ジョブキューへのジョブの送信をスタートできます。

コンピューティングリソースのカスタム AMI を作成するには

  1. 基本 AMI を選択してスタートします。基本 AMI は、HVM 仮想化を使用する必要があり、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 エンジニアによって AWS Batch でテストされています。最も簡単に開始できる AMI であり、AWS でコンピューティングリソースをすばやく実行できます。詳細については、Amazon Elastic Container Service デベロッパーガイドの「Amazon ECS に最適化された 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 から開始し、これで AWS Batch のジョブを実行できるように設定することができます。詳細については、「GPU ワークロードの AMI の使用」を参照してください。

    重要

    ecs-init パッケージをサポートしない基本 AMI を選択した場合は、ブート時に Amazon ECS エージェントをスタートして実行し続ける方法を設定する必要があります。Amazon ECS コンテナエージェントを起動してモニターするために systemd を使用するユーザーデータ設定スクリプトの例をいくつか表示するには、Amazon Elastic Container Service デベロッパーガイドの「コンテナインスタンスのユーザーデータ設定スクリプトの例」を参照してください。

  2. AMI の適切なストレージオプションがある、選択された基本 AMI からインスタンスを起動します。アタッチされた Amazon EBS ボリュームまたはインスタンスストレージボリューム (選択したインスタンスタイプでサポートされている場合) のサイズと数を設定できます。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「インスタンスの起動」および「Amazon EC2 インスタンスストア」を参照してください。

  3. SSH を使用してインスタンスに接続し、必要に応じて設定タスクを実行します。これには、以下のステップのいずれかまたはすべてが含まれる場合があります。

    • Amazon ECS コンテナエージェントをインストールする 詳細については、Amazon Elastic Container Service デベロッパーガイドの「Amazon ECS コンテナエージェントのインストール」を参照してください。

    • インスタンスストアボリュームをフォーマットするスクリプトを設定する.

    • インスタンスストアボリュームまたは Amazon EFS ファイルシステムを /etc/fstab ファイルに追加し、ブート時にマウントする。

    • Docker オプションを設定する (デバッグの有効化、基本イメージサイズの調整など).

    • パッケージのインストールやファイルのコピー.

    詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「SSH を使用した Linux インスタンスへの接続」を参照してください。

  4. Amazon ECS コンテナエージェントをインスタンスで開始する場合は、AMI を作成する前にインスタンスを停止して永続的なデータチェックポイントを削除する必要があります。この操作を行わないと、AMI から起動されたインスタンスでエージェントが起動しません。

    1. Amazon ECS コンテナエージェントを停止します。

      • Amazon ECS 対応 Amazon Linux 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 を作成します。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「Amazon EBS-backed Linux AMI の作成」を参照してください。

AWS Batch で新しい AMI を使用するには

  1. AMI が作成されたら、新しい AMI でコンピューティング環境を作成します。[Enable user-specified AMI ID] (ユーザー指定の AMI ID の有効化) を選択し、ステップ 3にカスタム AMI ID を指定することを確認します)。詳細については、「コンピューティング環境の作成」を参照してください。

    注記

    コンピューティング環境用に選択する 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. (オプション) 新しいジョブキューにサンプルジョブを送信します。詳細については、「ジョブ定義の例」、「単一ノードのジョブ定義を作成する 」、および「ジョブブの送信」を参照してください。