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

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

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

マネージド型およびアンマネージド型のコンピューティング環境で使用する AMI を独自に作成できます。手順については、「コンピューティングリソースの AMI 仕様」を参照してください。次に、カスタム AMI を作成したら、その AMI を使用するコンピューティング環境を作成し、その AMI を使用するコンピューティング環境を作成し、その環境をジョブキューに関連付けて 最後に、そのキューへのジョブの送信を開始します。

コンピューティングリソースのカスタム AMI を作成するには
  1. 基本 AMI を選択してスタートします。基本 AMI は、HVM 仮想化を使用する必要があります。基本 AMI を Windows AMI にすることはできません。

    注記

    コンピューティング環境用に選択する AMI は、そのコンピューティング環境で使用するインスタンスタイプのアーキテクチャと一致している必要があります。たとえば、A1コンピューティング環境がインスタンスタイプを使用する場合、選択するコンピューティングリソース AMIArm がインスタンスをサポートしている必要があります。Amazon ECS はx86、Amazon ECS に最適化された Amazon Linux 2 AMIArm の両バージョンを提供しています。詳細については、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 ディープラーニング AMI からスタートできます。次に、AWS Batchジョブを実行するように AMI を設定します。詳細については、「GPU ワークロードの AMI の使用」を参照してください。

    重要

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

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

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

    • 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 でコンピューティング環境を作成します。そのためには 画像タイプを選択し、画像 ID にカスタム AMI ID を入力します AWS Batchコンピューティング環境を作成するときにボックスをオーバーライドします。詳細については 見るEC2 リソースを使用して、マネージド型のコンピューティング環境を作成するには

    注記

    コンピューティング環境用に選択する AMI は、そのコンピューティング環境で使用するインスタンスタイプのアーキテクチャと一致している必要があります。たとえば、A1コンピューティング環境がインスタンスタイプを使用する場合、選択するコンピューティングリソース AMIArm がインスタンスをサポートしている必要があります。Amazon ECS はx86、Amazon ECS に最適化された Amazon Linux 2 AMIArm の両バージョンを提供しています。詳細については、Amazon Elastic Container Service デベロッパーガイドの「Amazon ECS に最適化された Amazon Linux 2 AMI」を参照してください。

  2. ジョブキューを作成し、新しいコンピューティング環境を関連付けます。詳細については、「ジョブキューの作成」を参照してください。

    注記

    ジョブキューに関連付けられているすべてのコンピューティング環境で、同じアーキテクチャを共有する必要があります。AWS Batchでは、単一のジョブキューでのコンピューティング環境アーキテクチャタイプの混在をサポートしていません。

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