コンピューティングリソース 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 エンジニア 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 ジョブを実行するように AMI を設定します。詳細については、「GPU ワークロードの AMI の使用」を参照してください。

    重要

    ecs-init パッケージをサポートしていない基本 AMI も選択できます。ただし、その場合はブート時に Amazon ECS エージェントを開始して実行を続けるように設定する必要があります。Amazon ECS コンテナエージェントを開始してモニタリングする、systemd を使用したユーザーデータ設定スクリプトの例をいくつか用意しています。詳細については、Amazon Elastic Container Service デベロッパーガイドのコンテナインスタンスのユーザーデータ設定スクリプトの例を参照してください。

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

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

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

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

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

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

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

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

  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 Backed Linux AMI の作成」を参照してください。 Amazon EC2

で新しい AMI を使用するには AWS Batch
  1. 新しい AMI が作成されたら、新規 AMI でコンピューティング環境を作成します。これを行うには、
イメージタイプを選択し、イメージ ID にカスタム AMI ID を入力します。
 コンピューティング環境を作成するときにボックスを上書きします。 AWS Batch 詳細については、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 は、1 つのジョブキューでのコンピューティング環境アーキテクチャタイプの混在をサポートしていません。

  3. (オプション) 新しいジョブキューにサンプルジョブを送信します。詳細については、ジョブ定義の例シングルノードのジョブ定義を作成する 、およびジョブの送信を参照してください。