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. にとってサービスロール、他の人を呼び出す権限を持つサービスロールを選択してくださいAWS のサービスはユーザーに代わってね 他の人を呼び出すことができるサービスロールがない場合AWS のサービスでは、ユーザーに代わってロールが作成されます。

  3. の中にインスタンス設定セクション:

    1. にとってプロビジョニングモデル、選択してくださいFargate,Fargate Spot,オンデマンド、またはスポット性

    2. (スポット性のみオンデマンド料金の上限%で、スポットリソースに支払うオンデマンド料金の上限パーセンテージを入力します。

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

      ヒント

      設定した場合最小 vCPUs0では、使用可能な作業がないときはインスタンス時間は使用されません。

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

    5. (オプション、スポット性そしてオンデマンドのみ必要vCPUsで、インスタンスが使用する必要な vCPUs の数を入力します。

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

      重要

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

    7. (スポット性そしてオンデマンドのみ配分戦略、選択してくださいBEST_FIT_GRESSIVEオンデマンド用またはSPOT_CAPACITY_OPTIMIZEDスポット用

  4. の中にネットワークセクション:

    1. にとってVPC_IDで、Amazon VPC を選択します。

    2. にとってサブネット、あなたのサブネットAWS アカウントはデフォルトで一覧表示されます。サブネットのカスタムセットを作成する場合は、サブネットをクリアを選択し、必要なサブネットを選択します。

      重要

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

    3. (オプション) [Optionalその他の設定: セキュリティグループ、プレイスメントグループ:

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

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

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

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

ジョブキューには、送信されたジョブがAWS BatchScheduler は、コンピューティング環境内のリソースでジョブを実行します。ジョブキューを作成するには:

  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. にとって[Name] (名前)で、カスタムジョブ定義名を入力します。

    2. にとって実行タイムアウトで、未完了のジョブが終了する秒単位の時間を入力します。

      重要

      タイムアウトの最短時間は 60 秒です。

    3. (オプション) [Embeds追加のタグ設定

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

      重要

      選択内容タグの追加、キーと値のペアを入力し、選択する必要がありますタグの追加もう一度または選択してくださいタグの削除

    5. (オプション) オンにするタグの伝播Amazon Elastic Container Service タスクにタグを伝達するために使用されます。

  2. の中にプラットフォームとの互換性セクション:

    1. にとって実行ロール、Amazon Elastic Container Service (Amazon ECS) エージェントに許可されるタスク実行ロールを選択してくださいAWSあなたに代わって電話します。たとえば、次のように選択できますecsTaskExecutionロール

  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 を参照してください。

      注記

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

      ヒント

      選択してくださいInfoBash と 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 Container Service 開発者

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

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

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

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

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

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

    12. (オプション、オンデマンドそしてスポット性(() ((のみ)Ulimit の設定ulimit 値のリストを設定します。名前、ソフトリミット、ハードリミットを入力し、Ulimit の追加

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

    14. (オプション) オンにするLinux パラメータの設定デバイスを追加したり、次のようなLinux固有の設定を有効にしたりするには初期化処理が有効:

      1. (オプション) オンにする初期化処理が有効コンテナ内で init プロセスを実行します。このプロセスは信号を転送しプロセスを利用します。

      2. (オプション、スポット性そしてオンデマンドのみデバイス、選択してくださいデバイス追加

        1. (オプション、スポット性そしてオンデマンドのみデバイス、選択してくださいデバイス追加デバイスを追加するには

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

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

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

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

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

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

      6. (オプション、スポット性そしてオンデマンド(()Tmpfs、選択してくださいtmpfs を追加Aの追加tmpfsマウンム。

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

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

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

    15. (オプション) オンにするログ設定カスタムログドライバーをコンテナに追加するには:

      注記

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

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

      2. (オプション) 用オプション、選択してくださいオプション追加オプションを追加します。名前と値のペアを入力し、オプション追加

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

        ヒント

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

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

    1. にとってパラメータ、選択してくださいパラメータの追加。キーと値のペアを入力し、パラメータの追加再開。

      重要

      選択内容パラメータの追加、パラメータを少なくとも 1 つ設定する必要があります。またはパラメータの削除

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

    1. にとってJob 試行で、失敗したジョブを再送信する回数を入力します。

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

      重要

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

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

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

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

ジョブを作成するには:

  1. の中に一般的な構成セクション:

    1. にとって[Name] (名前)で、カスタム名を入力します。

    2. にとって実行タイムアウトで、未完了のジョブが終了するまでの時間を秒単位で入力します。タイムアウトの最短時間は 60 秒です。

    3. (オプション) オンにする配列ジョブ複数のホストにジョブを分散させるためです。ホストの数を以下に入力してください配列サイズ

    4. (オプション) ジョブに依存関係がある場合は、オンにするJob 依存関係。次のように入力します。Job依存関係の中から選択してくださいAdd

    5. (オプション) [Embeds追加のタグ設定。Fromタグ、選択してくださいタグの追加タグを追加します。タグキーとオプションの値を入力し、タグの追加再開。

      重要

      選択内容タグの追加、キーと値のペアを入力し、選択する必要がありますタグの追加もう一度または選択してくださいタグの削除

    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 を参照してください。

      注記

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

      ヒント

      選択してくださいInfoBash と JSON のコード例を確認してください。

    3. にとってvCPUで、コンテナ用に予約する vCPUs の数を入力します。

    4. にとってメモリで、コンテナで使用可能なメモリ制限を入力します。

    5. にとってGPU の数で、コンテナ用に予約するグラフィックプロセッシングユニット (GPU) の数を入力します。

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

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

    1. (オプション) 用パラメータ、選択してくださいパラメータの追加

    2. パラメータを入力[Name] (名前)そしてValueを選択し、パラメータの追加

    重要

    選択内容パラメータの追加、名前と値のペアを入力し、選択する必要がありますパラメータの追加または選択してくださいパラメータの削除

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

    1. にとってJob 試行で、失敗したジョブを再送信する回数を入力します。

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

      重要

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

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

ステップ 6: 確認と作成

にとって確認と作成で、設定手順を確認します。変更する必要がある場合は、[Edit] (編集) を選択します。設定に問題がなければ、作成