マネージド型のコンピューティング環境 - AWS Batch

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

マネージド型のコンピューティング環境

マネージド型のコンピューティング環境を使用して、 が環境内のコンピューティングリソースの容量とインスタンスタイプ AWS Batch を管理できます。これは、コンピュート環境の作成時に定義したコンピュートリソースの仕様に基づいています。Amazon EC2 オンデマンドインスタンスと Amazon EC2 スポットインスタンスを使用するかを選択できます。または、マネージド型のコンピューティング環境で Fargate および Fargate スポット容量を使用することもできます。スポットインスタンスを使用する場合、オプションで上限価格を設定できます。こうすることで、スポット・インスタンスは、スポットインスタンス価格がオンデマンド価格の指定されたパーセンテージを下回った場合にのみ起動する。

重要

Fargate Spot インスタンスは ではサポートされていません Windows containers on AWS Fargate。FargateWindowsのジョブが、Fargate Spotのコンピュート環境のみを利用するジョブキューに投入された場合、ジョブキューはブロックされます。

重要

AWS Batch は、Amazon EC2 起動テンプレート、Amazon EC2 Auto Scaling グループ、Amazon EC2 Amazon EC2 スポットフリート、Amazon ECS クラスターなど、ユーザーに代わってアカウント内で複数の AWS リソースを作成および管理します。これらのマネージドリソースは、最適な AWS Batch オペレーションを保証するために特別に設定されています。これらのバッチ管理リソースを手動で変更すると、ドキュメントに AWS Batch 明示的に記載されていない限り、予期しない動作が発生し、INVALIDコンピューティング環境、最適ではないインスタンスのスケーリング動作、ワークロード処理の遅延、予期しないコストが発生する可能性があります。これらの手動変更は、 AWS Batch サービスで決定的にサポートすることはできません。コンピューティング環境を管理するには、必ずサポートされているバッチ APIs またはバッチコンソールを使用してください。

マネージド・コンピュート環境は、指定したVPCとサブネットにAmazon EC2インスタンスを起動し、Amazon ECSクラスターに登録します。Amazon EC2インスタンスは、Amazon ECSサービスエンドポイントと通信するために外部ネットワークアクセスが必要です。一部のサブネットでは、Amazon EC2インスタンスにパブリックIPアドレスを提供していない。Amazon EC2インスタンスがパブリックIPアドレスを持っていない場合、このアクセスを得るためにネットワークアドレス変換(NAT)を使用する必要があります。詳細については、Amazon VPC ユーザーガイドNAT ゲートウェイを参照してください。VPC の作り方の詳細については、仮想プライベートクラウドを作成する を参照してください。

デフォルトでは、 AWS Batch マネージド型のコンピューティング環境は、承認された最新バージョンの Amazon ECS 最適化 AMI をコンピューティングリソースに使用します。ただし、さまざまな理由により、マネージド型のコンピューティング環境で使用する AMI を独自に作成する場合もあります。詳細については、「コンピューティングリソースの AMI」を参照してください。

注記

AWS Batch は、作成後にコンピューティング環境の AMIs を自動的にアップグレードしません。例えば、Amazon ECS最適化AMIの新しいバージョンがリリースされても、コンピュート環境のAMIは更新されません。ゲストオペレーティングシステムの管理はユーザーの責任です。これには、アップデートとセキュリティパッチが含まれます。また、コンピューティングリソースにインストールするその他のアプリケーションソフトウェアやユーティリティについても責任を負うものとします。 AWS Batch ジョブに新しい AMI を使用するには、2 つの方法があります。オリジナルの方法は、次のステップを完了することです。

  1. 新しい AMI を使用して新しいコンピューティング環境を作成します。

  2. コンピューティング環境を既存のジョブキューに追加します。

  3. 古いコンピューティング環境をジョブキューから削除します。

  4. 以前のコンピューティング環境を削除します。

2022 年 4 月に、コンピューティング環境の更新に対する拡張サポート AWS Batch が追加されました。詳細については、「コンピューティング環境を更新します。」を参照してください。コンピューティング環境の拡張アップデートを使用して AMI を更新するには、次のルールに従います。

  • サービスロール(serviceRole)パラメータを設定しないか、AWSServiceRoleForBatch サービス連動ロールに設定します。

  • 割り当て戦略 (allocationStrategy) パラメータを、BEST_FIT_PROGRESSIVESPOT_CAPACITY_OPTIMIZED または SPOT_PRICE_CAPACITY_OPTIMIZEDに設定します。

  • 最新のイメージバージョンへの更新 (updateToLatestImageVersion) パラメータを true に設定します。

  • imageIdimageIdOverride(ec2Configuration) または起動テンプレート (launchTemplate) には AMI ID を指定しないでください。この場合、 はインフラストラクチャの更新が開始された AWS Batch 時点で でサポートされている最新の Amazon ECS 最適化 AMI AWS Batch を選択します。または、imageIdまたはimageIdOverrideパラメータで AMI ID を指定するか、LaunchTemplateプロパティで識別されるローンチテンプレートを指定することもできます。これらのプロパティのいずれかを変更すると、インフラストラクチャの更新が開始されます。AMI ID が起動テンプレートで指定されている場合、imageId または imageIdOverride パラメータで AMI ID を指定して置き換えることはできません。別の起動テンプレートを指定することでのみ置き換えることができます。$Default または $Latest、起動テンプレートのバージョンがまたはに設定されている場合は、起動テンプレートの新しいデフォルトバージョンを設定するか(設定されている場合 $Default )、起動テンプレートに新しいバージョンを追加(ある場合 $Latest )します。

これらのルールに従うと、インフラストラクチャの更新をトリガーする更新により、AMI ID が再選択されます。起動テンプレートversionの (launchTemplate)設定が$Latestまたは$Defaultに設定されている場合、launchTemplateを更新していない場合でも、インフラストラクチャの更新時に起動テンプレートの最新バージョンまたはデフォルトバージョンが評価されます。

マルチノードの並列ジョブを作成する際の考慮事項

AWS Batch では、マルチノード並列 (MNP) ジョブと非 MNP ジョブを実行するための専用のコンピューティング環境を作成することをお勧めします。これは、マネージドコンピュート環境におけるコンピューティングキャパシティの作り方によるものです。新しいマネージド型のコンピューティング環境を作成するときに、0 より大きいminvCpu値を指定すると、 は非 MNP ジョブでのみ使用するインスタンスプール AWS Batch を作成します。マルチノードの並列ジョブが送信されると、 はマルチノードの並列ジョブを実行する新しいインスタンス容量 AWS Batch を作成します。単一ノードとマルチノードの両方の並列ジョブが、 minvCpusまたは maxvCpus値が設定された同じコンピューティング環境で実行されている場合、必要なコンピューティングリソースが使用できない場合 AWS Batch 、 は現在のジョブが終了するのを待ってから、新しいジョブの実行に必要なコンピューティングリソースを作成します。