NetScaler VPXインスタンスでAWS IAMロールを設定する
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"
<!--NeedCopy-->
同じAWSゾーン内のIPv6アドレスを持つHAペア:
"ec2:DescribeInstances",
"ec2:AssignIpv6Addresses",
"ec2:UnassignIpv6Addresses",
"iam:SimulatePrincipalPolicy",
"iam:GetRole"
<!--NeedCopy-->
同じAWSゾーン内のIPv4およびIPv6アドレスの両方を持つHAペア:
"ec2:DescribeInstances",
"ec2:AssignPrivateIpAddresses",
"ec2:AssignIpv6Addresses",
"ec2:UnassignIpv6Addresses",
"iam:SimulatePrincipalPolicy",
"iam:GetRole"
<!--NeedCopy-->
異なるAWSゾーン間のElastic IPアドレスを持つHAペア:
"ec2:DescribeInstances",
"ec2:DescribeAddresses",
"ec2:AssociateAddress",
"ec2:DisassociateAddress",
"iam:SimulatePrincipalPolicy",
"iam:GetRole"
<!--NeedCopy-->
異なるAWSゾーン間のプライベートIPアドレスを持つHAペア:
"ec2:DescribeInstances",
"ec2:DescribeRouteTables",
"ec2:DeleteRoute",
"ec2:CreateRoute",
"ec2:ModifyNetworkInterfaceAttribute",
"iam:SimulatePrincipalPolicy",
"iam:GetRole"
<!--NeedCopy-->
異なる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"
<!--NeedCopy-->
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"
<!--NeedCopy-->
注意点:
- 上記の機能のいずれかの組み合わせを使用する場合は、各機能のIAM権限の組み合わせを使用してください。
- Citrix CloudFormationテンプレートを使用する場合、IAMロールは自動的に作成されます。このテンプレートでは、すでに作成されているIAMロールを選択することはできません。
- GUIを介してVPXインスタンスにログオンすると、IAMロールに必要な特権を設定するためのプロンプトが表示されます。すでに特権を設定している場合は、このプロンプトを無視してください。
- IAMロールは、スタンドアロンデプロイと高可用性デプロイの両方で必須です。
IAMロールを作成する
この手順では、AWSバックエンドの自動スケーリング機能用のIAMロールを作成する方法について説明します。
注:
他の機能に対応するIAMロールを作成する場合も、同じ手順に従うことができます。
- EC2のAWSマネジメントコンソールにログオンします。
-
EC2インスタンスページに移動し、ADCインスタンスを選択します。
ADCインスタンスを選択(/ja-jp/vpx/media/iam-select-adc-instance.png)
-
アクション > セキュリティ > IAMロールの変更に移動します。
アクション(/ja-jp/vpx/media/iam-actions.png)
-
IAMロールの変更ページで、既存のIAMロールを選択するか、IAMロールを作成できます。
-
IAMロールを作成するには、次の手順に従います。
-
IAMロールの変更ページで、新しいIAMロールの作成をクリックします。
IAMロールを作成(/ja-jp/vpx/media/iam-create-new-iam-role.png)
-
ロールページで、ロールの作成をクリックします。
「ロールの作成」(/ja-jp/vpx/media/iam-create-role.png)
-
「信頼されたエンティティタイプ」の下にある「AWSサービス」と、「一般的なユースケース」の下にある「EC2」を選択し、「次へ」をクリックします。
「信頼されたエンティティ」(/ja-jp/vpx/media/iam-trusted-entity.png)
-
「権限の追加」ページで、「ポリシーの作成」をクリックします。
「ポリシーの作成」(/ja-jp/vpx/media/iam-create-policy.png)
-
「JSON」タブをクリックして、JSONエディターを開きます。

-
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": "*" } ] } <!--NeedCopy-->提供する「Version」キーと値のペアが、AWSによって自動的に生成されたものと同じであることを確認してください。
-
「次へ: レビュー」をクリックします。
「IAMのレビュー」(/ja-jp/vpx/media/iam-next-review.png)
-
「ポリシーのレビュー」タブで、ポリシーに有効な名前を付け、「ポリシーの作成」をクリックします。
「ポリシーのレビュー」(/ja-jp/vpx/media/iam-review-policy.png)
-
「Identity Access Management」ページで、作成したポリシー名をクリックします。ポリシーを展開してJSON全体を確認し、「次へ」をクリックします。
IDおよびアクセス管理(/ja-jp/vpx/media/iam-verification.png)
-
「名前、レビュー、および作成」ページで、ロールに有効な名前を付けます。
IAM情報の確認(/ja-jp/vpx/media/iam-role-valid-name.png)
-
「ロールの作成」をクリックします。
ロールの作成(/ja-jp/vpx/media/iam-verify-create-role.png)
-
-
ステップ1、2、3を繰り返します。「更新」ボタンを選択し、作成したロールを表示するには、ドロップダウンメニューを選択します。
ロール作成の確認(/ja-jp/vpx/media/iam-see-role-created.png)
-
「IAMロールの更新」をクリックします。
IAMロールの更新(/ja-jp/vpx/media/iam-update-iam-role.png)
IAMポリシーシミュレーターを使用してIAMポリシーをテストする
IAMポリシーシミュレーターは、IAMアクセス制御ポリシーを本番環境にコミットする前に、その効果をテストできるツールです。これにより、権限の検証とトラブルシューティングが容易になります。
-
「IAM」ページで、テストするIAMロールを選択し、「シミュレート」をクリックします。次の例では、「ADC_IAMRole」がIAMロールです。
IAMシミュレーター(/ja-jp/vpx/media/iam-simulator.png)
-
「IAMポリシーシミュレーター」コンソールで、「モード」として「既存のポリシー」を選択します。
IAMシミュレーターモード(/ja-jp/vpx/media/iam-simulator-mode.png)
-
「ユーザー、グループ、およびロール」タブで、ドロップダウンメニューから「ロール」を選択し、既存のロールを選択します。

-
既存のロールを選択したら、その下にある既存のポリシーを選択します。

-
ポリシーを選択すると、画面の左側に正確なJSONが表示されます。「アクションの選択」ドロップダウンメニューで、目的のアクションを選択します。

-
「シミュレーションの実行」をクリックします。

詳細については、AWS IAM ドキュメントを参照してください。