サービス間でやり取りするのための IAM ロールの作成 - Amazon GameLift

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

サービス間でやり取りするのための IAM ロールの作成

Amazon GameLift FleetIQ が Amazon EC2 インスタンスと Auto Scaling グループを操作するには、サービスが相互にやり取りできるようにする必要があります。これは、 AWS アカウントに IAM ロールを作成し、制限されたアクセス許可のセットを割り当てます。各ロールでは、ロールを引き受けるサービスも指定します。

次のロールを設定します。

Amazon GameLift FleetIQ のロールを作成する

このロールにより、Amazon GameLift FleetIQ はスポットバランシングおよび自動スケーリングアクティビティの一環として、Amazon EC2 インスタンス、Auto Scaling グループ、ライフサイクルフックにアクセスして変更することができます。

IAM コンソールまたは AWS CLI を使用して Amazon GameLift FleetIQ のロールを作成し、必要なアクセス許可を持つ管理ポリシーをアタッチします。IAM ロールと 管理ポリシーの詳細については、「 AWS サービス用のロールの作成」とAWS 管理ポリシー」を参照してください。

Console

これらのステップでは、 を使用して Amazon GameLift の マネージドポリシーでサービスロールを作成する方法について説明します AWS Management Console。

  1. [IAM console](IAM コンソール)にログインして、[Roles: Create role](ロール: ロールの作成) を選択します。

  2. [Select type of trusted entity](信頼されたエンティティのタイプの選択)で、[AWS のサービス] を選択します。

  3. ユースケースの選択 で、サービスのGameLiftリストから選択します。ユースケースの選択 で、適切な Amazon GameLift ユースケースが自動的に選択されます。続行するには、[Next: Permissions](次へ: アクセス許可) を選択します。

  4. タッチされたアクセス許可ポリシーのリストには、1 つのポリシー が含まれている必要がありますGameLiftGameServerGroupPolicy 。このポリシーが表示されない場合は、フィルターを確認するか、検索機能を使用してロールに追加します。ポリシーの構文を表示できますが (▶ アイコンを選択して展開します)、構文を変更することはできません。ロールが作成されたら、ロールを更新し、追加のポリシーをアタッチして、アクセス許可を追加または削除できます。

    [Set permissions boundary]アクセス許可の境界の設定) では、既定の設定 (アクセス許可の境界のないロールを作成) のデフォルトのままにします。これは詳細設定は必須ではありません。続行するには[Next: Tags](次へ: タグ)を選択します。

  5. [Add tags](タグの追加)は、リソース管理のオプション設定です。たとえば、このロールにタグを追加して、プロジェクト固有のリソース使用状況をロール別に追跡できます。IAM ロールやその他の用途のタグ付けの詳細については、[Learn more]( 詳細はこちら)リンクを参照してください。[Next: Review](次へ: 確認)を選択して続行します。

  6. [Review](確認)ページで、必要に応じて次の変更を行います。

    • ロール名を入力し、必要に応じて説明を更新します。

    • 以下について確認します。

      • 信頼されたエンティティはAWS 「service: gamelift.amazonaws.com」に設定されます。この値は、ロールの作成後に更新する必要があります。

      • ポリシーには が含まれます GameLiftGameServerGroupPolicy。

    タスクを完了するには、[ロールの作成] を選択します。

  7. 新しいロールが作成されたら、ロールの信頼関係をマニュアルで更新する必要があります。[ロール] ページに移動し、新しいロール名を選択して概要ページを開きます。[信頼関係] タブを開き、[信頼関係の編集] を選択します。ポリシードキュメントで、Service プロパティを更新して、[autoscaling.amazonaws.com] を含めます。変更された Service プロパティは次のようになります。

    "Service": [ "gamelift.amazonaws.com", "autoscaling.amazonaws.com" ]

    変更を保存するには、[信頼ポリシーの更新] を選択します。

これでロールの準備が整いました。ロールの ARN 値をメモします。この値は、ロールの概要ページの上部に表示されます。この情報は、Amazon GameLift FleetIQ ゲームサーバーグループを設定するときに必要になります。

AWS CLI

以下の手順では、 AWS CLI を使用して Amazon GameLift の マネージドポリシーでサービスロールを作成する方法について説明します。

  1. 次の JSON 構文を使用して、信頼ポリシーファイル (例: FleetIQtrustpolicyGameLift.json) を作成します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "gamelift.amazonaws.com", "autoscaling.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  2. [iam create-role](IAM Create-ロール)で新しい IAM ロールを作成します、先ほど作成した信頼ポリシー JSON ファイルに関連付けます。

    Windows :

    AWS iam create-role --role-name FleetIQ-role-for-GameLift --assume-role-policy-document file://C:\policies\FleetIQtrustpolicyGameLift.json

    Linux:

    AWS iam create-role --role-name FleetIQ-role-for-GameLift --assume-role-policy-document file://policies/FleetIQtrustpolicyGameLift.json

    リクエストが成功すると、応答には新しく作成したロールのプロパティが含まれます。ARN 値を書き留めます。この情報は、Amazon GameLift FleetIQ ゲームサーバーグループを設定するときに必要になります。

  3. iam attach-role-policy を使用して、管理アクセス許可ポリシーGameLiftGameServerGroupPolicy「」をアタッチします。

    AWS iam attach-role-policy --role-name FleetIQ-role-for-GameLift --policy-arn arn:aws:iam::aws:policy/GameLiftGameServerGroupPolicy

    アクセス許可ポリシーがアタッチされていることを確認するには、新しいロールの名前で iam list-attached-role-policies を呼び出します。

これでロールの準備が整いました。role-arn プロパティを新しいロールの ARN 値に設定してゲームリフト create-game-server-groupを呼び出すことで、IAM ロールが正しく設定されていることを確認できます。が ACTIVE 状態GameServerGroupになると、これは、Amazon GameLift FleetIQ がアカウント内の Amazon EC2 および Auto Scaling リソースを期待どおりに変更できることを示します。

Amazon EC2 のロールを作成する

このロールにより、Amazon EC2 リソースは Amazon GameLift FleetIQ と通信できるようになります。たとえば、Amazon EC2 インスタンスで実行されているゲームサーバーは、ヘルスステータスをレポートできる必要があります。Amazon GameLift FleetIQ ゲームサーバーグループを作成するときに、このロールを Amazon EC2 起動テンプレートの IAM インスタンスプロファイルに含めます。

AWS CLI を使用して Amazon EC2 のロールを作成し、必要なアクセス許可を持つカスタムポリシーをアタッチし、そのロールをインスタンスプロファイルにアタッチします。詳細については、「 AWS サービス用のロールの作成」を参照してください。

AWS CLI

これらのステップでは、 を使用して Amazon EC2 のカスタム Amazon GameLift アクセス許可を持つサービスロールを作成する方法について説明します AWS CLI。

  1. 次の JSON 構文を使用して、信頼ポリシーファイル (例: FleetIQtrustpolicyEC2.json) を作成します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. [iam create-role](IAM Create-ロール)で新しい IAM ロールを作成します、先ほど作成した信頼ポリシー JSON ファイルに関連付けます。

    Windows :

    AWS iam create-role --role-name FleetIQ-role-for-EC2 --assume-role-policy-document file://C:\policies\FleetIQtrustpolicyEC2.json

    Linux:

    AWS iam create-role --role-name FleetIQ-role-for-EC2 --assume-role-policy-document file://policies/FleetIQtrustpolicyEC2.json

    リクエストが成功すると、応答には新しく作成したロールのプロパティが含まれます。ARN 値を書き留めます。この情報は、Amazon EC2 起動テンプレートを設定する場合に必要になります。

  3. 次の JSON 構文を使用して、アクセス許可ポリシーファイル (例: FleetIQpermissionsEC2.json) を作成します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "gamelift:*", "Resource": "*" } ] }
  4. iam put-role-policy を使用して、先ほど作成したアクセス許可ポリシー JSON ファイルを新しいロールにアタッチします。

    Windows :

    AWS iam put-role-policy --role-name FleetIQ-role-for-EC2 --policy-name FleetIQ-permissions-for-EC2 --policy-document file://C:\policies\FleetIQpermissionsEC2.json

    Linux:

    AWS iam put-role-policy --role-name FleetIQ-role-for-EC2 --policy-name FleetIQ-permissions-for-EC2 --policy-document file://policies/FleetIQpermissionsEC2.json

    アクセス許可ポリシーがアタッチされていることを確認するには、新しいロールの名前で iam list-role-policies を呼び出します。

  5. Amazon EC2 で使用する新しいロールを使用して、iam create-instance-profile でインスタンスプロファイルを作成します。詳細については、「インスタンスプロファイルの管理」を参照してください。

    AWS iam create-instance-profile --instance-profile-name FleetIQ-role-for-EC2

    リクエストが成功すると、応答には新しく作成されたインスタンスプロファイルのプロパティが含まれるようになります。

  6. iam add-role-to-instance-profile を使用して、インスタンスプロファイルにロールをアタッチします。

    AWS iam add-role-to-instance-profile --role-name FleetIQ-role-for-EC2 --instance-profile-name FleetIQ-role-for-EC2

これで、ロールおよびプロファイルを Amazon EC2 起動テンプレートで使用する準備ができました。