NSX Cloud は、1 つ以上の AWS アカウントを設定するのに役立つ SHELL スクリプトを提供します。これにより、AWS アカウントに必要な権限を提供するプロファイルに添付された PCG の IAM プロファイルとロールを生成します。
2 つの異なる AWS アカウントで複数のコンピューティング VPC にリンクされたトランジット VPC をホストする場合は、スクリプトを使用してアカウント間の信頼関係を作成できます。
注:
PCG(ゲートウェイ)ロール名は、デフォルトで
nsx_pcg_service です。ゲートウェイ ロール名に別の値を設定する場合はスクリプトで変更できます。ただし、
CSM に AWS アカウントを追加するときに必要となるため、このデフォルト名はメモしておいてください。
前提条件
スクリプトを実行する前に、Linux またはその互換システムに以下をインストールして構成しておく必要があります。
- アカウントとデフォルトのリージョンに構成された AWS CLI。
- jq(JSON パーサー)。
- openssl(ネットワーク セキュリティ要件)。
注: AWS GovCloud (US) アカウントを使用している場合は、AWS CLI が GovCloud (US) アカウント用に構成され、デフォルトのリージョンが AWS CLI 構成ファイルで指定されていることを確認します。
手順
- Linux または互換性のあるデスクトップまたはサーバで、NSX-T Data Center の [ダウンロード] 画面 > [ドライバとツール] > [NSX Cloud スクリプト] > [AWS] の順に移動して、nsx_csm_iam_script.sh という名前のシェル スクリプトをダウンロードします。
- [シナリオ 1:]NSX Cloud で 1 つの AWS アカウントを使用する。
- たとえば、次のスクリプトを実行します。
bash nsx_csm_iam_script.sh
- 「
Do you want to create an IAM user for CSM and an IAM role for PCG? [yes/no]
」という質問が表示されたら、「yes」と入力します。
- 「
What do you want to name the IAM User?
」という質問が表示されたら、IAM ユーザーの名前を入力します。
注: IAM ユーザー名は、AWS アカウント内で一意である必要があります。
- 「
Do you want to add trust relationship for any Transit VPC account? [yes/no]
」という質問が表示されたら、「no」と入力します。
スクリプトが正常に実行されると、
PCG の IAM プロファイルとロールが AWS アカウントに作成されます。値は、スクリプトが実行されたのと同じディレクトリの出力ファイル
aws_details.txt に保存されます。次に、
CSM での AWS アカウントの追加の手順を実行してから、
VPC での PCG の展開の手順を実行し、トランジットまたは自己管理 VPC を設定します。
- [シナリオ 2:]1 つのプライマリ AWS アカウントで管理されている複数のサブアカウントを AWS で使用する。
- AWS プライマリ アカウントからスクリプトを実行します。
bash nsx_csm_iam_script.sh
- 「
Do you want to create an IAM user for CSM and an IAM role for PCG? [yes/no]
」という質問が表示されたら、「yes」と入力します。
- 「
What do you want to name the IAM User?
」という質問が表示されたら、IAM ユーザーの名前を入力します。
注: IAM ユーザー名は、AWS アカウント内で一意である必要があります。
- 「
Do you want to add trust relationship for any Transit VPC account? [yes/no]
」という質問が表示されたら、「no」と入力します。
注: プライマリ AWS アカウントでは、トランジット VPC にサブアカウントのコンピュート VPC を表示する権限がある場合、サブアカウントとの信頼関係を確立する必要はありません。権限がない場合は、
[シナリオ 3] の手順に沿って複数のアカウントを設定します。
スクリプトが正常に実行されると、
PCG の IAM プロファイルとロールが AWS プライマリ アカウントに作成されます。値は、スクリプトが実行されたディレクトリの出力ファイルに保存されます。ファイル名は
aws_details.txt です。次に、
CSM での AWS アカウントの追加の手順を実行してから、
VPC での PCG の展開の手順を実行し、トランジットまたは自己管理 VPC を設定します。
- [シナリオ 3:]NSX Cloud で複数の AWS アカウントを使用し、中継 VPC 用に 1 つのアカウントを使用し、残りのアカウントをコンピュート VPC 用に指定します。PCG 展開オプションの詳細については、NSX Public Cloud Gateway:展開のアーキテクチャとモードを参照してください。
- トランジット VPC をホストする場合の 12 桁の AWS アカウント番号をメモしておきます。
- シナリオ 1 の a から d の手順に沿って AWS アカウントにトランジット VPC を設定し、CSM へのアカウントの追加を終了します。
- コンピュート VPC をホストする他の AWS アカウントで、Linux またはその互換システムから NSX Cloud スクリプトをダウンロードして実行します。あるいは、異なるアカウント認証情報の AWS プロファイルを使用し、同じシステムを使用して他の AWS アカウントに対してスクリプトを再実行することもできます。
- このスクリプトは、
Do you want to create an IAM user for CSM and an IAM role for PCG? [yes/no]
のような質問を表示します。適切な対応については、次のガイダンスを参照してください。
この AWS アカウントは CSM にすでに追加されている。 |
Do you want to create an IAM user for CSM and an IAM role for PCG? [yes/no] に no と入力します。 |
このアカウントはまだ CSM に追加されていない。 |
Do you want to create an IAM user for CSM and an IAM role for PCG? [yes/no] に yes と入力します。 |
- (オプション) CSM と PCG の IAM ユーザーを作成するために、前の質問で yes と回答した場合、
What do you want to name the IAM User?
という質問が表示されたら IAM ユーザー名を入力します。IAM ユーザー名は、AWS アカウント内で一意である必要があります。
-
Do you want to add trust relationship for any Transit VPC account? [yes/no]
という質問が表示されたら、yes を入力します。
- 「
What is the Transit VPC account number?
」という質問に対して、手順 1 でメモした 12 桁の AWS アカウント番号を入力するか、コピーして貼り付けます。
2 つの AWS アカウント間で IAM 信頼関係が確立され、スクリプトによって外部 ID が生成されます。