こんにちは、SCSK 池田です。
すっかり桜も散り、新緑がまぶしい季節となりましたが、皆さまいかがお過ごしでしょうか?
ブログの更新が少しあいてしまいましたが、心機一転がんばっていきます!
さて、「第4回 【LifeKeeper】AWSでは仮想IPアドレスが使えない!?をこうして解決する!!」では、同一VPCからの接続方式について、ルートテーブルシナリオをお伝えしましたが、読者のかたから「AWSの外から接続する場合はどうするのですか?」とご質問をいただきました。
第8回目の今回は、AWSの外(例えばオンプレミスのデータセンターなど)から、AWS内のHAクラスターシステムにアクセスする場合の仕組みについて解説します。
◆おさらい◆ ルートテーブルシナリオとは
ルートテーブルを使用した接続方式
AWSでは仮想IPアドレスの機能が提供されていません。その為、LifeKeeperを構成するサーバが存在するVPCのCIDR外に「ダミーの仮想IPアドレス」を用意し、その「ダミーの仮想IPアドレス」と「稼働系サーバのENI」をルートテーブルで紐づけることによって、稼働系サーバにアクセスできるようになります。
イメージ図は以下の様になります。
(2)ルートテーブルには予め「ダミーの仮想IPアドレス」のTargetとして稼働系サーバのENI(図では10.0.2.4)を
指定しておくことによって、クライアントからの通信が稼働系サーバに送信されます。
(3)障害が発生しフェイルオーバ処理が必要となった際には、LifeKeeperの機能(AWS CLIによる自動実行)により、
ルートテーブルの「ダミーの仮想IPアドレス」のTargetが待機系サーバのENI(図では10.0.4.4)に書き換えられます。
AWS外からの接続にどう対応する!?
さてここからが本題となります。
AWS外から接続する場合は、Transit Gatewayを経由させることで可能となります。
Transit Gatewayとは
少し話はそれますが、Transit Gatewayについても簡単にご説明します。
Transit Gatewayとは、AWS公式サイトでは「VPC とオンプレミスネットワークを中央ハブで接続します」とあります。
Transit Gatewayを使用しない場合は、このように蜘蛛の巣上にサイトごとを接続する必要がある為、管理が煩雑となります。
◆Transit Gatewayを使わない場合
これをTransit Gatewayを使用すると、こんなにスマートに!
◆Transit Gatewayを使った場合
Transit Gatewayを中央ハブとして
シンプルな構成になんですね
さて、Transit Gatewayが便利そうだなと、なんとなくご理解いただいた上で、いよいよAWS外からの接続をどうやって実現しているのかに進みます。
AWS外からの接続にはTransit Gatewayのルートテーブル使う
AWS外(今回の例ではデータセンター)から接続するケースでみていきましょう。
構成イメージは以下の通りです。
データセンター内にあるコンピュータ(サーバやクライアントなど)から接続する場合の流れを順を追って解説します。
(2)Transit Gatewayのルートテーブルには、予め接続先(10.1.0.10)に対するTargetとして、接続先のHAクラスターが存在するVPCのセグメントが設定してあります。その為、通信は対象VPCに向けられます。
(3)対象VPCのルートテーブルには、予め接続先(10.1.0.10)に対するTargetとして、稼働系サーバのENIが設定してあるので、通信は稼働系サーバに到達します。
まとめ
今回は、AWS外からAWS内のクラスタ化したシステムへアクセスする方法について解説しました。基幹システムのパブリッククラウドへのシフト/リフトが急速に進む中で、オンプレミスとAWSの相互接続の要件は以前に増しています。また最近では、パブリッククラウド同士をネットワーク接続する、マルチクラウド構成の利用も活発化しています。そのような場面で、今回解説した接続構成が活用できるのではないかと思います。
まとめますと
・Transit Gatewayのルートテーブルを利用する
・さらにVPCのルートテーブルも利用することで稼働系サーバに通信可能となる