COLUMN誰でもわかる!お役立ちコラム

AWS活用支援コラム

AWS Gateway Load Balancerをわかりやすく

AWS Gateway Load Balancerとは?

AWS Gateway Load Balancer(GWLB)は、数あるAWSのロードバランサーの中でも比較的新しいサービスであり、AWS上にサードパーティの仮想アプライアンスをデプロイする際に利用することで、構成を簡略化できるサービスです。本記事では、GWLBの概要や構成例について、解説していきます。

AWS Gateway Load Balancerの概要

アプライアンスとは

仮想アプライアンスとアプライアンスは、コンピュータネットワークやIT環境で用いられる用語で、それぞれ特定の機能やサービスを提供するために設計されたシステムやデバイスを指します。家庭用の電化製品(例:冷蔵庫、洗濯機)を思い浮かべるとイメージしやすいかもしれません。これらの製品は、それぞれ特定の目的(食品を冷やす、衣類を洗うなど)のために設計されています。ITの分野におけるアプライアンスも同様で、ネットワークセキュリティ、データストレージ、コンテンツ配信など、特定のIT関連のタスクを効率的に実行するために最適化されたデバイスです。

仮想アプライアンスは、仮想マシンとして動作するアプライアンスと考えてください。メリットとしては、物理的なデバイスに依存せずに、既存のサーバーやクラウド環境上で簡単にデプロイや移動が可能です。

AWSにおいてアプライアンスをデプロイする機会は?

AWSにおいてアプライアンスをデプロイする目的としては、マネージドサービスでは満たせない要件を満たすために、専用の製品をEC2としてデプロイするケースがあげられます。具体的には下記のような要件が考えられます。

高度なセキュリティ要件を満たしたい場合

金融系のシステムや特定個人情報を扱うシステムをAWSで利用する際は、対応が必要な様々なセキュリティ要件があります。それらのセキュリティ要件を満たすために、専用の製品を導入するケースが考えられます。具体的な製品としては、高機能なWAF(Web Application Firewall)や、トラフィックの監視やフィルタリングをおこなうためのログストレージなどが考えられます。

高度なスループットが求められる場合

データ処理と分析など、高度なスループットが求められる場合にアプライアンスを活用する場合があります。AWSのサービスでは、APIの制限(クオータ)などにより、高いスループットに対応していない場合があります。具体的な製品として、データウェアハウスとして機能する製品などが考えられます。

AWS Gateway Load Balancerとは?

AWS Gateway Load Balancerは、AWS内で取り扱われたデータをほかの仮想アプライアンスやサービスに簡単に転送できるサービスです。これにより、ファイアウォール、侵入検知システム(IDS)、侵入防止システム(IPS)など、AWSに導入した仮想アプライアンスに対して簡単にデータを転送できるようになります。

AWS Gateway Load Balancerのメリット

AWS Gateway Load Balancerを導入するメリットとしては、以下のようなものがあります。

アプライアンスのNW構成や冗長構成を単純化することができる

NWなどのパケットなど、アプライアンスで監視したいデータをうまくアプライアンスに転送するためには、ルーティングテーブルをうまく設定する必要があったり、VPNなどを使って別のVPCに転送する、といった必要がありました。前者の場合は、アプライアンス自体をモニタリングし、正系のアプライアンスで障害が発生したら副系に切り替えるためにLambdaなどを実装する必要があるなど、設計においてオーバーヘッドがありました。また、後者の場合もネットワーク構成の複雑化やVPN使用による帯域の制限があり、設計において高い難易度があります。

一方で、GWLBを導入すると、アプライアンス用のVPCを設定し、GWLBエンドポイントを通じてGWLBを経由し、各仮想アプライアンスにデータを転送することができるようになります。これによって、GWLBを通じてアプライアンスに対して負荷分散やヘルスチェックを行うことができるようになるため、冗長構成がとりやすくなります。また、エンドポイントを通じて通信をすることにより、疑似的にアプライアンス用のVPCを切り離すことが可能です。つまり、VPC同士の直接の繋がりが必要なくなり、接続するVPC同士でCIDRが重複しても問題なく接続が可能になります。したがって、従来の構成よりもNWの構成がより柔軟になり、設計の難易度も大幅に下がるようになりました。

パケットをそのまま転送できる

GWLBエンドポイントからGWLBへの通信はGeneve(Generic Network Virtualization Encapsulation)プロトコルを利用します。このプロトコルはデータをカプセル化し、加工せずに転送することが可能です。これにより、送信先IPアドレスや送信元IPアドレスといったセキュリティ製品を利用するうえで非常に重要なデータをそのままアプライアンスに転送することができます。IDS/IPSや、SIEMなどの、ログデータを直接分析する製品を導入するうえでは、データをそのまま転送できることは大きなメリットになります。

AWSネットワークを安心、安全に設計するスタイルズのAWSセキュリティサービスはこちら→

AWS Gateway Load Balancerの構成例

AWS Gateway Load Balancerは基本的に、各AZに設置されたGWLBエンドポイントからGWLBへデータを転送し、GWLBの背後のアプライアンスへデータを転送する、といった構成をとることになります。また、GWLBの前にTransit Gatewayを置くことにより、ハイブリッドクラウド構成においても対応することが可能です。

単純な構成例

まずは、Transit Gatewayを利用しないシンプルなケースです。EC2→インターネットへのトラフィックについて、ミラーリングを行いたい場合は以下のように設定します。

  1. トラフィックを監査したいEC2が存在するVPC内にGWLBエンドポイントを作成します。
  2. GWLBとアプライアンスを配置するVPCを作成します。
  3. EC2のデフォルトルートは、作成したGWLBエンドポイントに向けます。
  4. VPC Ingress Routing(インターネットゲートウェイに紐づけるルートテーブル)をGWLBエンドポイントに向けます。

このように設定することで、EC2からインターネットへ向かうトラフィックは、途中でGWLBエンドポイントを経由してアプライアンスにも転送されるようになります。

複雑な構成例(Transit Gatewayを利用するケース)

続いて、Transit Gatewayを利用する複雑な構成についてみていきます。

  1. ここでは、VPCを3つ作成します。1つ目はEC2を配置するVPC、2つ目はGWLBとGWLBエンドポイントを配置するVPC、3つ目はインターネットGWを配置するVPCです。それぞれをTransit Gateway(以下、TGW)で接続します。
  2. EC2を配置したサブネットのデフォルトルートはTGWを向くようにします。
  3. TGWのIngressルートテーブルを、アプライアンスのVPCに向くようにし、TGWのEgressルートテーブルを、インターネットGWのVPCに向くようにします。
  4. アプライアンスが配置されたVPCには、TGW向けのENIを配置するサブネットと、GWLBエンドポイントを配置するサブネットを用意します。TGW向けのENIを配置するサブネットはデフォルトルートをGWLBエンドポイントに向くようにします。GWLBエンドポイントを配置するサブネットは、デフォルトルートをTGWに向けます。
  5. インターネットGWが存在するVPCには、TGW向けのENIを配置するサブネットと、NATGatewayを配置するサブネットを用意します。NATGatewayが存在するサブネットのデフォルトルートをインターネットGWにします。

このように設定することで、EC2からTGWを経由する際に途中でGWLBエンドポイントを経由してアプライアンスにも転送されるようになります。

AWSネットワークを安心、安全に設計するスタイルズのAWSセキュリティサービスはこちら→

まとめ

AWS Gateway Load Balancer(GWLB)は、様々な要件に対応するためのアプライアンス製品をより導入しやすくするためのAWSサービスです。ログを加工せずそのまま別のVPCに転送できるため、セキュリティやデータ分析のアプライアンス製品を導入するケースにおいては非常に有用です。導入に向けて、既存のNW構成や要件によって様々な設計方針を採用することができます。アプライアンス製品をAWS上にデプロイする際には、専門の知識を持ったベンダーに相談してみるといいでしょう。