LoginSignup
7
3

More than 1 year has passed since last update.

VMware Cloud on AWSとAmazon VPCの接続パターン & ENI経由での接続詳細

Last updated at Posted at 2022-04-14

はじめに

今後 VMware Cloud on AWS (VMC) とネイティブ AWS サービスの連携例をいくつか紹介していきたいなと思っていますので、今回は AWS サービスが稼働する Amazon VPC と VMC の接続パターンと、その中の一つである Elastic Network Interface (ENI) 経由での接続の詳細について解説してみたいと思います。

目次

  1. VMware Cloud on AWS と Amazon VPC の接続パターン
  2. ENI 経由での接続の仕組み
  3. ENI の詳細
  4. ENI での接続の場合の考慮点
  5. まとめ
  6. 参考文献及び関連記事

VMware Cloud on AWS と Amazon VPC の接続パターン

VMC の Software-Defined Data Center (SDDC) と Amazon VPC の接続は大きく分けて 3 つのパターンがあります。

  1. Elastic Network Interface (ENI) 経由での接続
  2. AWS Transit Gateway との接続
  3. VTGW との接続
    ※ VTGW: VMware Transit Connect サービスにおける AWS Transit Gateway 機能の総称

今回は、その中で一番シンプルな接続パターンである ENI 経由での接続を紹介いたします。
image.png

ENI 経由での接続の仕組み

ENI 経由でどのように VPC と接続されるか仕組みを簡単に見ていきたいと思います。

最初に SDDC を作成する際に、接続をする AWS アカウントの指定、そしてそのアカウント内の VPC、サブネットの指定をするステップがあります。

image.png
image.png

上記で指定したサブネット上に ENI が作成されて、それが SDDC と接続をする形となります。
image.png

仮想マシンはコンピューティングゲートウェイ / CGWという分散論理ルーターに接続をいたします。
仮想マシンの論理ネットワークを複数自由に作成する事が出来、好きなIPアドレスレンジが指定が出来ます。
以下では例として2つの論理ネットワークを作成しています。
論理ネットワークを作成するとAWSアカウント内の、VPCのルートテーブルが自動的に更新され、セグメントの情報が追加されます。この為、低遅延かつプライベート接続でAWSサービスと接続が可能となります。
そして同じ AZ 内の通信に関してはデータ転送費用も発生しないというメリットがあります!
image.png

ENI が実際にどう作成されているか、AWS マネジメントコンソールにアクセスし、構成を確認してみます。
ENI は AWS マネジメントコンソールから、[EC2] -> [ネットワーク & セキュリティ] -> [ネットワークインターフェイス] にて確認できます。

以下の通り、SDDC 作成時に指定したサブネットに 17 個の ENI が作成されています。
また今回は 2 ホストで構成した為、2 ホスト分の ENI が In-use のステータスになっています。例えば 6 ホストでデプロイした場合は、6 個の ENI が In-use のステータスになります。
image.png

ルートテーブルの構成は以下の通りです。SDDC の管理サブネットとして指定した 10.2.0.0/16 と、ワークロード用のセグメントとして作成した 192.168.xxx.0/24 が ENI 経由になるよう自動構成されています。
image.png

こちらはVMCコンソール側で見たワークロード用のセグメント一覧です。「ルーティング」として指定したセグメントが全て上記のルートテーブルに反映されている事が見ていただけるかと思います。
また、セグメントの追加を行うと即時にVPC側のルートテーブルに追加されます。
image.png

この為、以下のように VPC 上の AWS サービスから仮想マシンに対して NAT などを行う必要なく、直接仮想マシンの IP アドレスを指定してプライベートで接続が可能です。(逆に仮想マシンから AWS サービスに対してももちろん接続が可能です)

EC2 から VMC 上の Linux VM へ SSH でアクセス
[ec2-user@ip-10-0-165-11 ~]$ ssh tc@192.168.160.2
tc@192.168.160.2's password: 
   ( '>')
  /) TC (\   Core is distributed with ABSOLUTELY NO WARRANTY.
 (/-_--_-\)           www.tinycorelinux.net

tc@box:~$ 

ENI の詳細

補足までにENIについてもう少し深掘りしてみます。
標準クラスタの場合、SDDC デプロイ時に ENI が指定したサブネット上に 17 個作成されます。この ENI は、各 ESXi にそれぞれマッピングされ、アクティブな NSX-T Edge が稼働している ESXi にマッピングされた ENI がアクティブな ENI として機能します。
ENI 経由での接続の仕組みで紹介した環境では、ENI eni-0f38bb6ddacabxxxx にマッピングされた ESXi 上でアクティブな NSX Edge が稼働している為、各セグメントのターゲットとして指定されていました。

尚、"17 個" というのは、1 つ目のクラスタに最大 16 個 ESXi が構成可能 + フェイルオーバー用に 1 つ確保している為です。SDDC デプロイ時のホスト数に関わらず、17 個作成されます。
尚、SDDC あたり最大で 20 個クラスタが作成可能ですが、ENI が作成されるのは最初のクラスタのみです。(NSX などの管理コンポーネントは最初のクラスタにのみ作成される為です。)

image.png

アクティブな NSX-T Edge がメンテナンスや障害などで別の ESXi に移動した場合は、それに呼応してアクティブなENIも自動で切り替わります。
image.png

ENI での接続の場合の考慮点

最後に ENI での接続の際の一般的な考慮点、ベストプラクティスについて列記します。

  • 仮想マシンで利用する論理ネットワークと VPC 間で IP アドレスの重複がないようネットワークセグメントの設計を行う。
  • SDDC 毎に専用のプライベートサブネット(/26)の用意が推奨
  • ENI が作成される Connected VPC では、メイン ルートテーブルを利用する。(カスタム ルート テーブルの使用はサポートされません)
    • SDDC 側で論理ネットワークを作成した場合や、ENI のフェイルオーバーを行う際に、メインルートテーブルに対して自動で変更を行う為です。

まとめ

今回は、Elastic Network Interface (ENI) 経由での VMware Cloud on AWS と Amazon VPC の接続について解説してみました。ENI 経由での接続により、AWS サービスとプライベート、かつ高速に接続をする事ができます。
そして同じ AZ 内の通信に関してはデータ転送費用も発生しないというメリットがあります。
まずはオンプレミス環境にあるアプリケーションを VMC にリロケートし、段階的に AWS のネイティブサービスと連携をするといったステップを取ることが可能です。AWS サービスとの連携により、ライセンスコストの圧縮や、高可用性、スケーラビリティーの確保など、クラウドのさらなるメリットを享受することが可能です。
今後は ENI 経由で色々な AWS サービスとの接続例について紹介していきたいと思います!

参考文献及び関連記事

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3