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. アクション > セキュリティ > IAMロールの変更に移動します。
    アクション
  4. IAMロールの変更ページで、既存のIAMロールを選択するか、IAMロールを作成できます。
  5. IAMロールを作成するには、次の手順に従います。
    1. IAMロールの変更ページで、新しいIAMロールの作成をクリックします。
      IAMロールを作成
    2. ロールページで、ロールの作成をクリックします。
      ロールの作成(/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. 「IDおよびアクセス管理」ページで、作成したポリシー名をクリックします。ポリシーを展開してJSON全体を確認し、「次へ」をクリックします。
      IDおよびアクセス管理
    10. 名前、レビュー、および作成ページで、ロールに有効な名前を付けます。
      IAM情報の確認
    11. ロールの作成をクリックします。
      ロールの作成
  6. 手順1、2、3を繰り返します。更新ボタンを選択し、ドロップダウンメニューを選択して、作成したロールを表示します。
    ロールの作成を確認
  7. IAMロールの更新をクリックします。
    IAMロールの更新

IAMポリシーシミュレーターでIAMポリシーをテストする

IAMポリシーシミュレーターは、IAMアクセス制御ポリシーを本番環境にコミットする前にその効果をテストできるツールです。これにより、権限の検証とトラブルシューティングが容易になります。
  1. IAMページで、テストするIAMロールを選択し、シミュレートをクリックします。次の例では、「ADC_IAMRole」がIAMロールです。
    IAMシミュレーター
  2. IAMポリシーシミュレーターコンソールで、モードとして既存のポリシーを選択します。
    IAMシミュレーターモード
  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 ドキュメントを参照してください。