この記事は Nicolas Vibert 氏のブログ Internet Access and Design Deep Dive の翻訳です。 翻訳の一覧はこちら

VMware Cloud on AWS(VMC_AWS)の指数関数的な成長が続く中、VMC_AWS 上で稼働する仮想マシンのインターネット アクセスのデザインに関する多くの質問を受けるようになりました。

この Deep Dive 記事では、殆どの一般的な質問をカバーします。より詳細が必要な場合は、お気軽にコメントやツイートでお知らせ下さい。

VMware Cloud on AWS 上の VM はどうやってインターネットにアクセスするのか。

仮想マシンがインターネットにアクセスするのは、非常に簡単です。デフォルトでは、コンピュート ゲートウェイに適切なファイアウォール ルールを追加すれば、直ぐにでも仮想マシンはインターネットにアクセスできるようになります。

以前の ブログ記事 のコンピュート ゲートウェイを参照して下さい。

VMC_AWS には AWS Internet Gateway が起動時にアタッチされます。

仮想マシンの送信元 IP と VMC_AWS ゲートウェイに割り当てられたパブリック IP を変換するデフォルトの Source NAT ルールがあるため、アウトバウンドのトラフィックのために NAT を構成する必要はありません。

VMware Cloud コンソールのネットワークとセキュリティ ウィンドウを表示し、コンピュート ゲートウェイでインターネットへのアウトバウンド トラフィックを許可するルールを作成するだけです。

“送信元” で、インターネットへのアクセスを許可したいサブネットを指定することができます。また、このファイアウォール ルールを適用するインターフェースも指定します。(ここでは “Internet Interface” に適用します。)

これだけです。これで仮想マシンはインターネットにアクセスできるようになります。

ユーザーはどのように VMC_AWS 上の仮想マシンにインターネット越しにアクセスするのでしょうか?

VMC_AWS 上に仮想マシンを移行または作成すると、Web サービスなどその仮想マシン上で稼働するサービスをインターネットから利用したくなるかも知れません。これは非常に簡単に行えます。以下の 3 ステップとなります:

  • パブリック IP のリクエスト
  • パブリック IP をプライベート IP に割当(NAT)
  • 適切なファイアウォール ルールの作成

では Web サーバーを設定する全プロセスを見ていきましょう。

まず VMC_AWS 上でネットワーク セグメント 10.10.11.0/24(Web Tier)を作成します。(ネットワークとセキュリティ タブ)

次に、標準的な Web 仮想マシン(‘WebServer’) を作成し、Web Tier にアタッチします。WebServer では IIS をセットアップし、極めて簡単な Web ページをセットアップしています。以下で確認できるように、内部からは WebServer にアクセスできます。

次に VMC コンソールの Public IP ウィンドウから、パブリック IP をリクエストします。

裏側で何が実行されているかというと、API を通じて AWS のパブリック IP プールからパブリック IP をリクエストしています。数秒で、パブリック IP が割り当てられます:

パブリック IP は無料では使えません。VMware はお客様にパブリック IP の 標準的な AWS コストをそのまま請求します。

IP アドレス課金: 稼働しているインスタンスに関連づけられた Elastic IP アドレス: $0.005/IP/時 稼働しているインスタンスに関連づけられていない Elastic IP アドレス: $0.005/IP/時 Elastic IP アドレスの付け替え: $0.1/IP

パブリック IP の費用は、AWS からの請求ではなく VMC_AWS の請求に含まれることに注意してい下さい。

パブリック IP が割り当てられると、仮想マシンのプライベート IP への NAT を設定することができます。これは単純な手順で、単に Distination NAT を設定するのみです。インターネットからの 52.58.125.207 宛ての全てのトラフィックは、10.10.11.101 宛てのトラフィックに変換されます。

最後に、仮想マシンのプライベート IP へインターネットからのアクセスを許可する単純なファイアウォール ルールを構成します。(ファイアウォール ルールは、パブリック IP ではなくプライベート IP を参照する必要があることに注意してください。インバウンドのファイアウォール ルールが適用される前に NAT が適用されるためです)

これで完了しました。これでインターネット越しに Web 仮想マシンにアクセスできるようになりました。

ハイブリッド クラウドでのインターネット アクセスの設計

VMC_AWS を採用したとしても、多くのお客様はオンプレミスの環境を維持しています。既存のプロキシ、ファイアウォールを流用したいため、トラフィックはオンプレミスのインターネット ファイアウォールを通過させたいケースが多くあります。

このオプションはサポートされます: インターネット トラフィックをオンプレミスの出入り口を通過させることもできますし、VMC_AWS の Internet Gateway を通過させることもできます。それでは様々なオプションを見ていきましょう:

アウトバウンドのインターネット アクセス

これには 2 つのオプションがあります。以前に説明したように、インターネットには簡単にアクセスすることができます。

VMC_AWS 上の仮想マシン(VMC_AWS-VM)の全てのトラフィックは、CGW に直接を通過し、AWS Internet Gateway を通過しインターネットに辿り着きます。青の太線でハイライトされたトラフィック経路になります。今後のブログで Direct Connect 設定の詳細を説明しますが、ここではオンプレミスのルーターと VMC_AWS のゲートウェイが BGP のセッションを持っていることを抑えていて下さい。

もし VMC_AWS-VM からのインターネット向けトラフィックを、オンプレミスのインターネットの出口から通過させたい場合は、オンプレミスの BGP ルートにデフォルトルートであるとアドバタイズさせる必要があります:

Direct Connect のルーターは、0.0.0.0 を BGP によって VMC_AWS にアドバタイズします。VMC_AWS 上の VMC_AWS-VM からの全てのトラフィックはインターネットに抜けるために Direct Connect を通過するようになります。トラフィックはこれまでのインターネット プロキシを通過します。

Direct Connect の代わりに IPSec VPN を用いた場合も、同じ事が適用されます:

L2 延伸されたネットワーク上にある仮想マシンからのアウトバウンドのインターネット アクセス

現在、L2VPN を利用した場合、デフォルトゲートウェイはオンプレミスに残ります。

すなわち、Direct Connect を使ってもインターネット越しの VPN を構成したとしても、L2 延伸されたネットワーク上の仮想マシンからのアウトバウンドのインターネット アクセスはオンプレミスのゲートウェイから出て行くことになります。

インバウンドのインターネット アクセス

もし自身で保有するパブリック IP を利用し、それをインターネットにアドバタイズしている場合は、インターネットからのインバウンド トラフィックはオンプレミスのインターネット ファイアウォールを通過します。インターネット ファイアウォールでは宛先の IP が VMC_AWS-VM のプライベート IPに変換され、Direct Connect あるいは VPN 越しに VMC_AWS-VM に転送されます。

他の選択肢として、既に説明した VMC_AWS の Internet Gateway での単純な NAT を使えば、VMC_AWS 側で NAT されます。

ここまでお読み頂きありがとうございました!