Application Load BalancerからVMware Cloud on AWSへの接続を試してみた
こんにちは、AWS事業本部の荒平(@0Air)です。
VMware Cloud on AWSでは、AWS基盤との物理的な距離が近いため、AWSの様々なサービスと容易に連携を行うことができます。 本エントリでは、AWSネイティブのロードバランサー Elastic Load Balancing (ELB)の一種である、Application Load Balancer (ALB)からVMware Cloud on AWSの仮想マシンに対して接続を試してみました。
構成図
今回の構成図はこちらです。
VMware Cloud on AWS上の仮想マシンにApacheを導入し、ALBを経由してアクセスを行います。
接続手順
今回試した手順は以下の通りです。
- ALBの作成
- ファイアウォールの設定(AWS側)
- ファイアウォールの設定(VMware Cloud on AWS側)
- ALBを経由してVMware Cloud on AWS 仮想マシンへ接続
(1) ALBの作成
ここではロードバランサー作成の手順については割愛します。以下のドキュメントをご参照ください。
但し、ALBをデプロイするネットワークは、VMware Cloud on AWSと接続があるサブネットとします。(ENI経由でも、Transit Connect経由でも可)
また、セキュリティグループはアクセスを許可するIPに絞っておきます。
(2) ターゲットグループの設定
ALBに登録するターゲットグループを作成します。
ターゲットタイプにはIPアドレスを指定し、仮想マシンのIPアドレスを指定します。
VPC外部のIPアドレスを指定するため、ネットワークは [Other private IP address] を指定し、IPアドレスを入力します。
ALBのリスナーに先ほど作成したターゲットグループを登録します。
(3) セキュリティグループの確認
今回の構成の場合、SDDC Connected VPCにALBをデプロイしているため、VMCのENIに設定されているセキュリティグループを確認します。
※ 外部VPCとして接続する場合は、この手順は不要です。
Connected VPCのネットワークインターフェイスを確認するには、SDDCの[ネットワークとセキュリティ]タブより、[接続されたVPC]を確認します。
SDDC画面に記載の「アクティブなネットワークインターフェイス」のIDで検索して、一覧からENIを選択します。
ここで、ENIに名前を付けておくと管理上便利です。
関連付いているセキュリティグループのインバウンドルールに、ALBが所属するVPC/サブネットのレンジを追加します。
(4) ファイアウォールの設定(VMware Cloud on AWS側)
SDDCコンソールにて、ゲートウェイファイアウォールのコンピュートゲートウェイ設定を変更します。
追加するルールは以下の通りです。
項目 | 値 | 備考 |
---|---|---|
名前 | 任意の名前 | |
送信元 | Connected VPC | もしくは、接続した外部VPC |
宛先 | VMware Cloud on AWS のネットワーク | 無い場合はグループを作成 |
サービス | HTTP | |
適用先 | VPC Interface |
入力したら、[発行]ボタンを押してルールを適用します。
(5) ALBを経由してVMware Cloud on AWS 仮想マシンへ接続
{ALBのDNS名:ポート番号} にてアクセスできます。
It works!が表示され、ALBを経由してVMC上の仮想マシンへアクセスしていることが確認できました。
おわりに
今回は、Application Load Balancerとの接続を実施してみました。
Network Load Balancerの場合も、基本的に同じ手順で接続が可能です。
上手く繋がらない場合、VMware Cloud on AWSが利用しているENIのセキュリティグループやサブネットのルーティングテーブルを見直すと良いと思います。
(※私の場合、デフォルトのセキュリティグループが原因で検証に時間がかかりました)
VMware Cloud on AWSでは、一般的に利用されるサービスに NSX Advanced Load Balancer(Avi)も選択肢としてありますが、要件によって使い分けるとよいと考えます。
このエントリが誰かの助けになれば幸いです。
それでは、AWS事業本部 コンサルティング部の荒平(@0Air)がお送りしました!