翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
チュートリアル: 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 マネージドインスタンスのコンピューティング環境の作成 (コンソール)
-
https://console.aws.amazon.com/batch/
で AWS Batch コンソールを開きます。 -
ナビゲーションバーから、 AWS リージョン 使用する を選択します。
-
左側のナビゲーションペインで、環境を選択します。
-
「環境の作成」を選択し、「コンピューティング環境の作成」を選択します。
-
コンピューティング環境タイプで、ECS マネージドインスタンスを選択します。
-
Compute 環境名には、一意の名前を入力します。名前は最大 128 文字で、大文字と小文字、数字、ハイフン (-)、アンダースコア (_) を含めることができます。
-
最大 vCPUs、コンピューティング環境がスケーリングできる vCPUsの最大数を入力します。
-
インフラストラクチャロールで、前提条件として作成した Amazon ECS インフラストラクチャロールを選択します。
-
インスタンスプロファイルで、前提条件として作成した Amazon EC2 インスタンスプロファイルを選択します。
-
ネットワークセクションで、次の操作を行います。
-
VPC の場合は、インスタンスを起動する VPC を選択します。
-
サブネットで、1 つ以上のサブネットを選択します。サブネットには、アウトバウンドのインターネットアクセスが必要です。
-
セキュリティグループで、インスタンスに関連付けるセキュリティグループを 1 つ以上選択します。
-
-
(オプション) キャパシティタイプで、スポットを選択して、耐障害性のあるワークロードのコスト削減のためにスポットインスタンスを使用します。デフォルトはオンデマンドです。
-
(オプション) 許可されたインスタンスタイプで、Amazon ECS が起動できるインスタンスタイプを指定します。を指定しない場合、使用可能なすべてのインスタンスタイプが対象になります。
-
[コンピューティング環境の作成] を選択します。
Amazon ECS マネージドインスタンスのコンピューティング環境の作成 (AWS CLI)
create-compute-environment コマンドを使用して、Amazon ECS Managed Instances コンピューティング環境を作成します。
基本的な の例
次の の例では、必要最小限の設定でコンピューティング環境を作成します。Amazon ECS は、使用可能な任意のインスタンスタイプを使用できます。
$aws batch create-compute-environment \ --compute-environment-namemy-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-namemy-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-namemy-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" } } } }'
次の手順
コンピューティング環境を作成したら、次の手順を実行してジョブを実行します。
-
ジョブキューを作成し、Amazon ECS Managed Instances コンピューティング環境を関連付けます。詳細については、「ジョブキューを作成する」を参照してください。
-
を
platformCapabilitiesに設定MANAGED_INSTANCESし、 を使用してジョブ定義を作成しますecsProperties。詳細については、「Amazon ECS マネージドインスタンスのジョブ定義」を参照してください。 -
ジョブキューにジョブを送信します。詳細については、「チュートリアル: ジョブを送信する」を参照してください。