NetScaler VPXインスタンスでAWS IAMロールを設定する

最終公開日 : Oct 05, 2026
Amazon EC2インスタンスで実行されるアプリケーションは、AWS APIリクエストにAWS認証情報を含める必要があります。AWS認証情報をAmazon EC2インスタンス内に直接保存し、そのインスタンス内のアプリケーションがそれらの認証情報を使用できるようにすることができます。しかし、その場合、認証情報を管理し、各インスタンスに安全に渡されるようにし、認証情報をローテーションする時期が来たときに各Amazon EC2インスタンスを更新する必要があります。これは多くの追加作業となります。
その代わりに、Amazon EC2インスタンスで実行されるアプリケーションの一時的な認証情報を管理するために、Identity and Access Management (IAM) ロールを使用することができますし、使用する必要があります。ロールを使用する場合、長期的な認証情報(ユーザー名とパスワード、またはアクセスキーなど)をAmazon EC2インスタンスに配布する必要はありません。代わりに、ロールはアプリケーションが他のAWSリソースを呼び出す際に使用できる一時的なアクセス許可を提供します。Amazon EC2インスタンスを起動する際、そのインスタンスに関連付けるIAMロールを指定します。インスタンスで実行されるアプリケーションは、ロールによって提供される一時的な認証情報を使用してAPIリクエストに署名できます。
AWSアカウントに関連付けられているIAMロールには、さまざまなシナリオに対応するために、以下のIAM権限が必要です。
同じAWSゾーン内のIPv4アドレスを持つHAペア:
"ec2:DescribeInstances",
"ec2:AssignPrivateIpAddresses",
"iam:SimulatePrincipalPolicy",
"iam:GetRole"
同じAWSゾーン内のIPv6アドレスを持つHAペア:
"ec2:DescribeInstances",
"ec2:AssignIpv6Addresses",
"ec2:UnassignIpv6Addresses",
"iam:SimulatePrincipalPolicy",
"iam:GetRole"
同じAWSゾーン内のIPv4およびIPv6アドレスの両方を持つHAペア:
"ec2:DescribeInstances",
"ec2:AssignPrivateIpAddresses",
"ec2:AssignIpv6Addresses",
"ec2:UnassignIpv6Addresses",
"iam:SimulatePrincipalPolicy",
"iam:GetRole"
異なるAWSゾーン間のElastic IPアドレスを持つHAペア:
"ec2:DescribeInstances",
"ec2:DescribeAddresses",
"ec2:AssociateAddress",
"ec2:DisassociateAddress",
"iam:SimulatePrincipalPolicy",
"iam:GetRole"
異なるAWSゾーン間のプライベートIPアドレスを持つHAペア:
"ec2:DescribeInstances",
"ec2:DescribeRouteTables",
"ec2:DeleteRoute",
"ec2:CreateRoute",
"ec2:ModifyNetworkInterfaceAttribute",
"iam:SimulatePrincipalPolicy",
"iam:GetRole"
異なるAWSゾーン間のプライベートIPアドレスとElastic IPアドレスの両方を持つHAペア:
"ec2:DescribeInstances",
"ec2:DescribeAddresses",
"ec2:AssociateAddress",
"ec2:DisassociateAddress",
"ec2:DescribeRouteTables",
"ec2:DeleteRoute",
"ec2:CreateRoute",
"ec2:ModifyNetworkInterfaceAttribute",
"iam:SimulatePrincipalPolicy",
"iam:GetRole"
AWSバックエンドの自動スケーリング:
"ec2:DescribeInstances",
"autoscaling:*",
"sns:CreateTopic",
"sns:DeleteTopic",
"sns:ListTopics",
"sns:Subscribe",
"sqs:CreateQueue",
"sqs:ListQueues",
"sqs:DeleteMessage",
"sqs:GetQueueAttributes",
"sqs:SetQueueAttributes",
"iam:SimulatePrincipalPolicy",
"iam:GetRole"
注意点:
  • 前述の機能のいずれかの組み合わせを使用する場合は、各機能のIAM権限の組み合わせを使用してください。
  • Citrix CloudFormationテンプレートを使用する場合、IAMロールは自動的に作成されます。このテンプレートでは、すでに作成されているIAMロールを選択することはできません。
  • GUIを介してVPXインスタンスにログオンすると、IAMロールに必要な権限を設定するためのプロンプトが表示されます。すでに権限を設定している場合は、このプロンプトを無視してください。
  • スタンドアロンと高可用性デプロイメントの両方で、IAM ロールは必須です。

IAM ロールの作成

この手順では、AWS バックエンドのオートスケーリング機能用の IAM ロールを作成する方法について説明します。
注記:
他の機能に対応する IAM ロールを作成するには、同じ手順に従ってください。
  1. EC2 用の AWS マネジメントコンソールにログオンします。
  2. EC2 インスタンスページに移動し、ADC インスタンスを選択します。
    ADC インスタンスの選択
  3. Actions > Security > Modify IAM role の順に移動します。
    アクション
  4. Modify IAM role ページで、既存の IAM ロールを選択するか、IAM ロールを作成できます。
  5. IAM ロールを作成するには、次の手順に従います。
    1. Modify IAM role ページで、Create new IAM role をクリックします。
      IAM ロールの作成
    2. Roles ページで、Create role をクリックします。
      「ロールの作成」(/en-us/vpx/media/iam-create-role.png)
    3. 「信頼されたエンティティタイプ」の下にある「AWSサービス」と、「一般的なユースケース」の下にある「EC2」を選択し、「次へ」をクリックします。
      「信頼されたエンティティ」(/en-us/vpx/media/iam-trusted-entity.png)
    4. 「権限の追加」ページで、「ポリシーの作成」をクリックします。
      「ポリシーの作成」(/en-us/vpx/media/iam-create-policy.png)
    5. 「JSON」タブをクリックして、JSONエディターを開きます。
      「JSON」(/en-us/vpx/media/iam-json.png)
    6. JSONエディターで、すべてを削除し、使用したい機能のIAM権限を貼り付けます。
      たとえば、AWSバックエンドオートスケーリング機能の次のIAM権限を貼り付けます。
      {
          "Version": "2012-10-17",
          "Statement": [
              {
                  "Sid": "VisualEditor0",
                  "Effect": "Allow",
                  "Action": [
                      "ec2:DescribeInstances",
                      "autoscaling:*",
                      "sns:CreateTopic",
                      "sns:DeleteTopic",
                      "sns:ListTopics",
                      "sns:Subscribe",
                      "sqs:CreateQueue",
                      "sqs:ListQueues",
                      "sqs:DeleteMessage",
                      "sqs:GetQueueAttributes",
                      "sqs:SetQueueAttributes",
                      "iam:SimulatePrincipalPolicy",
                      "iam:GetRole"
                  ],
                  "Resource": "*"
              }
          ]
      }
      提供する「Version」キーと値のペアが、AWSによって自動的に生成されたものと同じであることを確認してください。
    7. 「次へ: レビュー」をクリックします。
      「IAMのレビュー」(/en-us/vpx/media/iam-next-review.png)
    8. 「ポリシーのレビュー」タブで、ポリシーに有効な名前を付け、「ポリシーの作成」をクリックします。
      「ポリシーのレビュー」(/en-us/vpx/media/iam-review-policy.png)
    9. 「Identity Access Management」ページで、作成したポリシー名をクリックします。ポリシーを展開してJSON全体を確認し、「次へ」をクリックします。
      IDおよびアクセス管理(/en-us/vpx/media/iam-verification.png)
    10. 名前、レビュー、作成ページで、ロールに有効な名前を付けます。
      IAM情報の確認(/en-us/vpx/media/iam-role-valid-name.png)
    11. ロールの作成をクリックします。
      ロールの作成(/en-us/vpx/media/iam-verify-create-role.png)
  6. 手順1、2、3を繰り返します。更新ボタンを選択し、ドロップダウンメニューを選択して、作成したロールを表示します。
    ロールの作成を確認(/en-us/vpx/media/iam-see-role-created.png)
  7. IAMロールの更新をクリックします。
    IAMロールの更新(/en-us/vpx/media/iam-update-iam-role.png)

IAMポリシーシミュレーターを使用してIAMポリシーをテストする

IAMポリシーシミュレーターは、IAMアクセス制御ポリシーの効果を、本番環境にコミットする前にテストできるツールです。これにより、権限の検証とトラブルシューティングが容易になります。
  1. IAMページで、テストするIAMロールを選択し、シミュレートをクリックします。次の例では、「ADC_IAMRole」がIAMロールです。
    IAMシミュレーター(/en-us/vpx/media/iam-simulator.png)
  2. IAMポリシーシミュレーターコンソールで、モードとして既存のポリシーを選択します。
    IAMシミュレーターモード(/en-us/vpx/media/iam-simulator-mode.png)
  3. 「Users, Groups and Roles」タブで、ドロップダウンメニューから「Roles」を選択し、既存のロールを選択します。
    既存のロールを選択(/en-us/vpx/media/iam-users-groups-roles.png)
  4. 既存のロールを選択した後、その下にある既存のポリシーを選択します。
    既存のポリシーを選択(/en-us/vpx/media/iam-users-groups-policies.png)
  5. ポリシーを選択すると、画面の左側に正確なJSONが表示されます。「Select actions」ドロップダウンメニューで、目的のアクションを選択します。
    目的のポリシーを選択(/en-us/vpx/media/iam-policy-json.png)
  6. 「Run simulation」をクリックします。
    目的のポリシーを選択(/en-us/vpx/media/iam-run-simulation.png)
詳細については、AWS IAM ドキュメントを参照してください。