インフラストラクチャの更新を実行する - AWS Batch

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

インフラストラクチャの更新を実行する

インフラストラクチャの更新は、コンピューティング環境のインスタンスを、設定が更新された新しいインスタンスに置き換えます。この更新戦略は、スケーリング更新よりも時間がかかり、特定のサービスロールと割り当て戦略の設定が必要です。インフラストラクチャの更新は、サービスの可用性を維持しながら、基本的なコンピューティング環境設定を変更する方法を提供します。

重要

インフラストラクチャの更新には、AWSServiceRoleForBatch サービスにリンクされたロールとBEST_FIT_PROGRESSIVE、、SPOT_CAPACITY_OPTIMIZED、または の割り当て戦略が必要ですSPOT_PRICE_CAPACITY_OPTIMIZED。環境がこれらの要件を満たしていない場合は、代わりに Blue/Green 更新を使用します。

インフラストラクチャの更新をトリガーする変更

次のいずれかの設定を変更すると、 はインフラストラクチャの更新 AWS Batch を実行します。インフラストラクチャの更新は、スケーリング更新設定とともにこれらの設定を変更する場合にも発生します。

以下の設定により、インフラストラクチャの更新がトリガーされます。

コンピューティング設定

  • allocationStrategy – がインスタンスタイプ AWS Batch を選択する方法を決定します。

  • instanceTypes – 使用する EC2 インスタンスタイプを指定します。

  • bidPercentage – スポットインスタンスのオンデマンド料金の最大パーセンテージ。

  • type – コンピューティング環境タイプ (EC2 または SPOT)。

AMI と起動設定

  • imageId – インスタンスに使用する特定の AMI。

  • ec2Configuration – を含む EC2 設定imageIdOverride

  • launchTemplate – EC2 起動テンプレートの設定。

  • ec2KeyPair – インスタンスアクセス用の SSH キーペア。

  • updateToLatestImageVersion – AMI の自動更新設定。

ネットワークとセキュリティ

  • subnets – インスタンスが起動される VPC サブネット (EC2 コンピューティング環境の場合)。

  • securityGroupIds – インスタンスのセキュリティグループ (EC2 コンピューティング環境の場合)。

  • placementGroup – EC2 プレイスメントグループ設定。

その他の設定

  • instanceRole – EC2 インスタンスの IAM ロール。

  • tags – EC2 インスタンスに適用されるタグ。

重要

インフラストラクチャの更新設定をスケーリング更新設定 (desiredvCpus、、 などminvCpus) とともに変更するとmaxvCpus、 はインフラストラクチャの更新 AWS Batch を実行します。インフラストラクチャの更新は、スケーリングの更新よりも時間がかかります。

インフラストラクチャの更新中の AMI の選択

インフラストラクチャーの更新中に、これら3つの設定のいずれかでAMIが指定されているかどうかに応じて、コンピュート環境のAMI IDが変更される場合があります。AMI は imageId (in computeResources)、imageIdOverride (in ec2Configuration )、または launchTemplate で指定されている起動テンプレートで指定されます。これらの設定のいずれにも AMI ID が指定されておらず、updateToLatestImageVersion 設定が true であるとします。次に、 でサポートされている最新の Amazon ECS 最適化 AMI AWS Batch が、インフラストラクチャの更新に使用されます。

これらの設定の少なくとも 1 つで AMI ID が指定されている場合、更新は、更新前に使用された AMI ID が提供された設定によって異なります。コンピュート環境を作成する場合、AMI ID を選択する際の優先順位は、最初に起動テンプレート、次に imageId の設定、最後に imageIdOverride の設定です。ただし、使用される AMI ID が起動テンプレートからのものである場合、imageId または imageIdOverride の設定を更新しても AMI ID は更新されません。起動テンプレートから選択した AMI ID を更新する唯一の方法は、起動テンプレートを更新することです。起動テンプレートのバージョンパラメータが $Default または $Latest の場合、指定された起動テンプレートのデフォルトまたは最新バージョンが評価されます。デフォルトで別の AMI ID が選択されている場合、または起動テンプレートの最新バージョンが選択されている場合、その AMI ID が更新に使用されます。

起動テンプレートを使用して AMI ID を選択しなかった場合は、imageId または imageIdOverride のパラメータで指定されている AMI ID が使用されます。両方を指定すると、imageIdOverride パラメータで指定された AMI ID が使用されます。

コンピュート環境が imageIdimageIdOverride、または launchTemplate パラメータで指定された AMI ID を使用しており、 AWS Batchでサポートされている最新の Amazon ECS 最適化 AMI を使用するとします。次に、更新により AMI ID を提供した設定を削除する必要があります。このため imageId、そのパラメータには空の文字列を指定する必要があります。このため imageIdOverrideec2Configuration パラメータには空の文字列を指定する必要があります。

AMI ID が起動テンプレートから取得されている場合は、次のいずれかの方法で AWS Batch でサポートされている最新の Amazon ECS 最適化 AMI に変更できます。

  • launchTemplateId または launchTemplateName パラメータに空の文字列を指定して、起動テンプレートを削除します。これにより、AMI ID だけではなく、起動テンプレート全体が削除されます。

  • 更新バージョンの起動テンプレートで AMI ID が指定されていない場合は、updateToLatestImageVersion パラメータをに設定する必要があります true

更新中のジョブ処理

更新ポリシーを使用して、インフラストラクチャの更新中に実行中のジョブを処理する方法を設定します。を設定するとterminateJobsOnUpdate=true、実行中のジョブはすぐに終了し、jobExecutionTimeoutMinutes設定は無視され、インスタンスを置き換えることができるとすぐに更新が続行されます。を設定するとterminateJobsOnUpdate=false、実行中のジョブはデフォルトのタイムアウト 30 分で指定されたタイムアウト期間継続され、タイムアウトを超えるとジョブは終了します。

注記

更新中に終了したジョブを再試行するには、ジョブの再試行戦略を設定します。詳細については、「ジョブの再試行の自動化」を参照してください。

Performing infrastructure updates using the AWS Management Console
  1. https://console.aws.amazon.com/batch/ で AWS Batch コンソールを開きます。

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

  3. 更新するコンピューティング環境を選択します。

  4. [Actions (アクション)] を選択してから [Edit (編集)] を選択します。

  5. 更新動作セクションで、実行中のジョブの処理方法を設定します。

    • AMI を最新バージョンに更新を選択して、AMI を最新バージョンに更新します。

    • 更新時にジョブの終了を選択し、更新プロセスの実行時にジョブを終了します。

    • ジョブ実行タイムアウトには、更新プロセスを開始する前に待機する分数を入力します。

  6. インフラストラクチャの更新が必要な設定を 1 つ以上変更します。例:

    • インスタンスロール

    • EC2 スポットインスタンスを使用する

    • 許可されるインスタンスタイプ

    • プレイスメントグループ

    • EC2 キーペア

    • EC2 設定

    • 起動テンプレート

    • サブネット

    • セキュリティグループ

  7. [Save changes] (変更の保存) をクリックします。

  8. コンピューティング環境のステータスをモニタリングします。更新プロセスUPDATING中に環境が表示されます。

Performing infrastructure updates using the AWS CLI

コマンドを使用してupdate-compute-environmentインフラストラクチャの更新を必要とする 1 つ以上の設定を変更します。次の 3 つの例は、一般的なインフラストラクチャオペレーションです。

  • この例では、インスタンスタイプを更新し、更新ポリシーを設定します。

    aws batch update-compute-environment \ --compute-environment your-compute-environment-name \ --compute-resources instanceTypes=default_x86_64 \ --update-policy terminateJobsOnUpdate=false,jobExecutionTimeoutMinutes=30
  • この例では、VPC サブネットとセキュリティグループを更新します。

    aws batch update-compute-environment \ --compute-environment your-compute-environment-name \ --compute-resources subnets=subnet-abcd1234,subnet-efgh5678 securityGroupIds=sg-abcd1234 \ --update-policy terminateJobsOnUpdate=true
  • この例では、最新の Amazon ECS 最適化 AMI の自動更新を有効にします。

    aws batch update-compute-environment \ --compute-environment your-compute-environment-name \ --compute-resources updateToLatestImageVersion=true \ --update-policy terminateJobsOnUpdate=false,jobExecutionTimeoutMinutes=60

インフラストラクチャの更新のモニタリング

AWS Batch コンソールを使用してインフラストラクチャの更新をモニタリングし、コンピューティング環境のステータスが に変わるのをモニタリングしUPDATING、インスタンスの置き換えの進行状況をモニタリングして、失敗した更新がないか確認します。コンピューティング環境の状態が になると、更新は成功しますVAILD。CloudWatch を使用して、インスタンスの終了イベントを追跡し、更新中にジョブの状態をモニタリングすることもできます。で AWS CLI、 describe-compute-environments コマンドを使用してステータスを確認し、インスタンスのライフサイクルイベントをモニタリングします。