Amazon EC2 スポットフリートロール - AWS Batch

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

Amazon EC2 スポットフリートロール

Amazon EC2 スポットフリートインスタンスを使用するマネージド型のコンピューティング環境環境を作成する場合は、AmazonEC2SpotFleetTaggingRole ポリシーを作成しなければなりません。このポリシーは、ユーザーに代わりインスタンスの起動、タグ付けおよび終了を行うためのスポットフリート許可を付与します。スポットフリートのリクエストでロールを指定します。また、Amazon EC2 スポットおよびスポットフリートにサービスにリンクされたロール AWSServiceRoleForEC2Spot] および AWSServiceRoleForEC2SpotFleet] がある必要があります。次の手順に従って、これらすべてのロールを作成します。詳細については、IAM ユーザーガイドサービスにリンクされたロールの使用およびAWS サービスに対してアクセス許可を委譲するロールの作成を参照してください。

AWS Management Console において、Amazon EC2 スポットフリートロールを作成する

Amazon EC2 スポットフリートの AmazonEC2SpotFleetTaggingRole IAM サービスにリンクされたロールを作成するには
  1. IAM コンソール(https://console.aws.amazon.com/iam/) を開きます。

  2. アクセス管理] のために、ロール を選択します。

  3. ロール] には、ロールの作成 を選択します。

  4. 信頼されるエンティティを選択]信頼されるエンティティタイプにある)から、AWS のサービス ]を選択します。

  5. その他のユースケース AWS のサービス には EC2 を選択し、次に EC2 - スポットフリートタギング] を選択します。

  6. 次へ を選択します。

  7. ポリシー名権限ポリシー から、AmazonEC2SpotFleetTaggingRoleを確認します 。

  8. 次へ を選択します。

  9. 名前、確認および作成については:

    1. ロールを識別するために、名前タグ に名前を入力します。

    2. 説明 には、ポリシーの簡単な説明を入力します。

    3. (オプション) ステップ 1: 信頼できるエンティティの選択 では編集 を選択して、コードを変更します。

    4. (オプション)ステップ 2: 権限の追加 では、編集 を選択してコードを変更します。

    5. (オプション) タグを追加タグを追加 を選択し、リソースにタグを追加します。

    6. ロールの作成] を選択します。

注記

これまでは、Amazon EC2 スポットフリートロールに対し 2つの管理ポリシーがありました。

  • AmazonEC2SpotFleetRole: これは、スポットフリートロール用のオリジナルの管理ポリシーです。ただし、これを AWS Batchと一緒に使用することはもう推奨されていません。このポリシーは、AWSServiceRoleForBatch のサービスにリンクされたロールを使用するために必要なコンピューティング環境でのスポットインスタンスのタグ付けをサポートしていません。以前に、このポリシーを使用してスポットフリートロールを作成した場合は、新しい推奨ポリシーをそのロールに適用してください。詳細については、作成時にタグが付けられていないスポットインスタンスを参照してください。

  • AmazonEC2SpotFleetTaggingRole: このロールでは、Amazon EC2 スポットインスタンスにタグを付けるために必要なすべてのアクセス権限が提供されます。このロールを使用して、AWS Batchコンピューティング環境でのスポットインスタンスのタグ付けを許可します。

AWS CLI を使用して、Amazon EC2 スポットフリートのロールを作成する

スポットフリートのコンピューティング環境の AmazonEC2SpotFleetTaggingRole IAM ロールを作成するには
  1. AWS CLI を使用して次のコマンドを実行します。

    $ aws iam create-role --role-name AmazonEC2SpotFleetTaggingRole \ --assume-role-policy-document '{ "Version":"2012-10-17", "Statement":[ { "Sid":"", "Effect":"Allow", "Principal": { "Service":"spotfleet.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }'
  2. AmazonEC2SpotFleetTaggingRole マネージド IAM ポリシーを AmazonEC2SpotFleetTaggingRole ロールにアタッチするには、以下のコマンドを AWS CLI で実行します。

    $ aws iam attach-role-policy \ --policy-arn \ arn:aws:iam::aws:policy/service-role/AmazonEC2SpotFleetTaggingRole \ --role-name \ AmazonEC2SpotFleetTaggingRole
Amazon EC2 スポットの AWSServiceRoleForEC2Spot IAMのサービスにリンクされたロールを作成するには
注記

AWSServiceRoleForEC2Spot IAM サービスにリンクされたロールがすでに存在する場合は、次のようなエラーメッセージが表示されます。

An error occurred (InvalidInput) when calling the CreateServiceLinkedRole operation: Service role name AWSServiceRoleForEC2Spot has been taken in this account, please try a different suffix.
  • AWS CLI を使用して次のコマンドを実行します。

    $ aws iam create-service-linked-role --aws-service-name spot.amazonaws.com
Amazon EC2 スポットフリートの AWSServiceRoleForEC2SpotFleet IAM サービスにリンクされたロールを作成するには
注記

AWSServiceRoleForEC2SpotFleet IAM サービスにリンクされたロールがすでに存在する場合は、次のようなエラーメッセージが表示されます。

An error occurred (InvalidInput) when calling the CreateServiceLinkedRole operation: Service role name AWSServiceRoleForEC2SpotFleet has been taken in this account, please try a different suffix.
  • AWS CLI を使用して次のコマンドを実行します。

    $ aws iam create-service-linked-role --aws-service-name spotfleet.amazonaws.com