コンピューティング環境の作成 - AWS Batch

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

コンピューティング環境の作成

でジョブを実行する前に AWS Batch、コンピューティング環境を作成する必要があります。が仕様に基づいて環境内の Amazon EC2 インスタンスまたは AWS Fargate リソース AWS Batch を管理するマネージドコンピューティング環境を作成できます。あるいは、アンマネージド型のコンピューティング環境を構築し、Amazon EC2 インスタンスの設定を環境内で処理することも可能です。

重要

Fargate Spot インスタンスは、以下のシナリオではサポートされません。

  • ARM64 アーキテクチャの Amazon Linux コンテナの場合。

  • Windows containers on AWS Fargate

このようなシナリオでは、Fargate Spot コンピューティング環境のみを使用するジョブキューにジョブが送信されると、ジョブキューはブロックされます。

AWS Fargate リソースを使用してマネージドコンピューティング環境を作成するには

  1. https://console.aws.amazon.com/batch/ で AWS Batch コンソールを開きます。

  2. ナビゲーションバーから、 AWS リージョン 使用する を選択します。

  3. ナビゲーションペインで、コンピューティング環境] を選択します。

  4. 作成] を選択します。

  5. コンピューティング環境を設定します。

    注記

    Windows containers on AWS Fargate ジョブのコンピューティング環境は、少なくとも 1 つの vCPU が必要です。

    1. コンピュート環境設定 で、Fargate を選択します。

    2. 名前 で、コンピューティング環境の一意な名前を指定します。名前の長さは最大 128 文字です。大文字、小文字、数字、ハイフン (-)、アンダースコア (_) を含めることができます。

    3. サービスロール で、サービスがユーザーに代わって必要な AWS API オペレーションを呼び出すことを許可する AWS Batch サービスにリンクされたロールを選択します。例えば、[AWSServiceRoleForBatch] を選択します。詳細については、「のサービスにリンクされたロール権限 AWS Batch」を参照してください。

    4. (オプション) タグ を展開します。タグを追加するには、タグの追加 を選択します。次に、キー 名を入力し、オプションで を入力します。タグを追加] を選択します。

    5. 次のページ を選択します。

  6. インスタンス設定 セクション:

    1. (オプション) Fargate Spot キャパシティを使用 では、Fargate Spot をオンにします。Fargate Spot については、Amazon EC2 スポットと Fargate_Spot を使用するを参照してください。

    2. 最大 vCPU] では、ジョブキューの需要にかかわらず、コンピューティング環境でスケールアウトできる vCPU の最大数を選択します。

    3. 次のページ を選択します。

  7. ネットワーキングを設定します。

    重要

    コンピューティングリソースには、Amazon ECS サービスエンドポイントと通信するために外部ネットワークアクセスが必要です。これは、インターフェイス VPC エンドポイントを介して、またはパブリック IP アドレスを持つコンピュートリソースを通じて可能になります。

    インターフェイス VPC エンドポイントの詳細については、Amazon Elastic Container Service 開発者ガイドAmazon ECS インターフェイス VPC エンドポイント (AWS PrivateLink)を参照してください。

    インターフェイス VPC エンドポイントが設定されておらず、コンピューティングリソースがパブリック IP アドレスを持たない場合は、ネットワークアドレス変換 (NAT) を使用してこのアクセスを提供する必要があります。詳細については、Amazon VPC ユーザーガイドに含まれるNAT ゲートウェイを参照してください。詳細については、「VPC を作成する」を参照してください。

    1. 仮想プライベートクラウド (VPC) ID では、インスタンスを起動する VPC を選択します。

    2. サブネット では、使用するサブネットを選択します。デフォルトでは、選択した VPC 内のすべてのサブネットを使用できます。

      注記

      AWS Batch Fargate の は、現在 Local Zones をサポートしていません。詳細については、Amazon Elastic Container Service 開発者ガイドのAmazon ECS クラスターのローカルゾーン、波長ゾーン、および AWS Outpostsを参照してください。

    3. セキュリティグループ] では、インスタンスにアタッチするセキュリティグループを選択します。デフォルトでは、VPC のデフォルトのセキュリティグループが選択されます。

    4. 次のページ を選択します。

  8. レビュー では、設定手順を確認します。変更する必要がある場合は、編集] を選択します。完了したら、コンピューティング環境の作成 を選択します。

EC2 リソースを使用して、マネージド型のコンピューティング環境を作成するには

  1. https://console.aws.amazon.com/batch/ で AWS Batch コンソールを開きます。

  2. ナビゲーションバーから、 AWS リージョン 使用する を選択します。

  3. ナビゲーションペインで、コンピューティング環境] を選択します。

  4. 作成] を選択します。

  5. 環境を設定します。

    1. コンピューティング環境設定 で、Amazon Elastic Compute Cloud (Amazon EC2) を選択します。

    2. オーケストレーションタイプ で、マネージド を選択します。

    3. 名前 で、コンピューティング環境の一意な名前を指定します。名前の長さは最大 128 文字です。大文字、小文字、数字、ハイフン (-)、アンダースコア (_) を含めることができます。

    4. (オプション) サービスロール で、サービスがユーザーに代わって必要な AWS API オペレーションを呼び出せるようにする AWS Batch サービスにリンクされたロールを選択します。例えば、[AWSServiceRoleForBatch] を選択します。詳細については、「のサービスにリンクされたロール権限 AWS Batch」を参照してください。

    5. インスタンスロールの場合、新しいインスタンスプロファイルを作成するか、必要な IAM アクセス許可がアタッチされた既存のプロファイルを使用するかを選択します。このインスタンスプロファイルにより、コンピューティング環境用に作成された Amazon ECS コンテナインスタンスは、ユーザーに代わって必要な AWS API オペレーションを呼び出すことができます。詳細については、「Amazon ECS インスタンスロール」を参照してください。新しいインスタンスプロファイルを作成することを選択した場合は、必要なロール (ecsInstanceRole) が作成されます。

    6. (オプション) タグ を展開します。

    7. (オプション) EC2 タグ で、タグを追加 を選択して、コンピューティング環境で起動されるリソースにタグを追加します。次に、キー 名を入力し、オプションで を入力します。タグを追加] を選択します。

    8. (オプション) タグ には タグを追加 を選択します。次に、キー 名を入力し、オプションで を入力します。タグを追加] を選択します。

      詳細については、AWS Batch リソースのタグ付けを参照してください。

    9. 次のページ を選択します。

  6. インスタンス設定 セクション:

    1. (オプション) スポットインスタンスの使用を有効にする でスポットをオンにします。詳細については、スポットインスタンスを参照してください。

    2. (スポットの場合のみ) 上限のオンデマンド価格の割合 (%) で、インスタンス起動前のインスタンスタイプのオンデマンド価格と対比したスポットインスタンス価格の最大パーセンテージを選択します。たとえば、上限価格が 20% の場合、その EC2 インスタンスのスポット料金は現在のオンデマンド料金の 20% 未満にする必要があります。支払い額は常に最低 (市場料金) となり、最大パーセンテージを超えることはありません。このフィールドを空のままにした場合、デフォルト値はオンデマンド料金の 100% です。

    3. (スポットの場合のみ) スポットフリートロール で、既存の Amazon EC2 スポットフリート IAM ロールを選択してスポットコンピューティング環境に適用します。既存の Amazon EC2 スポットフリート IAM ロールが存在しない場合には、まずこのロールを作成する必要があります。詳細については、「Amazon EC2 スポットフリートロール」を参照してください。

      重要

      作成時にスポットインスタンスにタグを付けるには、Amazon EC2 スポットフリート IAM ロールで新しい AmazonEC2SpotFleetTaggingRole 管理ポリシーを使用する必要があります。AmazonEC2SpotFleetRole 管理ポリシーには、スポットインスタンスにタグを付けるために必要なアクセス許可がありません。詳細については、作成時にタグが付けられていないスポットインスタンスおよび リソースのタグ付けを参照してください。

    4. 最小 vCPU で、ジョブキューの需要にかかわらず、コンピューティング環境で維持する vCPU の最小数を選択します。

    5. 必要な vCPU で、コンピューティング環境の起動に必要な vCPU の数を選択します。ジョブキューの需要が増えると、 AWS Batch はコンピューティング環境で必要な vCPU の数を増やし、vCPU の最大数まで EC2 インスタンスを追加できます。需要が減ると、 AWS Batch はコンピューティング環境で必要な vCPU の数を減らし、vCPU の最小数までインスタンスを削減できます。

    6. 最大 vCPU] では、ジョブキューの需要にかかわらず、コンピューティング環境でスケールアウトできる vCPU の最大数を選択します。

    7. 許可されたインスタンスタイプ] では、起動できる Amazon EC2 インスタンスタイプを選択します。インスタンスファミリーを指定してそのファミリー内のいずれかのインスタンスタイプ (c5c5np3など) を起動できます。または、ファミリー内の特定のサイズを指定することもできます (c5.8xlarge)。メタルインスタンスタイプはインスタンスファミリーに含まれていません。たとえば、c5c5.metal を含んでいません。また、(C4、M4、および R4 インスタンスファミリーから) optimal を選択して、ジョブキューの需要に見合ったインスタンスタイプを使用することもできます。

      注記

      コンピューティング環境を作成する際、そのコンピューティング環境で選択するインスタンスタイプで同じアーキテクチャを使用する必要があります。例えば、x86 と ARM インスタンスを同じコンピューティング環境で使用することはできません。

      注記

      AWS Batch は、ジョブキューに必要な量に基づいて GPUs をスケーリングします。GPU スケジューリングを使用するには、コンピューティング環境に p2p3p4p5g3g3sg4または g5 ファミリーのインスタンスタイプを含める必要があります。

      注記

      現在、optimal は C4、M4、および R4 インスタンスファミリーのインスタンスタイプを使用しています。これらのインスタンスファミリーのインスタンスタイプ AWS リージョン を持たない では、C5、、M5および インスタンスファミリーのR5インスタンスタイプが使用されます。

    8. 追加設定] を展開します。

    9. (オプション) プレイスメントグループ では、プレイスメントグループ名を入力して、コンピューティング環境内のリソースをグループ化します。

    10. (オプション) EC2 キーペア で、インスタンス接続時のセキュリティ認証情報としてパブリックキーとプライベートキーのペアを選択します。Amazon EC2 キーペアの詳細については、Amazon EC2 キーペアおよび Linux インスタンスを参照してください。

    11. 配分戦略] では、許可されるインスタンスタイプのリストからインスタンスタイプを選択するときに使用する配分戦略を選択します。EC2 のオンデマンドコンピューティング環境では BEST_FIT_PROGRESSIVE を、EC2 のスポットコンピューティング環境では SPOT_CAPACITY_OPTIMIZED または SPOT_PRICE_CAPACITY_OPTIMIZED を選択するのが一般的です。詳細については、「配分戦略」を参照してください。

    12. (オプション) EC2 設定 では、Image typeImage ID オーバーライド値 を選択して、 がコンピューティング環境のインスタンスの Amazon マシンイメージ (AMIsを選択 AWS Batch するための情報を提供します。各イメージタイプ にイメージ ID オーバーライドが指定されていない場合、 は最新の Amazon ECS 最適化 AMI AWS Batch を選択します。イメージタイプを指定しない場合、デフォルトは GPU 以外の AWS Graviton インスタンス用の Amazon Linux 2 です。

      重要

      カスタム AMI を使用するには、イメージタイプを選択し、イメージ ID のオーバーライド ボックスにカスタム AMI ID を入力します。

      Amazon Linux 2

      すべての AWS Graviton ベースのインスタンスファミリー (、、C6gM6gR6g、 などT4g) のデフォルト。GPU 以外のすべてのインスタンスタイプに使用できます。

      Amazon Linux 2 (GPU)

      すべての GPU インスタンスファミリー ( P4や などG4) のデフォルト。非 AWS Graviton ベースのすべてのインスタンスタイプに使用できます。

      Amazon Linux

      GPU 以外の AWS Graviton インスタンスファミリーに使用できます。Amazon Linux AMI の標準サポートは終了しました。詳細については、Amazon Linux 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を参照してください。

    13. (オプション)起動テンプレート] では、既存の Amazon EC2 起動テンプレートを選択して、コンピューティングリソースを設定します。テンプレートのデフォルトバージョンは自動的に設定されます。詳細については、起動テンプレートのサポートを参照してください。

      注記

      起動テンプレートで、作成したカスタム AMI を指定できます。

    14. (オプション) 起動テンプレートのバージョン] では、$Default または $Latest を使用するか、あるいは起用するバージョン番号を指定します。

      重要

      起動テンプレートのバージョンパラメータが $Default または $Latest の場合、指定された起動テンプレートのデフォルトまたは最新バージョンがインフラストラクチャの更新時に評価されます。デフォルトで別の AMI ID が選択されている場合、または起動テンプレートの最新バージョンが選択されている場合、その AMI ID が更新に使用されます。詳細については、AMI ID のアップデートを参照してください。

    15. 次のページ を選択します。

  7. ネットワーク設定 セクションで:

    重要

    コンピューティングリソースには、Amazon ECS サービスエンドポイントと通信するために外部ネットワークアクセスが必要です。これは、インターフェイス VPC エンドポイントを介して、またはパブリック IP アドレスを持つコンピュートリソースを通じて可能になります。

    インターフェイス VPC エンドポイントの詳細については、Amazon Elastic Container Service 開発者ガイドAmazon ECS インターフェイス VPC エンドポイント (AWS PrivateLink)を参照してください。

    インターフェイス VPC エンドポイントが設定されておらず、コンピューティングリソースがパブリック IP アドレスを持たない場合は、ネットワークアドレス変換 (NAT) を使用してこのアクセスを提供する必要があります。詳細については、Amazon VPC ユーザーガイドに含まれるNAT ゲートウェイを参照してください。詳細については、「VPC を作成する」を参照してください。

    1. 仮想プライベートクラウド (VPC) ID では、インスタンスを起動する先の VPC を選択します。

    2. サブネット では、使用するサブネットを選択します。デフォルトでは、選択した VPC 内のすべてのサブネットを使用できます。

      注記

      AWS Batch Amazon EC2 の は Local Zones をサポートしています。詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドのローカルゾーン、およびAmazon Elastic Container Service 開発者ガイドのAmazon ECS クラスターのローカルゾーン、波長ゾーン、および AWS Outpostsを参照してください。

    3. (オプション) セキュリティグループ で、インスタンスにアタッチするセキュリティグループを選択します。デフォルトでは、VPC のデフォルトのセキュリティグループが選択されます。

  8. 次のページ を選択します。

  9. レビュー では、設定手順を確認します。変更する必要がある場合は、編集] を選択します。完了したら、コンピューティング環境の作成 を選択します。

EC2 リソースを使用して、アンマネージド型のコンピューティング環境を作成するには

  1. https://console.aws.amazon.com/batch/ で AWS Batch コンソールを開きます。

  2. ナビゲーションバーから、 AWS リージョン 使用する を選択します。

  3. コンピューティング環境]ページで、[作成]を選択します。

  4. 環境を設定します。

    1. コンピューティング環境設定 で、Amazon Elastic Compute Cloud (Amazon EC2) を選択します。

    2. オーケストレーションタイプ で、アンマネージド を選択します。

  5. 名前 で、コンピューティング環境の一意な名前を指定します。名前の最大長は 128 文字です。大文字、小文字、数字、ハイフン (-)、アンダースコア (_) を含めることができます。

  6. (オプション) サービスロール で、サービスがユーザーに代わって必要な AWS API オペレーションを呼び出すことを許可する AWS Batch ロールを選択します。例えば、[AWSBatchServiceRole] を選択します。詳細については、サービスにリンクされたロールの使用方法 AWS Batchを参照してください。

  7. 最大 vCPU] では、ジョブキューの需要にかかわらず、コンピューティング環境でスケールアウトできる vCPU の最大数を選択します。

  8. (オプション) タグ を展開します。タグを追加するには、タグの追加 を選択します。次に、キー 名を入力し、オプションで を入力します。タグを追加] を選択します。詳細については、AWS Batch リソースのタグ付けを参照してください。

  9. 次のページ を選択します。

  10. レビュー では、設定手順を確認します。変更する必要がある場合は、編集] を選択します。完了したら、コンピューティング環境の作成 を選択します。

Amazon EKS リソースを使用してマネージドコンピューティング環境を作成するには

  1. https://console.aws.amazon.com/batch/ で AWS Batch コンソールを開きます。

  2. ナビゲーションバーから、 AWS リージョン 使用する を選択します。

  3. ナビゲーションペインで、コンピューティング環境] を選択します。

  4. 作成] を選択します。

  5. コンピューティング環境の設定 で、Amazon Elastic Kubernetes Service (Amazon EKS) を選択します。

  6. 名前 で、コンピューティング環境の一意な名前を指定します。名前の最大長は 128 文字です。大文字、小文字、数字、ハイフン (-)、アンダースコア (_) を含めることができます。

  7. インスタンスロール では、必要な IAM アクセス許可がアタッチされた既存のインスタンスプロファイルを使用することを選択します。

    注記

    AWS Batch コンソールでコンピューティング環境を作成するには、 eks:ListClustersおよび アクセスeks:DescribeCluster許可を持つインスタンスプロファイルを選択します。

  8. EKS クラスター で、既存の Amazon EKS クラスターを選択します。

  9. 名前空間 で、クラスター内の AWS Batch プロセスをグループ化する Kubernetes 名前空間を入力します。

  10. (オプション) タグ を展開します。タグの追加 を選択し、キーと値のペアを入力します。

  11. 次のページ を選択します。

  12. (オプション) EC2 スポットインスタンスを使用 で、スポットインスタンスの使用を有効にする をオンにして Amazon EC2 スポットインスタンスを使用します。

  13. (スポットの場合のみ) 上限のオンデマンド価格の割合 (%) で、インスタンス起動前のインスタンスタイプのオンデマンド価格と対比したスポットインスタンス価格の最大パーセンテージを選択します。たとえば、上限価格が 20% の場合、その EC2 インスタンスのスポット料金は現在のオンデマンド料金の 20% 未満にする必要があります。支払い額は常に最低 (市場料金) となり、最大パーセンテージを超えることはありません。このフィールドを空のままにした場合、デフォルト値はオンデマンド料金の 100% です。

  14. (スポットのみ) スポットフリートロール で、SPOT コンピューティング環境用の Amazon EC2 スポットフリート IAM ロールを選択します。

    重要

    このロールは、配分戦略が BEST_FIT に設定されている場合、または指定されていない場合に必要です。

  15. (オプション) 最小 vCPU で、ジョブキューの需要にかかわらず、コンピューティング環境で維持する vCPU の最小数を選択します。

  16. (オプション) 最大 vCPU で、ジョブキューの需要にかかわらず、コンピューティング環境でスケールアウトできる vCPU の最大数を選択します。

  17. 許可されたインスタンスタイプ] では、起動できる Amazon EC2 インスタンスタイプを選択します。インスタンスファミリーを指定してそのファミリー内のいずれかのインスタンスタイプ (c5c5np3など) を起動できます。または、ファミリー内の特定のサイズを指定することもできます (例えば、c5.8xlarge)。メタルインスタンスタイプはインスタンスファミリーに含まれていません。たとえば、c5c5.metal を含んでいません。また、(C4、M4、および R4 インスタンスファミリーから) optimal を選択して、ジョブキューの需要に見合ったインスタンスタイプを使用することもできます。

    注記

    コンピューティング環境を作成する際、そのコンピューティング環境で選択するインスタンスタイプで同じアーキテクチャを使用する必要があります。例えば、x86 と ARM インスタンスを同じコンピューティング環境で使用することはできません。

    注記

    AWS Batch はGPUs をスケーリングします。GPU スケジューリングを使用するには、コンピューティング環境に p2p3p4p5g3g3sg4または g5 ファミリーのインスタンスタイプを含める必要があります。

    注記

    現在、optimal は C4、M4、および R4 インスタンスファミリーのインスタンスタイプを使用しています。これらのインスタンスファミリーのインスタンスタイプ AWS リージョン を持たない では、C5、、M5および インスタンスファミリーのR5インスタンスタイプが使用されます。

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

    1. (オプション) プレイスメントグループ では、プレイスメントグループ名を入力して、コンピューティング環境内のリソースをグループ化します。

    2. 配分戦略 で、BEST_FIT_PROGRESSIVE を選択します。

    3. (オプション) Amazon マシンイメージ (AMI) 設定 で、Amazon マシンイメージ (AMI) 設定の追加 を選択します。次に、イメージタイプ を選択し、イメージ ID のオーバーライドKubernetes バージョンを入力します。

      重要

      カスタム AMI を使用するには、イメージタイプを選択し、イメージ ID のオーバーライド ボックスにカスタム AMI ID を入力します。

      注記

      イメージタイプ にイメージ ID オーバーライドが指定されていない場合、 は最新の Amazon ECS 最適化 AMI AWS Batch を選択します。イメージタイプを指定しない場合、デフォルトは GPU 以外の AWS Graviton インスタンス用の Amazon Linux 2 です。

      Amazon Linux 2

      すべての AWS Graviton ベースのインスタンスファミリー (、、C6gM6gR6g、 などT4g) のデフォルト。GPU 以外のすべてのインスタンスタイプに使用できます。

      Amazon Linux 2 (GPU)

      すべての GPU インスタンスファミリー ( P4や などG4) のデフォルト。 AWS Graviton ベース以外のすべてのインスタンスタイプに使用できます。

    4. (オプション) 起動テンプレート では、既存の起動テンプレートを選択します。

    5. (オプション) 起動テンプレートのバージョン では、$Default または $Latest を使用するか、あるいは起用するバージョン番号を指定します。

  19. 次のページ を選択します。

  20. 仮想プライベートクラウド (VPC) ID で、インスタンスを起動する先の VPC を選択します。

  21. サブネット では、使用するサブネットを選択します。デフォルトでは、選択した VPC 内のすべてのサブネットを使用できます。

    注記

    AWS Batch Amazon EKS の は Local Zones をサポートしています。詳細については、「Amazon EKS ユーザーガイド」の「Amazon EKS と AWS ローカルゾーン」を参照してください。

  22. (オプション) セキュリティグループ で、インスタンスにアタッチするセキュリティグループを選択します。デフォルトでは、VPC のデフォルトのセキュリティグループが選択されます。

  23. 次のページ を選択します。

  24. レビュー では、設定手順を確認します。変更する必要がある場合は、編集] を選択します。完了したら、コンピューティング環境の作成 を選択します。