Application Load BalancerからVMware Cloud on AWSへの接続を試してみた

お手軽に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を経由してアクセスを行います。

接続手順

今回試した手順は以下の通りです。

  1. ALBの作成
  2. ファイアウォールの設定(AWS側)
  3. ファイアウォールの設定(VMware Cloud on AWS側)
  4. 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)がお送りしました!

参考