Amazon Web Services ブログ
VMware Cloud on AWSのアカウントとVPCに関する考慮事項
AWSでSr. Partner Solutions Architectを務めるSchneider Larbiによる記事です。
VMware Cloud on AWSは、VMwareとアマゾン ウェブ サービス (AWS)が共同開発をした、AWSのグローバルインフラストラクチャ上でお客様のVMwareワークロードの実行を可能にするサービスです。
VMware Cloud on AWSサービスのデプロイ中に、Software Defined Data Center (SDDC)がAWS (またはお客様の)アカウントに接続され、ネイティブAWSサービスにシームレスにアクセスが可能となります。
この記事では、ネイティブAWSサービス連携を活用するために、VMware Cloud on AWSに接続するAWSアカウント及びそれぞれのAmazon Virtual Private Cloud (VPC)に関するガイダンスを提供いたします。
アカウント構造
VMware Cloud on AWSをセットアップするには、2つのアカウントが必要です。1つ目はSDDC (VMware Cloud on AWSのリソース)が稼働する為のAWSアカウントです。VMwareが所有し、運用を行います。
2つ目のアカウントは、お客様が所有するAWSアカウントです。お客様が所有、運用を行い、もしそのアカウント内でAWSサービスを利用することを選択した場合、お客様が直接支払いを行います。
お客様所有のAWSアカウントをSDDCに正常にアタッチする為に、そのAWSアカウント内に少なくとも1つのVPCが必要です。この接続により、お客様はネイティブAWSサービスを利用して、VMware Cloud on AWS上で実行されるサービスの補完が可能になります。
アカウントアーキテクチャ
以下の図は、VMware Cloud on AWSのセットアップに必要な2つのアカウントの相互接続のアーキテクチャを示しています。
図1 – AWSアカウント及びSDDCとのVPCの接続
ご覧の通り、左側のAmazon Virtual Private Cloud (VPC)は、VMwareによって管理および運用されているAWSアカウント内にてホストされています。お客様はこのVPCへのアクセス権はありません。
右側のVPCは、お客様のAWSアカウント内でホストされ、このアカウントはお客様によって直接管理されます。そのアカウントのVPC内で実行するリソースによっては、お客様はそれらのサービスの料金を支払う必要があります。
例えば、上記のアーキテクチャを見ると、お客様アカウント内で、SDDCに接続されたVPC (Connected VPC)内のAmazon Elastic Compute Cloud (Amazon EC2)インスタンスの支払いは、お客様の責任となります。
図1で表すように、Elastic Network Interface (ENI)は、Connected VPC内のサービスへの広帯域かつ低レイテンシーのアクセスを提供します。
これにより、SDDCクラスター内の仮想マシンはパブリックインターネットを経由する事なく、Amazon EC2などのネイティブAWSサービスを活用したり、仮想マシンをAmazon Simple Storage Service (Amazon S3)にバックアップしたり、データベースの管理をAmazon Relational Database Service (Amazon RDS)にオフロードしたりできます。トラフィックはプライベートなAWSネットワークバックボーンを通過します。
AWSアカウントの選択に関する考慮事項
多くのお客様が複数のVPCで構成するAWS環境をご利用されており、またVMware Cloud on AWSをデプロイし、その上に他のワークロードを実行されているお客様もいます。このような場合、お客様からVMware Cloud on AWSへの接続に使用する最適なVPCについてご質問頂くことがあります。
Connected VPCとして使用する適切なVPCは、複数の要因に依存いたします。まず、AWSアカウントのデプロイメントパターンについて説明します。
アカウント管理: AWS Organizations
Connected VPCをホストするAWSアカウントをAWS Organizationsに属することができ、これによりAWS Cloudのリソースを一元管理できます。
AWS Organizationsを使用している場合、どのアカウントをVMware Cloud on AWSに関連付けたいか事前に計画することをお勧めします。その後、AWS Organization Unit (OU)を作成し、それらをVMware Cloud on AWS用に予約したアカウントに関連付けることができます。
サービスコントロールポリシー (SCP)をOUに関連付ける場合は、SCPがAWS CloudFormationの使用を禁止していない、または制限していないことを確認します。VMware Cloud on AWS では、CloudFormationテンプレートを使用して、接続されたアカウント(特にVPC内)に必要なリソースをプロビジョニングし、VMware SDDCとネイティブAWSサービスがシームレスにアクセスできるようにします。
マルチアカウントガバナンス: AWS Control TowerとLanding Zone
また、AWS Control Towerを使用してAWS Organizationsを管理し、マルチアカウント環境全体でガバナンスを実施するお客様もいます。このようなシナリオでは、VMware Cloud on AWSで使用するアカウント用に別のOUを作成することをお勧めします。OUでは、使用されるガードレールルールによってCloudFormationがConnected VPCに必要なリソースの作成が制限されないよう確認する必要があります。
VMwareにて使用されるCloudFormationテンプレートは、プレフィックスにvmware-sddc-formationを持ち、そのCloudFormationスタックは接続されたアカウント内のConnected VPCで以下の処理を行います:
- VPC内に不変のAWS Identity and Access Management (IAM)ロール (RemoteRole, RemoteRolePlayer, RemoveRoleService, BasicLambdaRole)を作成します。
- 上記のロール用にAmazonVPCCrossAccoutNetworkOperationsという名前のIAMポリシーを作成します。
- イベント通知用のAWS Lambda関数を作成します。
したがって、AWS Organizationsを使用している場合でもLanding ZoneのあるControl Towerを使用している場合でも、VMware Cloud on AWSに関連付けるアカウントがVPCで上記の操作を完了できるようにポリシーを設定する必要があります。
スタンドアロンのAWSアカウント
スタンドアロンのアカウントは、後でAWS OrganizationsまたはControl TowerのLanding Zoneに追加できます。その要件がある場合は、Connected VPCで必要なネイティブAWSサービスを実行できるようにガバナンスポリシーを設定してください。
また、ガードレールポリシーまたはSCPにてAWS CloudFormationがアカウント内で動作することを許可する必要があります。
AWS Organizationsに属することなく、またはLanding Zoneを持つ AWS Control Towerによって管理されることなくスタンドアロンのアカウントを使用する事ができます。
Connected VPCに関する考慮事項
図1で示すように、Connected VPCは、VPCへの広帯域・低レイテンシーのアクセスを提供し、これによりお客様のネイティブAWSサービスの利用を可能にします。
VMware Cloud on AWSで使用される使用可能なインスタンスタイプでは、最大25 Gbpsの帯域幅がサポートされます。
Amazon RDSやAmazon RedshiftなどのネイティブAWSサービスと連携する要件があり、これらのサービスへの低レイテンシーアクセスが必要な場合は、Connected VPCにこれらのサービスをデプロイし、VMwareワークロードがこれらのサービスを利用できるよう許可することをお勧めします。
さらに、一部の既存のお客様は、シェアードサービスVPC、またはサービスプロバイダーVPCを使用して環境を設計します。このアーキテクチャでは、お客様は1つのVPCを使用して、サービスやアプリケーションを他のVPC (コンシューマーVPCと呼びます)に公開・共有します。
このアーキテクチャモデルは、VPC内にアプリケーション用のNetwork Load Balancerと、適用可能なAWSサービスでサポートされるインターフェイスエンドポイントを作成するAWS PrivateLinkにて成立しています。
これは、VPC内のサブネットにサービス宛てのトラフィックのエントリポイントとして機能するプライベート IP アドレスを持ったインターフェイスエンドポイントと呼ばれるENIを作成します。
下の図に示すように、サービスプロバイダーVPC内のNetwork Load Balancerの背後に独自のサービスを構成でき、他のVPCがそのサービスを利用する事ができます。
図2 – サービスプロバイダーアカウントとのAWS PrivateLink接続
図2は、異なるアカウントのコンシューマーVPCが、サービスプロバイダーアカウントのVPCリソースをどのように利用するかを示しています。AWS PrivateLinkを使用して、ターゲットVPCと通信します。
コンシューマーアカウント及びVPCが別のリージョンにある場合、AWS PrivateLinkはプロバイダーVPCにトラフィックを送信する為に、VPCピアリング、仮想プライベートネットワーク(VPN)、AWS Transit Gateway接続を介して動作する事ができます。
お客様がすでにこのアーキテクチャを使用している場合は、このアーキテクチャをVMware Cloud on AWSに統合するだけで済みます。お客様が単一のSDDCを使用する場合は、シェアードVPCまたはサービスプロバイダーVPCをVMware Cloud on AWSのConnected VPCとして使用する事ができます。
図3 – SDDC、Connected VPC / AWSアカウントとAWS PrivateLinkの統合
図3では、サービスプロバイダーVPCがVMware Cloud on AWSのConnected VPCとして使用されています。このモデルを利用する事によりVMware Cloud on AWS内で実行されるVMwareワークロードは、VPCとVMware Cloud on AWS間のENIを通じて、サービスプロバイダーVPCからネイティブAWSサービスを引き続き使用できます。
注目すべき点として、SDDCと同じAWSアベイラビリティーゾーンにあるConnected VPCからネイティブサービスにアクセスした場合、アベイラビリティーゾーン内のトラフィック料金は発生いたしません。
さらに、その他のVPCは、VPCのAWSインターフェイスエンドポイントを使用して、サービスプロバイダーVPCとして機能するConnected VPC内のサービスを利用することもできます。インターフェイスエンドポイントの設定により、環境内の他のVPCから、Connected VPCでサポートされているサービスにアクセスできます。
お客様によってはConnected VPC以外の複数のVPCや、ネイティブAWSサービスと対話する必要がある複数のSDDCを所有している場合があります。このユースケースに対応するため、VMwareとAWSは共同でVMware Transit Connect (powered by AWS Transit Gateway)という新機能を開発いたしました。
AWS Transit Gatewayは、中央のハブを介してVPCとオンプレミスネットワークを接続します。ネットワークを簡素化し、複雑なピアリング関係を解消するクラウドルーターとして機能します。
VMware Transit Connectは、VMwareによって管理されるAWS Transit Gatewayで、お客様はSDDCグループと呼ばれる新しい構成を通じて、複数のSDDCクラスター、VPC、およびオンプレミスネットワークをシームレスに相互接続できます。
お客様は、SDDCグループ内の複数のSDDCクラスタをVMware Transit Connectに接続できるようになりました。VMware Transit ConnectはネイティブAmazon VPCの接続も許可します。これにより、ネットワーク接続が大幅に簡素化され、高スループット、低レイテンシー、高レベルの耐障害性が実現されます。
図4 – VMware Transit ConnectによるSDDC、オンプレミス、VPC接続
図4のアーキテクチャにより、お客様は大規模でシンプルなマルチ環境接続を実現できます。VMware Transit Connectを使用しているお客様は、VMware Transit Connectに接続されている構成間でトラフィックを送信できます。
以下に、それらがどのように動作するか記載いたします:
- オンプレミスからSDDC: お客様はAWS Direct ConnectとDirect Connectゲートウェイを使用してVMware Transit Gatewayに接続できます。このモデルを利用する事によりSDDCグループ内のSDDC は、オンプレミスのリソースと通信が可能になります。
- SDDCからVPC: 既存または新規のネイティブAmazon VPCをVMware Transit Connectにアタッチすることもできます。これにより、SDDCグループ内のSDDCと、アタッチされたVPC内のVPCリソースとのネットワークルーティングが可能になります。
- SDDCからSDDC: このモデルでは、VMware Transit Connectに接続されているSDDC間での相互通信を可能にします。
お客様は、Connected VPC以外の別のVPCを使用するオプションもあります。そのVPCをVMware Transit Connectにアタッチし、VMware Cloud on AWSと統合することができます。これにより、他のSDDCのワークロードがVPC内のネイティブサービスを利用できるようになります。
Connected VPCがTransit Connectにアタッチされると、VMware Cloud on AWSは、Transit Connect経由でのトラフィックパスよりもENIからSDDCへのトラフィックパスを優先し、Connected VPCのメインルートテーブルにルートを自動的に追加します。
VMware Transit Connectでは現在、以下のトラフィックフローパターンがサポートされています:
- SDDCグループ内のSDDC間のトラフィックフロー
- Connected VPCを含む、SDDCとネイティブAmazon VPC間のトラフィックフロー
- オンプレミスとSDDCグループ内のSDDC間のトラフィックフロー
上記の図4に示すように、お客様は、SDDCグループ内のVMware Cloud on AWS環境を使用して、同一または異なるAWSアカウントのVPC上のネイティブAWSサービスを統合できる柔軟性があります。
ユースケースに応じて、Connected VPCとSDDCの1対1のマッピングを単純なデプロイモデルで作成、AWS PrivateLinkを使用してサービスプロバイダーモデルに拡張、VMware Transit Connectを活用して高度なデプロイの実施が可能です。
Connected VPCの目的は、お客様がVMware Cloud on AWSとネイティブAWSサービスを連携して利用できるようにすることです。ネイティブAWSサービスを使用する為にConnected VPCまたはVMware Cloud on AWSと通信できる別のVPCを使用する必要があります。
結論
VMware Cloud on AWSがConnected VPCに接続されている場合、常にそのVPCのデフォルトのVPCルートテーブルが使用されます。
Connected VPCをシェアードVPCまたはサービスプロバイダーVPCとして他のVPCやVMware Cloud on AWSで使用する場合は、他のVPCへのトラフィック用に別のルートテーブルを作成することをお勧めします。サブネット毎にルートテーブルを関連付けることができます。
デフォルトのルートテーブルは、VMware Cloud on AWS専用とすべきです。SDDC内に新しいネットワークが作成されると、ルートテーブルがVMwareによって更新されます。
お客様によっては、用途に応じてVPC内に別々のルートテーブルを作成するシナリオがあります。このような場合、SDDC内のネットワーク変更に基づいてメインルートテーブルが更新されますが、カスタムルートテーブルは自動的に更新されない、ということを覚えておく価値があります。Connected VPCのカスタムルートテーブルは手動で更新する必要があります。
さらに、Connected VPCは、AWS Site-to-Site VPN経由、またはConnected VPC内にデプロイされたサードパーティのVPNアプライアンスを経由して、他のVPCとVMware Cloud on AWS間の推移的なルーティングに使用すべきではありません。これはサポートされていません。
この記事では、VMware Cloud on AWSに関連したAWSのアカウント構造について説明し、Connected VPCのアカウント設定を計画する際に考慮すべき事項についても説明しました。また、お客様環境内の他のVPCに関連して、Connected VPCの選択および使用に関する有用な考慮事項も提供いたしました。
お客様の環境内でこれらのアーキテクチャを実装するためのサポートについては、AWSまでお問い合わせください。
翻訳はPartner SA 豊田が担当しました。原文はこちらです。