AWS Batch の使用の開始 - AWS Batch

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

AWS Batch の使用の開始

♪AWS Batchをすぐに始めるための初回実行ウィザードAWS Batch。前提条件を満たしたら、AWS Batch最初のウィザードを実行して、コンピューティング環境を作成し、ジョブ定義とジョブキューをいくつかの手順で作成します。

また、サンプルの「Hello World」ジョブをAWS Batch初回実行ウィザードを実行して、設定をテストします。で起動する Docker イメージがすでにある場合AWS Batchで、そのイメージを使用してジョブ定義を作成できます。

ステップ 1: 前提条件

を起動する前に、次の操作を行ってください。AWS Batch初回実行ウィザード:

ステップ 2: コンピューティング環境の作成

コンピューティング環境は、Amazon EC2 インスタンスの参照です。コンピューティング環境の設定と制約は、AWS BatchAmazon EC2 インスタンスの設定と自動起動方法

コンピューティング環境を作成するには、次の手順を実行します。

注記

現時点では、初回実行ウィザードで作成できるのはマネージド型のコンピューティング環境のみです。アンマネージド型のコンピューティング環境を作成するには、「コンピューティング環境の作成」を参照してください。

  1. を開くAWS Batchコンソール初回実行ウィザード

  2. コンピューティング環境の設定セクションに追加します。

    1. を使用する場合コンピューティング環境の名前で、カスタム名を入力します。

    2. を使用する場合サービスロールで、other を呼び出す権限を持つサービスロールを選択します。AWS のサービスはユーザーに代わって行います。other を呼び出すことができるサービスロールがない場合はAWS のサービスと指定すると、ユーザーに代わりロールが作成されます。

  3. インスタンス設定セクションに追加します。

    1. を使用する場合プロビジョニングモデルで、Fargate,Fargate Spot,オンデマンド, またはスポット

    2. (スポット(のみ)最大オンデマンド価格 (%)で、スポットリソースに対して支払うオンデマンド料金の最大パーセンテージを入力します。

    3. (スポットそしてオンデマンド(のみ)最小vCPUsで、インスタンスが使用する vCPUs の最小数を入力します。

      ヒント

      あなたが設定した場合最小vCPUs0の場合、使用可能な作業がない場合、インスタンスタイムは使用されません。

    4. (すべてのプロビジョニングモデル)vCPUs の最大数[] で、インスタンスで使用する vCPUs の最大数を入力します。

    5. (オプション,スポットそしてオンデマンド(のみ)希望する vCPUs[] で、インスタンスで使用する vCPUs の数を入力します。

    6. (スポットそしてオンデマンド(のみ)許可されるインスタンスタイプ[] で、インスタンスが使用するインスタンスタイプを選択します。

      重要

      デフォルトでは、最適なが選択されます。-最適な設定では、で使用できる M4、C4、R4 インスタンスタイプの中から最適なものが選択されます。AWS リージョン。インスタンスタイプのカスタムセットを使用するには、最適な設定し、必要なインスタンスタイプを選択します。

    7. (スポットそしてオンデマンド(のみ)配分戦略で、PROGRESSIVEでのオンデマンドまたはPOTIMIZEDスポットの場合。

  4. ネットワークセクションに追加します。

    1. を使用する場合VPC_IDで、Amazon VPC を選択します。

    2. を使用する場合SubnetsのサブネットAWS アカウントはデフォルトでリストされています。サブネットのカスタムセットを作成する場合は、サブネットのクリアをクリックし、目的のサブネットを選択します。

      重要

      コンピューティングリソースは、VPC エンドポイントまたは複数のパブリック IP アドレスを介して Amazon ECS VPC エンドポイントと通信する必要があります。詳細については、次を参照してください。Amazon ECS インターフェイス VPC エンドポイント (AWS PrivateLink)。インスタンスに VPC エンドポイントが設定されていないか、パブリック IP アドレスが設定されていない場合は、ネットワークアドレス変換 (NAT) を使用できます。NAT の詳細については、「」を参照してください。NAT ゲートウェイそしてチュートリアル: コンピューティング環境のパブリックサブネットとプライベートサブネットを使用した VPC の作成

    3. (オプション) [Expand]追加設定: セキュリティグループ、プレイスメントグループ:

      1. を使用する場合セキュリティグループで、インスタンスに関連付ける Amazon EC2 セキュリティグループを選択します。セキュリティグループのカスタムセットを作成する場合は、セキュリティグループをクリア。次に、必要なセキュリティグループを選択します。

      2. (オプション,オンデマンドそしてスポット(のみ)配置グループマルチノードのparallel ジョブを作成する場合は、プレイスメントグループの名前を入力します。

  5. [Next] (次へ) を選択します。

ステップ 3: ジョブキューの作成

ジョブキューには、送信されたジョブがAWS Batchスケジューラは、コンピューティング環境のリソースでジョブを実行します。ジョブキューを作成するには、次の手順に従います。

  1. Job キューの設定セクションに追加します。

    1. を使用する場合ジョブキュー名で、カスタム名を入力します。

    2. を使用する場合優先度[] で、ジョブキューの 0 ~ 100 の整数を入力します。

      重要

      整数値が大きいほど、高い優先順位が割り当てられます。AWS Batchスケジューラ。

    3. (オプション)AWSジョブキューに適用するスケジュールポリシー

      1. の有効化スケジューリングポリシー ARN

      2. 必要な Amazon リソースネーム (ARN) を選択します。

    4. (オプション) [Additional configuration] (追加設定) を展開します。

      を使用する場合状態で、ジョブキューの状態を選択します。

  2. (オプション)タグセクション።

    1. [Add tag] (タグを追加) を選択します。キーと値のペアを入力し、[] を選択します。タグの追加

      重要

      選択内容タグの追加[] を選択し、キーと値のペアを入力し、タグの追加再度 [] を選択するか、タグの削除

  3. [Next] (次へ) を選択します。

ステップ 4: ジョブ定義の作成

ジョブ定義を作成するには、次の手順を実行します。

  1. 一般的な設定セクションに追加します。

    1. を使用する場合名前で、カスタムジョブ定義名を入力します。

    2. を使用する場合[Execution timeout (実行タイムアウト)][] で、未完了ジョブが終了するまでの時間を秒単位で入力します。

      重要

      最小タイムアウトは 60 秒です。

    3. (オプション) [Expand]その他のタグの設定

    4. タグとは、リソースに割り当てられたラベルです。タグを追加するには、[タグの追加] を選択します。キーと値のペアを入力し、[] を選択します。タグの追加をクリックします。

      重要

      選択内容タグの追加[] を選択し、キーと値のペアを入力し、タグの追加再度 [] を選択するか、タグの削除

    5. (オプション) [] をオンにします。タグの伝播をクリックして、Amazon Elastic Container Service タスクにタグを伝播します。

  2. プラットフォームの互換性セクションに追加します。

    1. を使用する場合実行ロールで、Amazon Elastic Container Service (Amazon ECS) エージェントが実行できるようにするタスク実行ロールを選択します。AWSあなたに代わって電話をかける。たとえば、Ecstask 実行ロール

  3. Job 設定セクションに追加します。

    1. を使用する場合イメージ[] で、コンテナを起動するために使用されるイメージの名前を入力します。デフォルトでは、Docker Hub レジストリのすべてのイメージを使用できます。で他のリポジトリを指定することもできます。リポジトリ URL /イメージ:タグの形式で設定。パラメータの最大長は 255 文字です。大文字、小文字、数字、ハイフン (-)、アンダースコア (_)、コロン (:)、ピリオド (.)、スラッシュ (/)、および数字 (#) を含めることができます。このパラメータは、Docker Remote APIコンテナの作成セクションの Image にマッピングされ、IMAGE パラメータは docker run にマッピングされます。

      注記

      Docker イメージのアーキテクチャは、スケジュールされているコンピューティングリソースのプロセッサアーキテクチャと一致している必要があります。例えば、ARM ベースの Docker イメージは、ARM ベースのコンピューティングリソースでのみ実行することができます。

      • Amazon ECR パブリックリポジトリ内のイメージは、registry/repository[:tag]またはregistry/repository[@digest]命名規則 (たとえば、public.ecr.aws/registry_alias/my-web-app:latest).

      • Amazon ECR リポジトリ内のイメージには、完全なregistry/repository:tag命名規則 (たとえば、aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:latest).

      • Docker ハブの公式リポジトリのイメージでは、1 つの名前 (例: ubuntumongo) を使用します。

      • Docker ハブの他のリポジトリのイメージは、組織名で修飾されます (例: amazon/amazon-ecs-agent)。

      • 他のオンラインリポジトリのイメージは、さらにドメイン名で修飾されます (例: quay.io/assemblyline/ubuntu)。

    2. を使用する場合コマンド構文で、BashまたはJSON

    3. [Command] (コマンド) で、コンテナに渡すコマンドを指定します。このパラメータは、Docker Remote APIコンテナの作成セクションの Cmd にマッピングされ、COMMAND パラメータは docker run にマッピングされます。Docker CMD パラメータの詳細については、https://docs.docker.com/engine/reference/builder/#cmd を参照してください。

      注記

      コマンドには、パラメータ置換のデフォルト値とプレースホルダーを使用できます。詳細については、「パラメータ」を参照してください。

      ヒント

      選択Infoをクリックして、Bash と JSON のコード例を確認します。

    4. [vCPU] で、コンテナ用に予約する vCPU の数を指定します。このパラメータは、Docker Remote API コンテナの作成セクションの CpuShares にマップされ、--cpu-shares オプションは docker run にマップされます。各 vCPU は 1,024 個の CPU 配分に相当します。

    5. を使用する場合メモリで、ジョブコンテナに適用されるメモリのハード制限 (MiB 単位) を指定します。コンテナは、ここで指定したメモリを超えようとすると、停止されます。このパラメータは、Docker Remote API コンテナの作成セクションの Memory にマップされ、--memory オプションは docker run にマップされます。

    6. (オプション) [] をオンにします。環境変数の設定をクリックして、コンテナに渡される環境変数を追加します。このパラメータは、Docker Remote APIコンテナの作成セクションの Env にマップされ、--env オプションは docker run にマップされます。

    7. (オプション) [] をオンにします。Job ロール設定にアクセス権限を持つ IAM ロールを追加するにはAWSAPI。この機能では、タスク用の Amazon ECS IAM ロールを使用します。詳細については、Amazon Elastic Container Service デベロッパーガイドの「タスク用の IAM ロール」を参照してください。

      注記

      ジョブロールは、Fargate リソースで実行されるジョブに必要です。

      注記

      ここには、[Amazon Elastic Container Service Task Role] 信頼関係があるロールのみが表示されます。の IAM ロールを作成する方法については、「」を参照してくださいAWS Batchジョブ、「」を参照してください。タスク用の IAM ロールとポリシーの作成Amazon Elastic Contain Service 開発者ガイド

    8. (オプション) [] をオンにします。セキュリティ設定をクリックして、コンテナで使用するユーザー名を追加します。

      ホストインスタンスに対する昇格されたアクセス許可をジョブコンテナに付与するにはrootuser)、オンにするPrivileged。このパラメータは、Docker Remote API コンテナの作成セクションの Privileged にマップされ、--privileged オプションは docker run にマップされます。

      [User] (ユーザー) に、コンテナ内で使用するユーザー名を入力します。このパラメータは、Docker Remote API コンテナの作成セクションの User にマップされ、--user オプションは docker run にマップされます。

    9. (オプション) [] をオンにします。Secretsと値のペアとしてシークレットを追加します。これらのシークレットは、コンテナで公開されます。詳細については、ジョブ定義のパラメータ の「secretOptions」を参照してください。

    10. (オプション) [] をオンにします。読み取り専用ファイルシステムの有効化[] をクリックして、ボリュームへの書き込みアクセスを削除します。

    11. (オプション) [] をオンにします。マウントポイント構成[] を使用して、データボリュームのマウントポイントを追加します。ソースボリュームとコンテナパスを指定する必要があります。これらのマウントポイントは、コンテナインスタンスの Docker デーモンに渡されます。

    12. (オプション,オンデマンドそしてスポットのみ) [] をオンにします。Ulimits 設定ulimit 値のリストを構成します。名前、ソフトリミット、およびハードリミットを入力し、ulimit を追加する

    13. (オプション) [] を選択します。ボリューム構成をクリックして、コンテナに渡すボリュームのリストを作成します。と入力します。名前そしてソースパスボリュームを選択し、ボリュームを追加

    14. (オプション) [] をオンにします。Linux パラメータの設定デバイスを追加したり、次のようなLinux固有の設定をオンにするにはInit プロセスが有効:

      1. (オプション) [] をオンにします。Init プロセスが有効と指定すると、コンテナ内で init プロセスを実行します。このプロセスは、シグナルを転送し、プロセスを利用します。

      2. (オプション,スポットそしてオンデマンド(のみ)デバイスで、デバイスを追加する

        1. (オプション,スポットそしてオンデマンド(のみ)デバイスで、デバイスを追加するデバイスを追加するには

        2. (オプション,スポットそしてオンデマンド(のみ)コンテナパスで、コンテナインスタンスでのデバイスのパスを指定します。このパスは、ホストインスタンスにマッピングされたデバイスを公開するために使用されます。空白のまま (未指定) にすると、ホストパスがコンテナで使用されます。

        3. (オプション,スポットそしてオンデマンド(のみ)ホストパス[] で、ホストインスタンスでのデバイスのパスを指定します。

        4. (オプション,スポットオンデマンドのみ)アクセス許可で、コンテナでデバイスに適用する 1 つ以上のアクセス許可を選択します。使用可能なアクセス許可は READWRITEMKNOD です。

      3. (オプション,スポットそしてオンデマンド(のみ)共有メモリサイズ[] のサイズ (単位:MiB) を入力します。/dev/shmボリューム。

      4. (オプション,スポットそしてオンデマンドのみ) I For最大スワップサイズ[] で、コンテナが使用できるスワップメモリの合計容量 (単位:MiB) を入力します。

      5. (オプション,スポットそしてオンデマンド(のみ)Swappinessコンテナのスワップ動作を示す 0 ~ 100 の値を入力します。指定せず、スワップが有効になっている場合、デフォルト値は 60 です。詳細については、ジョブ定義のパラメータ の「スワップ動作」を参照してください。

      6. (オプション,スポットそしてオンデマンド(のみ)Tmpfsで、tmpfsを追加するを追加するにはtmpfsマウントモード。

      7. (オプション,スポットそしてオンデマンド(のみ)コンテナパスで、コンテナに絶対ファイルパスを入力します。tmpfsボリュームがマウントされています。

      8. (オプション,スポットそしてオンデマンドのみ)サイズフィールドに、のサイズを MiB (単位:MiB) を入力します。tmpfsボリューム。

      9. (オプション)マウントオプションで、マウントオプションを入力します。使用可能なマウントオプションのリストを含む詳細については、ジョブ定義のパラメータ の「mountOptions」を参照してください。

    15. (オプション) [] をオンにします。ログ設定コンテナにカスタムログドライバを追加するには、次の手順を実行します。

      注記

      デフォルトでは、awslogs ログドライバーが使用されます。

      1. (オプション)ログドライバー[] で、使用するログドライバを選択します。使用できるログドライバーの詳細については、ジョブ定義のパラメータ の「logDriver」を参照してください。

      2. (オプション)Optionsで、オプションを追加するをクリックしてオプションを追加します。名前と値のペアを入力し、[] を選択します。オプションを追加する

      3. (オプション) [] をオンにします。Secrets。名前と値のペアを入力し、[] を選択します。を追加します。をクリックしてシークレットを追加します。

        ヒント

        詳細については、次を参照してください。SecretOptionsジョブ定義のパラメータ

  4. (オプション)キーと値のマッピングとしてジョブ定義にパラメータを追加して、ジョブ定義のデフォルトを上書きできます。パラメータを追加するには、次の手順を実行します。

    1. を使用する場合パラメータで、パラメータの追加。キーと値のペアを入力し、[] を選択します。パラメータの追加をクリックします。

      重要

      選択内容パラメータの追加の場合は、少なくとも 1 つのパラメータを設定するか、パラメータの削除

  5. (オプション)再試行戦略セクションで、失敗したジョブを再送信する回数を設定できます。終了コードとステータス理由を設定して、失敗したインスタンスのトラブルシューティングに役立てることもできます。再試行戦略を設定するには、次の手順を実行します。

    1. を使用する場合Job 試み[] で、失敗したジョブを再送信する回数を入力します。

    2. (オプション) [] を選択します。終了時に評価を追加。少なくとも 1 つのパラメータ値を入力し、アクション

      重要

      選択内容終了時に評価を追加[] で、少なくとも 1 つのパラメータを設定し、アクションまたは終了時に評価を削除

  6. [Next] (次へ) を選択します。

ステップ 5: ジョブの作成

ジョブは、によって実行される作業単位です。AWS Batch。ジョブは、Amazon ECS クラスターの Amazon Elastic Container Service コンテナインスタンスでコンテナ化されたアプリケーションとして起動します。

ジョブを作成するには:

  1. 一般的な設定セクションに追加します。

    1. を使用する場合名前で、カスタム名を入力します。

    2. を使用する場合[Execution timeout (実行タイムアウト)]で、未完了のジョブが終了するまでの時間を秒単位で入力します。最小タイムアウトは 60 秒です。

    3. (オプション) [] をオンにします。配列ジョブ複数のホストにジョブを分散させます。でホストの数を入力します。配列サイズ

    4. (オプション) ジョブに依存関係がある場合は、オンにします。Job 依存関係。次に、ジョブ ID依存関係のうち、を追加します。

    5. (オプション) [Expand]その他のタグの設定。送信元タグで、タグの追加をクリックしてタグを追加します。タグキーとオプションの値を入力し、タグの追加をクリックします。

      重要

      選択内容タグの追加[] を選択し、キーと値のペアを入力し、タグの追加再度 [] を選択するか、タグの削除

    6. (オプション) [] をオンにします。タグの伝播ECS タスクにタグを伝播します。

  2. Job 設定セクションに追加します。

    1. を使用する場合コマンド構文で、BashまたはJSON

    2. [Command] (コマンド) で、コンテナに渡すコマンドを指定します。このパラメータは、Docker Remote APIコンテナの作成セクションの Cmd にマッピングされ、COMMAND パラメータは docker run にマッピングされます。Docker CMD パラメータの詳細については、https://docs.docker.com/engine/reference/builder/#cmd を参照してください。

      注記

      コマンドには、パラメータ置換のデフォルト値とプレースホルダーを使用できます。詳細については、「パラメータ」を参照してください。

      ヒント

      選択Infoをクリックして、Bash と JSON のコード例を確認します。

    3. を使用する場合vCPU[] で、コンテナ用に予約する vCPUs の数を入力します。

    4. を使用する場合メモリで、コンテナで使用可能なメモリ制限を入力します。

    5. を使用する場合GPU の数[] で、コンテナ用に予約するグラフィカル処理ユニット (GPU) の数を入力します。

    6. (オプション) [] をオンにします。環境変数の設定追加の環境変数をコンテナに渡します。名前と値を入力し、[] を選択します。を追加します。

  3. パラメータセクションで、ジョブに渡すパラメータを追加できます。これらのパラメータは、ジョブ定義のパラメータ値を置き換えます。[Parameters] セクションで、以下の操作を行います。

    1. (オプション)パラメータで、[パラメータ] を追加する

    2. パラメータを入力します。名前そしてValue[] の順に選択します。[パラメータ] を追加する

    重要

    選択内容[パラメータ] を追加するの場合は、名前と値のペアを入力し、[パラメータ] を追加するまたはパラメータの削除

  4. 再試行戦略セクションで、失敗したジョブを再送信する回数を設定できます。終了コードとステータス理由を設定して、失敗したインスタンスのトラブルシューティングに役立てることもできます。再試行戦略を設定するには、次の手順を実行します。

    1. を使用する場合Job 試み[] で、失敗したジョブを再送信する回数を入力します。

    2. (オプション) [] を選択します。終了時に評価を追加。と入力します。終了コード,ステータス理由, および理由。次に、アクション

      重要

      選択内容終了時に評価を追加[] で、少なくとも 1 つのパラメータを設定し、アクションまたは終了時に評価を削除

  5. [Next] (次へ) を選択します。

ステップ 6: 確認と作成

を使用する場合確認と作成[] で構成手順を確認します。変更が必要な場合は、[] を選択します。編集。設定に満足したら、[] を選択します。作成