AWS アカウントのリンクは、SDDC デプロイ プロセスの一部です。新規ユーザー、または少数の SDDC のみを作成するユーザーの場合、プロセスは簡単で、一般に、基盤となる AWS オブジェクトおよびプロトコルに関与する必要はほとんどないか、まったくありません。複数の SDDC を展開する管理者は、このプロセスの詳細、および関連する AWS ロールと権限について理解を深めなければならない場合があります。

AWS アカウントのリンクについて

VMware Cloud on AWS CloudFormation テンプレート (CFT) は、AWS US West(オレゴン)リージョンで実行されます。必要な権限はすべてのリージョンで有効であるため、生成された SDDC の作成場所は影響を受けませんが、CFT を実行する AWS アカウントからオレゴン リージョンへのアクセスが AWS サービス コントロール ポリシー (SCP) によって制限されないようにする必要があります。CFT がロードされたら、必要に応じて編集し、リージョンを変更することができます。CFT は任意のリージョンで実行できますが、実行された場所を記録した内部ドキュメントを保持する必要があります。オレゴン リージョンにアクセスできるメンバーが組織にいない場合は、[CloudFormation テンプレートを使用して、AWS コンソールを開く] をクリックしたときに指定したリンクから CFT をダウンロードすることができます。また、VMC 組織への AWS アカウントのリンクは 1 回のみ行われるため、実行する AWS 管理者にこのリンクを送信することもできます。

リンクされた AWS アカウントは、すべてのリージョン内の組織の VPC とサブネットのインベントリを取得して、組織が使用できる AWS リージョンと AZ の最新リストを保持できるようにします。この操作はアカウント リンクの一部として、継続的な SDDC 操作中に定期的に行われます。SCP によってアカウントからこれらのリージョンまたは VPC へのアクセスが制限されている場合、この操作は失敗する可能性があります。このような障害は、制限されたリージョンと VPC が VMware Cloud on AWS で使用されない場合に許容されます。

アカウントをリンクする前に、すべての AZ にサブネットを作成することをお勧めします。アカウントをリンクするときにサブネットが設定されなかった AZ は、後でサブネットを作成した場合でも、システムによって開始された再スキャンが実行されるまで、VMware Cloud on AWS の将来の用途に使用できなくなります。CFT を再実行して再スキャンを開始することはできますが、すでにリンクされていて、SDDC が展開されている組織にはお勧めしません。

VMware Cloud Tech Zone Designlet の「VMware Cloud on AWS Connected VPC to Native AWS」に、アカウントのリンクの詳細が記載されています。アカウントのリンクを解除する方法については、VMware ナレッジベースの記事 KB83400 を参照してください。

アカウントのリンクで使用される AWS ロール

VMware Cloud on AWS CFT を実行するたびに、新しい AWS ロール セットが定義され、今後の SDDC 展開でこれらのロールを使用するように VMware Cloud on AWS 組織が更新されます。CFT は、VMware 所有の 1 つ以上の AWS アカウントに、AWS アカウント内のこれらのロールへのアクセス権を付与します。
表 1. アカウントのリンクで使用される AWS ロール
ロール名 信頼できるエンティティ 用途
vmware-sddc-formation-********-*-RemoteRoleService-********* 347******669 VMware Cloud on AWS では、これらのアカウントを使用してサブネットや VPC などの AWS リソースをクエリします。また、SDDC の展開時やホストの追加時の ENI の作成と関連付けにもこれらのアカウントを使用します。
vmware-sddc-formation-********-***-RemoteRolePayer-********* 909******262
vmware-sddc-formation-********-****-***-RemoteRole-************* 各組織に一意の 12 桁からなる AWS アカウント ID。 VMware Cloud on AWS では、このアカウントを継続的な処理(セグメントの追加/削除または NSX Edge の移行/フェイルオーバーの発生の際のルート テーブルの更新など)に使用します。
既存の SDDC は、SDDC が作成されたときに定義されたロールを引き続き使用します。これにより、AWS アカウントで複数のロール セット(および CFT)がアクティブになり、いずれかのロール セットを削除すると、それを使用する SDDC に影響が及ぶシナリオが作成されることがあります。SDDC で使用されている IAM ロールと CFT は、NSX Manager の [接続中の VPC] 画面(また、SDDC の [ネットワークとセキュリティ] タブ)に表示されます。

CFT によって作成された IAM ロールにより、特定の AWS ポリシーのために VMware Cloud on AWS サービスで使用される VMware AWS アカウントに、AWS AssumeRole 権限が付与されます。このポリシーは AWS によって定義および管理されます。セキュリティ上の理由から、VMware にはこのポリシーを変更する権限がありません。これらのロールを変更または削除すると、アカウントのリンクが切断され、接続された VPC との通信が失敗し、新しい SDDC の展開や、そのアカウントにリンクされた既存の SDDC への新しいホストの追加ができなくなります。VMware のサポートに連絡して、修正を依頼してください。

AWS のロールおよび権限

VMware Cloud on AWS 組織を AWS VPC にリンクする CloudFormation テンプレートを実行するには、AWS アカウントに [CFT の実行に必要な AWS 権限] に示されている権限が必要です。アカウントのリンクでは、アカウントのリンクで使用される AWS ロールに示されている VMware 所有のアカウントに対して、AWS 定義ポリシーである AmazonVPCCrossAccountNetworkInterfaceOperations への AWS AssumeRole アクセス権が設定されます。これにより、[実行中の SDDC 操作に必要な AWS 権限] に示されている権限が付与されます。

CFT の実行に必要な AWS 権限

このテンプレートを実行するアカウントには、これらの権限が必要です。

{
 "Version": "2012-10-17",
 "Statement": [
 {
 "Effect": "Allow",
 "Action": [
 "ec2:DescribeRouteTables",
 "ec2:CreateRoute",
 "ec2:DeleteRoute",
 "ec2:ReplaceRoute"
 ],
 "Resource": [
 "*"
 ]
 },
 {
 "Effect": "Allow",
 "Action": [
 "ec2:DescribeNetworkInterfaces",
 "ec2:CreateNetworkInterface",
 "ec2:DeleteNetworkInterface",
 "ec2:CreateNetworkInterfacePermission",
 "ec2:ModifyNetworkInterfaceAttribute",
 "ec2:DescribeNetworkInterfaceAttribute",
 "ec2:DescribeVpcs",
 "ec2:DescribeSubnets"
 ],
 "Resource": [
 "*"
 ]
 },
 {
 "Effect": "Allow",
 "Action": [
 "ec2:AssignPrivateIpAddresses",
 "ec2:UnassignPrivateIpAddresses"
 ],
 "Resource": [
 "*"
 ]
 },
 {
 "Effect": "Allow",
 "Action": [
 "cloudformation:CreateStack",
 "cloudformation:DescribeStacks",
 "cloudformation:DescribeStackEvents",
 "cloudformation:DescribeStackResource",
 "cloudformation:DescribeStackResources",
 "cloudformation:GetTemplateSummary",
 "cloudformation:ListStackResources",
 "cloudformation:GetTemplate",
 "cloudformation:ListChangeSets",
 "cloudformation:GetStackPolicy"
 ],
 "Resource": "*"
 },
 {
 "Effect": "Allow",
 "Action": [
 "iam:CreateRole",
 "iam:CreatePolicy",
 "iam:AttachRolePolicy",
 "iam:GetRole",
 "iam:PassRole",
 "iam:PutRolePolicy",
 "lambda:CreateFunction",
 "lambda:InvokeFunction",
 "lambda:GetFunctionConfiguration",
 "lambda:GetFunction",
 "cloudformation:DescribeStackResource",
 "cloudformation:DescribeStackResources"
 ],
 "Resource": "*"
 }
 ]
}
実行中の SDDC 操作に必要な AWS 権限
アカウントのリンクが完了した後は、(IAM ロールによって付与された)次の権限のみが必要になります。
重要:

これらのロールおよびその権限は一切変更しないでください。変更した場合、SDDC が動作不能になります。

関連付けられたポリシー権限のドキュメントを表示するには、AWS コンソールにログインして、 https://console.aws.amazon.com/iam/home?region=us-east-1#/policies/arn:aws:iam::aws:policy/AmazonVPCCrossAccountNetworkInterfaceOperations$jsonEditor を開きます。ここに、そのポリシーの概要が説明されています。
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeRouteTables",
                "ec2:CreateRoute",
                "ec2:DeleteRoute",
                "ec2:ReplaceRoute"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeNetworkInterfaces",
                "ec2:CreateNetworkInterface",
                "ec2:DeleteNetworkInterface",
                "ec2:CreateNetworkInterfacePermission",
                "ec2:DeleteNetworkInterfacePermission",
                "ec2:DescribeNetworkInterfacePermissions",
                "ec2:ModifyNetworkInterfaceAttribute",
                "ec2:DescribeNetworkInterfaceAttribute",
                "ec2:DescribeAvailabilityZones",
                "ec2:DescribeVpcs",
                "ec2:DescribeSubnets"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:AssignPrivateIpAddresses",
                "ec2:UnassignPrivateIpAddresses"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}

VMware Cloud on AWS で SDDC の展開や継続的な処理(ルーティング テーブルの更新やホストの置き換えなど)を行うにはこれらの AWS 権限が必要です。そのため、このロールが必要に応じて AWS AssumeRole 機能を使用することができ、Control Tower Guardrails や Service Control Policies (SCP) などの AWS 機能によってブロックされないことを確認する必要があります。IAM ロールには、AmazonVPCCrossAccountNetworkInterfaceOperations ポリシー内ですべて AWS によって管理される最小限の権限セットのみが必要です。これは、テンプレートによって作成された IAM ロールが付与する唯一のアクセス権です。

注:

また、CFT は Lambda 関数を作成し、アカウント内の VPC の記述、ルート テーブルの記述、サブネットの記述のためのアクセス権、およびログを作成する権限を付与します。この Lambda 関数は、CFT の実行時に 1 回だけ使用されます。その目的は、クラウド フォーメーション スタックが完了したことを VMware に登録し、作成されたロールの ARN を提供することです。アカウントが登録されて、VMC コンソールからの SDDC の展開 ワークフロー中に [AWS アカウントの選択] ドロップダウン コントロールに表示されたら、必要に応じて Lambda 関数の NotifyOfStatusvmware-sddc-formation-******-*****-BasicLambdaRole-****** ロールを削除できます。