View a markdown version of this page

チュートリアル: Amazon ECS マネージドインスタンスを使用してマネージドコンピューティング環境を作成する - AWS Batch

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

チュートリアル: Amazon ECS マネージドインスタンスを使用してマネージドコンピューティング環境を作成する

このチュートリアルでは、Amazon ECS マネージドインスタンスを使用する AWS Batch コンピューティング環境を作成する方法について説明します。Amazon ECS はユーザーに代わって Amazon EC2 インスタンスを管理します。最大容量とオプションのインスタンス制約を指定し、Amazon ECS はプロビジョニング、スケーリング、終了を処理します。

前提条件

Amazon ECS Managed Instances コンピューティング環境を作成する前に、次のものが必要です。

  • Amazon ECS インフラストラクチャロール — Amazon ECS がユーザーに代わって Amazon EC2 インスタンスを管理するために引き受ける IAM ロール。ロールには、 の信頼ポリシーが必要ですecs.amazonaws.com。詳細については、「Amazon Elastic Container Service デベロッパーガイド」の「Amazon ECS インフラストラクチャ IAM ロール」を参照してください。

  • Amazon EC2 インスタンスプロファイルAmazonECSInstanceRolePolicyForManagedInstances管理ポリシーを使用するインスタンスプロファイル。信頼ポリシーでは、 ec2.amazonaws.comがロールを引き受けることを許可する必要があります。

  • IAM プリンシパルには、 条件のインフラストラクチャロールに対するiam:PassRoleアクセス許可が必要ですiam:PassedToService: ecs.amazonaws.com

  • アウトバウンドインターネットアクセス (パブリック IP 割り当てまたは NAT ゲートウェイ) を持つサブネットを持つ VPC。

Amazon ECS マネージドインスタンスのコンピューティング環境の作成 (コンソール)

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

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

  3. 左側のナビゲーションペインで、環境を選択します。

  4. 「環境の作成」を選択し、「コンピューティング環境の作成」を選択します。

  5. コンピューティング環境タイプでECS マネージドインスタンスを選択します。

  6. Compute 環境名には、一意の名前を入力します。名前は最大 128 文字で、大文字と小文字、数字、ハイフン (-)、アンダースコア (_) を含めることができます。

  7. 最大 vCPUs、コンピューティング環境がスケーリングできる vCPUsの最大数を入力します。

  8. インフラストラクチャロールで、前提条件として作成した Amazon ECS インフラストラクチャロールを選択します。

  9. インスタンスプロファイルで、前提条件として作成した Amazon EC2 インスタンスプロファイルを選択します。

  10. ネットワークセクションで、次の操作を行います。

    1. VPC の場合は、インスタンスを起動する VPC を選択します。

    2. サブネットで、1 つ以上のサブネットを選択します。サブネットには、アウトバウンドのインターネットアクセスが必要です。

    3. セキュリティグループで、インスタンスに関連付けるセキュリティグループを 1 つ以上選択します。

  11. (オプション) キャパシティタイプで、スポットを選択して、耐障害性のあるワークロードのコスト削減のためにスポットインスタンスを使用します。デフォルトはオンデマンドです。

  12. (オプション) 許可されたインスタンスタイプで、Amazon ECS が起動できるインスタンスタイプを指定します。を指定しない場合、使用可能なすべてのインスタンスタイプが対象になります。

  13. [コンピューティング環境の作成] を選択します。

Amazon ECS マネージドインスタンスのコンピューティング環境の作成 (AWS CLI)

create-compute-environment コマンドを使用して、Amazon ECS Managed Instances コンピューティング環境を作成します。

基本的な の例

次の の例では、必要最小限の設定でコンピューティング環境を作成します。Amazon ECS は、使用可能な任意のインスタンスタイプを使用できます。

$ aws batch create-compute-environment \ --compute-environment-name my-managed-instances-ce \ --type MANAGED \ --state ENABLED \ --compute-resources '{ "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"] } } } }'

特定のインスタンスタイプのスポット

次の の例では、特定のインスタンスタイプに制限された Spot-backed コンピューティング環境を作成します。

$ aws batch create-compute-environment \ --compute-environment-name my-spot-managed-instances-ce \ --type MANAGED \ --state ENABLED \ --compute-resources '{ "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": ["m5.large", "m5.xlarge", "m6i.large", "m6i.xlarge"] }, "capacityOptionType": "SPOT" } } }'

出力:

{ "computeEnvironmentName": "my-spot-managed-instances-ce", "computeEnvironmentArn": "arn:aws:batch:us-east-1:123456789012:compute-environment/my-spot-managed-instances-ce" }

キャパシティ予約あり

次の の例では、予測可能な容量のオンデマンドキャパシティ予約をターゲットとするコンピューティング環境を作成します。

$ aws batch create-compute-environment \ --compute-environment-name my-reserved-managed-instances-ce \ --type MANAGED \ --state ENABLED \ --compute-resources '{ "type": "ECS_MANAGED_INSTANCES", "maxvCpus": 512, "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": ["m5.xlarge", "m5.2xlarge"] }, "capacityReservations": { "reservationGroupArn": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation-group/my-reservation-group", "reservationPreference": "RESERVATIONS_FIRST" } } } }'

次の手順

コンピューティング環境を作成したら、次の手順を実行してジョブを実行します。

  1. ジョブキューを作成し、Amazon ECS Managed Instances コンピューティング環境を関連付けます。詳細については、「ジョブキューを作成する」を参照してください。

  2. platformCapabilitiesに設定MANAGED_INSTANCESし、 を使用してジョブ定義を作成しますecsProperties。詳細については、「Amazon ECS マネージドインスタンスのジョブ定義」を参照してください。

  3. ジョブキューにジョブを送信します。詳細については、「チュートリアル: ジョブを送信する」を参照してください。