CJです。
この投稿は、vExperts Advent Calendar 2020 の 13日目です。
本日は、VMware Cloud on AWS (以下、VMConAWS) における L2VPN 設定方法について共有したいと思います。主に、NSX Autonomous Edge のオンプレ側へのデプロイおよび HA 構成と動作確認の内容となっております。では、早速全体イメージ図からみて行きましょう。
イメージ図
・オンプレ (左) 側の “cj-vm01” から、VMConAWS (右) 側の “cj-web” へ L2VPN 経由で疎通可能になることを確認したいと思います。
・また、オンプレ (左) 側の “cj-nae-01 (Primary)” と “cj-nae-02 (Secondary)” が最終的に HA 構成になり、切り替わることについても確認したいと思います。
注意事項
・本記事は、以下の環境バージョンにてテストを行ったものとなります。将来バージョンの差によって動作仕様などが異なる可能性がございます。ご了承ください。
SDDC | 1.12v2 |
Autonomous Edge | 2.5.1 (Build 14991196) |
・本記事では Firewall 設定に関する内容は割愛させていただいています。必要に応じて IPsec 接続に関する通信 (UDP 500, 4500 など)を許可してください。
・本記事ではオンプレ環境に管理系とワークロード用ネットワークに接続可能な踏み台 (cj-jump) を用意してあります。上記イメージ図には L2VPN イメージのみをお伝えするため、踏み台サーバーの表記は割愛してあります。ご自身の環境に合わせて踏み台サーバーをご用意いただくことをお勧め致します。
事前準備
・Autonomous Edge の設定において必要となるパラメータシートをご用意いただくのがお勧めです。今回のテストにおいては、以下のパラメータシートを用意してあります。
カテゴリ (大) | カテゴリ (小) | Primary | Secondary |
Application | System Root User Password | CJ-PASSWORD | CJ-PASSWORD |
CLI “admin” User Password | CJ-PASSWORD | CJ-PASSWORD | |
Network properties | Host name | cj-nae-01 | cj-nae-02 |
Default IPv4 Gateway | 172.16.121.254 | 172.16.121.254 | |
Management Network IPv4 Address | 172.16.121.60 | 172.16.121.61 | |
Management Network Netmask | 255.255.255.0 | 255.255.255.0 | |
DNS | DNS Server list | 172.16.121.51 | 172.16.121.51 |
Domain Search List | vmc.lan | vmc.lan | |
Services Configuration | NTP Server List | 172.16.121.51 | 172.16.121.51 |
Enable SSH | Check-in | Check-in | |
Allow root SSH logins | Check-in | Check-in | |
External | External Port | 0,eth1,172.16.121.90,24 | – |
External Gateway | 172.16.121.254 | – | |
HA Section | HA Port | 0,eth3,169.254.100.1,30 | 0,eth3,169.254.100.2,30 |
Secondary API Node | – | Check-in | |
Primary Node Management IP | – | 172.16.121.60 | |
Primary Node Username | – | admin | |
Primary Node Password | – | CJ-PASSWORD | |
Primary Node Management Thumbprint | – | ※手順 3 で取得 |
・オンプレ環境において、予め以下のトランクポート用のポートグループを作成してあります。
l2vpn-trunk | セキュリティ | 無差別モード | 承諾 |
MAC アドレス変更 | 拒否 | ||
偽装転送 | 承諾 | ||
VLAN | タイプ | VLAN トランク | |
VLAN トランクの範囲 | 0-4094 |
・”cj-web” には Nginx が動いている状態です。
設定の流れ
- VMConAWS の L2VPN 設定
- Autonomous Edge のデプロイ
- Autonomous Edge の設定
- Autonomous Edge の HA 構成
- HA 動作確認
1. VMConAWS の L2VPN 設定
Local IP Address には VMC のパブリック IP アドレスを指定します。もし、Direct Connect 経由の構成にしたい場合は、プライベート IP アドレスを指定します。後は、オンプレ側のパブリック IP アドレスと、Autonomous Edge (Primary) の External Port 設定予定の IP アドレスを設定します。そうすると、ポップアップ画面として、Autonomous Edge のダウンロードリンク先 (MyVMware) と関連 Docs のリンク情報が表示されますので、MyVMware より Autonomous Edge をダウンロードしておきます。
オンプレ環境と L2 疎通を行う VMConAWS 側の拡張セグメントを作成します。本テストでは、”Segment Name :cj-vlan-123″ と “VPN Tunnel ID : 1123 (任意)” の設定としてあります。
“DOWNLOAD CONFIG” より、上記のように “peer code” (下線の箇所)をメモしておきます。後ほど Autonomous Edge 設定の際に使います。VMConAWS 側での設定はこれだけです。では、オンプレ側に移動して Autonomous Edge の設定を行いましょう。
2. Autonomous Edge のデプロイ
手順 1 でダウンロードした Autonomous Edge をオンプレ環境で展開します。本記事では、オンプレ環境の踏み台サーバーに展開済み状態です。Autonomous Edge のデプロイへ進む前に、vSphere 7 環境へのデプロイに関する Tip を共有したいと思います。本件については、既に KB が出ていますので併せてご参照ください。
Tip : Autonomous Edge のデプロイ先が vSphere 7 の場合。
vSphere 7 環境においては、上記のように “sched.mem.pin” エラーが出て次へ進むことができないです。この場合は、以下の通りに Autonomous Edge の .ovf ファイルを編集します。
編集後は、”vSphere Client > ホストおよびクラスタ> OVF テンプレートのデプロイ” よりデプロイを開始します。テンプレートの選択においては、上記編集済みの .ovf ファイルと .vmdk の 2つファイルのみを選択します。
その後、以下の通りにステップごとに設定を行って行きます。
- 2. 名前とフォルダの選択 : 仮想マシン名 “cj-nae-01” と設定。
- 3. コンピューティングリソースの選択 : 本テストでは、”Workload” リソースプールを設定。
- 4. 詳細の確認 : 確認後、次へ。
- 5. 設定 : Autonomous Edge のサイズを選択します。本テストでは、”Small” サイズを設定。
- 6. ストレージの選択 : データストアを選択します。本テストでは、”vsanDatastore” を設定。
- 7. ネットワークの選択 : ネットワークを設定。本テストでは、以下の画面通りに設定をしてあります。”Network 1″ については、External 用ネットワークを指定すれば大丈夫です。ここではテスト環境の都合上、Management と External を同じネットワークにしてあります。
- 8. テンプレートのカスタマイズ : 上記、事前準備の Autonomous Edge パラメータシートに掲載されている内容にて設定。上記パラメータシートに掲載されてない内容については空白状態にして次へ。
- 9. 設定の確認 : 確認後、完了。
3. Autonomous Edge の設定
デプロイが完了したら、Autonomous Edge を Power-On にて起動します。起動後、Autonomous Edge (cj-nae-01) へ SSH 接続を行い、以下のコマンドにて Thumbprint を取得し、事前準備にある Autonomous Edge パラメータシートに追記しておきます。
get certificate api thumbprint
次は、”https://[Autonomous Edge の Management IPaddress]” にて Autonomous Edge の UI へアクセスします。本テストでは、”https://172.16.121.60″ へ “admin” アカウントにてアクセスしてあります。
“cj-nae-01” が、Primary ロールを持っており、UP 状態であることが確認できます。また、今現時点ではまだ L2VPN が繋がっていない状態となります。では、引き続き Autonomous Edge の設定を行います。
UI の左メニューにある “PORT > ADD PORT” より、L2 延伸するオンプレ環境のネットワークを設定します。本テストでは、オンプレ環境の “172.16.123.0/24” が “VLAN 123” と設定されている状態のため、その内容にて “eth2 : Trunk Port 用” を設定してあります。
UI の左メニューにある “L2VPN > ADD SESSION” より、以下の内容にて設定します。
Session Name | session | デフォルト表示 |
Admin Status | ENABLED | デフォルト表示 |
Local IP | 172.16.121.90 | cj-nae-01 の External 用 IP アドレス設定 |
Remote IP | x.x.x.x | VMConAWS のパブリック IP アドレス設定 |
Peer Code | cH…XO= | 手順 1 で取得しておいた peer code を設定 |
この状態で、VMConAWS の L2VPN 設定箇所を見ると Status が “Success” になっていると思います。ただし、まだ “cj-vm01” から “cj-web” へ PING 疎通などはできない状態です。
UI の左メニューにある “L2VPN > ATTACH PORT” より、以下の内容にて設定します。
Session | session | デフォルト表示 |
Port | name : VLAN 123 vlan : 123 | デフォルト表示 |
Tunnel ID | 1123 | 手順 1 で設定した “VPN Tunnel ID” と同じ ID |
これで L2VPN の設定が完了しました。疎通を確認してみましょう。
きちんと L2VPN 経由での疎通 (PING) ができることが確認できました。折角なので、cj-web のウェブページにもアクセスしてみます。
オンプレから、VMConAWS のウェブページにも正常にアクセス (疎通) 可能であることが確認できました。L2VPN 自体の設定はこれで完了ですが、もし Autonomous Edge の冗長構成にご興味のある方は、引き続き次の HA 構成内容についてもご参照いただければと思います。
4. Autonomous Edge の HA 構成
HA 構成を行うには、もう一台の Autonomous Edge (Secondary) を持って Edge Cluster (Active / Standby) を作成する必要があります。なお、Edge Cluster は Secondary 用 Autonomous Edge をデプロイする中、”8. テンプレートのカスタマイズ” 箇所に必要となるパラメータを設定することだけで作成可能です。それでは、早速手順 3 を繰り返し “cj-nae-02″ をデプロイします。”8. テンプレートのカスタマイズ” 箇所のみ、以下のように Secondary 用のパラメータを設定します。
デプロイ完了後、Power-On にて “cj-nae-02” を起動します。
Tip : 冗長構成のため、Primary と Secondary はそれぞれ別の ESXi 上で稼働させることをお勧めします。(非アフィニティルールの適用もご検討ください。)
起動後は、cj-nae-01 と cj-nae-02 の UI へアクセスして、以下の通りに Edge Cluster の状態を確認します。ロール (Primary / Secondary)、Peer 情報、ノードおよび HA 状態 (Active / Standby)、そして L2VPN の状態が確認可能です。
5. HA 動作確認
それでは、以下の 2点にて HA の動作を確認したいと思います。
- cj-nae-01 (Primary) が Power-Off にて、cj-nae-02 (Secondary) 経由での L2VPN 可否。
- cj-nae-01 (Primary) が Power-On にて戻った際に、Failback の可否。
早速、cj-nae-01 を Power-Off したら、5 秒ほどの切替断が発生しましたが、想定通りに cj-nae-02 (Secondary) 経由での L2VPN が可能であることが確認できました。
続いて、cj-nae-01 を Power-On にて戻しましたが、Failback は発生せず、引き続き cj-nae-02 (Secondary) が Active 状態で L2VPN が UP していることが確認できました。もちろん、パケットロスなども発生しませんでした。
これにて、HA の動作確認まですべて完了致しました。
VMConAWS コンソール上の設定もシンプルで、MyVMware から Autonomous Edge をダウンロードして展開するだけで簡単に L2VPN 構成が組めることはとても魅力的だと思います。ぜひ、本記事を参考に一度 Autonomous Edge を利用した L2VPN をお試しください。また、クラウドへの L2 延伸または移行ソリューションなどをご検討中の方にも本記事が少しでもお役に立てれば嬉しいです。
明日の Advent Calendar は、ta_ichi さんです。
vExperts Advent Calendar 2020 – Adventar
[参考情報]
Add an Autonomous Edge as an L2 VPN Client
[VMC on AWS] NSX Autonomous Edge deployment fails on vSphere 7 (81875)