View a markdown version of this page

Amazon ECS マネージドインスタンスのコンピューティング環境 - AWS Batch

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

Amazon ECS マネージドインスタンスのコンピューティング環境

AWS Batch Amazon ECS マネージドインスタンスの コンピューティング環境は、 内でmanagedInstancesProvider設定ブロックを使用しますcomputeResources。この構造は Amazon ECS キャパシティープロバイダーモデルと一致し、自己完結型です。すべてのネットワーク、インスタンスプロファイル、インスタンス選択設定は、このブロック内にあります。

次のリストでは、Amazon ECS Managed Instances コンピューティング環境のコンピューティング環境パラメータについて説明します。

type (最上位)

MANAGED を指定してください。

"type": "MANAGED"
computeResources.type

ECS_MANAGED_INSTANCES を指定してください。Fargate や Amazon EC2 コンピューティング環境とは異なり、スポット容量は別のタイプとして表現されません (ECS_MANAGED_INSTANCES_SPOTタイプはありません)。代わりに、capacityOptionType内部managedInstancesProvider.instanceLaunchTemplateで を使用してオンデマンド容量またはスポット容量を指定します。

"type": "ECS_MANAGED_INSTANCES"
computeResources.maxvCpus

コンピューティング環境がスケーリングできる vCPUsの最大数。maxvCpus Fargate コンピューティング環境と同じように機能します。実行中のすべてのジョブで消費される vCPU の合計数を制限します。

重要

現在、 AWS Batch は、基盤となる Amazon EC2 インスタンスの合計 vCPUsではなく、実行中のジョブによってリクエストされた合計 vCPUsmaxvCpusに基づいて評価されます。Amazon ECS マネージドインスタンスは、マルチテナントインスタンス割り当てを使用します。その結果、プロビジョニングされた実際のインスタンス vCPU 容量がジョブ vCPU の合計を超える可能性があります。コンピューティング環境は、maxvCpus値が意味するよりも多くのインスタンス容量をプロビジョニングする可能性があります。この動作は、今後の更新で改善される可能性があります。

computeResources.managedInstancesProvider

Amazon ECS マネージドインスタンスのコンピューティング環境に必要です。すべての Amazon ECS マネージドインスタンス固有の設定が含まれます。詳細については、Amazon Elastic Container Service API リファレンスManagedInstancesProvider」を参照してください。以下のフィールドが利用できます。

infrastructureRoleArn

必須。Amazon ECS がユーザーに代わって Amazon EC2 インスタンスを管理するために引き受ける IAM ロールの ARN。このロールには、 の信頼ポリシーが必要ですecs.amazonaws.com。IAM プリンシパルには、 条件を持つこのロールに対するiam:PassRoleアクセス許可が必要ですiam:PassedToService: ecs.amazonaws.com

propagateTags

オプション。キャパシティープロバイダーのタグが、起動する Amazon EC2 インスタンスに伝播されるかどうかを制御します。有効な値は、CAPACITY_PROVIDER および NONE です。

instanceLaunchTemplate

必須。インスタンス起動設定が含まれます。

ec2InstanceProfileArn

必須。マネージドインスタンスの Amazon EC2 インスタンスプロファイルの ARN。このインスタンスプロファイルは、 の信頼ポリシーで AmazonECSInstanceRolePolicyForManagedInstances管理ポリシーを使用する必要がありますec2.amazonaws.com

networkConfiguration

必須。マネージドインスタンスの VPC 設定を指定します。

  • subnets — 必須。インスタンスが起動される VPC サブネット。インスタンスは、Amazon ECS サービスエンドポイントと通信するために外部ネットワークアクセスが必要です。サブネットがパブリック IP アドレスを提供していない場合は、アウトバウンドインターネットアクセス用の NAT ゲートウェイが必要です。

  • securityGroups — 必須。インスタンスに関連付ける VPC セキュリティグループ。

instanceRequirements

オプション。Amazon ECS が起動できる Amazon EC2 インスタンスタイプの制約を指定します。指定しない場合、使用可能なすべてのインスタンスタイプが対象になります。

  • allowedInstanceTypes — 特定のインスタンスタイプまたはインスタンスファミリーのリスト (例: m5.largeまたは g5)。指定すると、これらのインスタンスタイプのみが使用されます。

capacityOptionType

オプション。キャパシティ料金モデル。有効な値は、ON_DEMAND (デフォルト) と SPOT です。ではSPOT、Amazon ECS がスポットインスタンスを起動します。これにより、耐障害性のあるワークロードのコストを大幅に削減できます。

storageConfiguration

オプション。インスタンスのルート EBS ボリュームを設定します。

  • storageSizeGiB — GiB 単位のルートボリュームのサイズ。

monitoring

オプション。インスタンスの CloudWatch モニタリングのレベル。有効な値は、BASIC および DETAILED です。

fipsEnabled

オプション。に設定するとtrue、マネージドインスタンスで FIPS 140-2 コンプライアンスが有効になります。一部では使用できません AWS リージョン。

capacityReservations

オプション。オンデマンドキャパシティ予約 (ODCRs) をターゲットにして、予測可能なキャパシティの可用性を確保します。

  • reservationGroupArn — ターゲットとするキャパシティ予約グループの ARN。

  • reservationPreference — キャパシティ予約の使用方法を制御します。有効な値は、 RESERVATIONS_ONLY (予約への起動のみ)、 RESERVATIONS_FIRST (予約を優先する、オンデマンドにフォールバックする)、 RESERVATIONS_EXCLUDED (予約を使用しない) です。

instanceMetadataTagsPropagation

オプション。マネージドインスタンスのインスタンスメタデータサービス (IMDS) からタグにアクセスできるかどうかを制御します。

localStorageConfiguration

オプション。マネージドインスタンスのローカルインスタンスストアボリューム (ローカル NVMe SSDs) を設定します。

  • useLocalStorage — マネージドインスタンスで実行されているコンテナがインスタンスストアボリュームを使用できるかどうか。

infrastructureOptimization

オプション。Amazon ECS がアイドル状態のインスタンスを管理する方法を制御します。

  • scaleInAfter — Amazon ECS が終了するまでにインスタンスをアイドル状態にする必要がある秒数。有効な値は、 -1 (スケールインを無効にするため) または 03600 (終了までのアイドル時間の秒数) です。

computeResources.capacityTags

オプション。コンピューティング環境によって管理される Amazon ECS キャパシティープロバイダーと Amazon EC2 インスタンスに適用するタグ。ECS_MANAGED_INSTANCES コンピューティング環境でのみ有効です。このフィールドを指定するには、IAM プリンシパルにコンピューティング環境リソースに対するbatch:SetCapacityTagsアクセス許可が必要です。詳細については、「を使用してキャパシティタグへのアクセスを制御する batch:SetCapacityTags」を参照してください。

これらのタグは、コンピューティング環境リソース自体の最上位tagsレベルとは別のものです。基盤となるインフラストラクチャリソースのコスト配分と整理capacityTagsに使用します。

Amazon ECS マネージドインスタンスに適用されないパラメータ

以下のcomputeResourcesパラメータは Amazon ECS Managed Instances コンピューティング環境では有効ではなく、指定しないでください。

  • allocationStrategy

  • bidPercentage

  • desiredvCpus

  • minvCpus

  • imageId

  • instanceTypes

  • instanceRole

  • ec2Configuration

  • ec2KeyPair

  • launchTemplate

  • placementGroup

  • spotIamFleetRole

  • subnets (managedInstancesProvider.instanceLaunchTemplate.networkConfiguration.subnets代わりに を使用)

  • securityGroupIds (managedInstancesProvider.instanceLaunchTemplate.networkConfiguration.securityGroups代わりに を使用)

Amazon ECS マネージドインスタンスのコンピューティング環境の更新

コンピューティング環境タイプ、、capacityOptionTypeおよび を除くすべての Amazon ECS マネージドインスタンスコンピューティング環境属性を更新できますfipsEnabled。更新は、基盤となる Amazon ECS キャパシティープロバイダーにフロースルーされます。新しいインスタンスは、更新された設定を使用します。既存のインスタンスは、ジョブが完了するまで実行され続け、その後自然にドレインされます。

作成後に以下を変更することはできません。

  • コンピューティング環境タイプ (ECS_MANAGED_INSTANCESFARGATEEC2、またはその他のタイプに変更することはできません)

  • capacityOptionType — 作成後にオンデマンドとスポットを切り替えることはできません

  • fipsEnabled — 作成後に FIPS モードを変更することはできません

最小設定

次の例は、Amazon ECS マネージドインスタンスのコンピューティング環境を作成するために必要な最小設定を示しています。Amazon ECS は、使用可能なすべてのタイプからインスタンスタイプを自動的に選択します。

{ "computeEnvironmentName": "my-managed-instances-ce", "type": "MANAGED", "state": "ENABLED", "computeResources": { "type": "ECS_MANAGED_INSTANCES", "maxvCpus": 256, "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile", "networkConfiguration": { "subnets": ["subnet-abcde012", "subnet-bcde012a"], "securityGroups": ["sg-abcde012"] } } } } }

特定のインスタンスタイプの GPU ワークロード

次の例では、機械学習ワークロードの NVIDIA GPU インスタンスタイプに制限されたコンピューティング環境を作成します。

{ "computeEnvironmentName": "my-gpu-managed-instances-ce", "type": "MANAGED", "state": "ENABLED", "computeResources": { "type": "ECS_MANAGED_INSTANCES", "maxvCpus": 1000, "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile", "networkConfiguration": { "subnets": ["subnet-abcde012", "subnet-bcde012a"], "securityGroups": ["sg-abcde012"] }, "instanceRequirements": { "allowedInstanceTypes": ["g5.xlarge", "g5.2xlarge", "g5.4xlarge"] }, "capacityOptionType": "ON_DEMAND" } } } }

コスト重視のワークロードのスポット容量

次の例では、耐障害性バッチワークロード用の Spot-backed コンピューティング環境を作成します。

{ "computeEnvironmentName": "my-spot-managed-instances-ce", "type": "MANAGED", "state": "ENABLED", "computeResources": { "type": "ECS_MANAGED_INSTANCES", "maxvCpus": 5000, "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile", "networkConfiguration": { "subnets": ["subnet-abcde012", "subnet-bcde012a", "subnet-cde012ab"], "securityGroups": ["sg-abcde012"] }, "instanceRequirements": { "allowedInstanceTypes": ["m5.large", "m5.xlarge", "m6i.large", "m6i.xlarge"] }, "capacityOptionType": "SPOT", "storageConfiguration": { "storageSizeGiB": 100 } } } } }