Amazon Web Services ブログ

IP アドレスから AWS とオンプレミスリソースを介したアプリケーションの新しい負荷分散

去年、新しい AWS Application Load Balancer について紹介した時に、それを使用して Layer 7 (アプリケーション) ルーティングを EC2 インスタンス、そしてコンテナで実行しているマイクロサービスに実装する方法も説明しました。

長期に渡る AWS への移行の一部として、ハイブリッドアプリケーションを構築しているお客様もいらっしゃいます。こうしたお客様からは、単一の Application Load Balancer を使用して既存のオンプレミスリソースと AWS クラウドで実行している新しいリソースの両方でトラフィックを分散させたいという声が寄せられています。また、別のお客様からは、2 つ以上の Virtual Private Clouds (VPC) に渡るウェブやデータベースサーバーにトラフィックを分散させたり、特定のポート番号を使用しながら特定の IP アドレスと同じインスタンスで複数のサービスをホストしたり、Server Name Indication (SNI) をサポートしないクライアントに IP ベースの仮想ホスティングを提供したいという声も寄せられています。さらに別のお客様からは、きめ細かなアクセス制御を実装するために複数のインターフェイスとセキュリティグループを使用しながら、同じインスタンス (場合によってはコンテナ内) でサービスの複数のインスタンスをホストしたいというリクエストも頂いています。

これらはハイブリッド、移行、災害復旧、オンプレミスのユースケースやシナリオといった幅広い状況で発生します。

IP アドレスへのルート
こうしたユースケースに対処するため、Application Load Balancer が直接 IP アドレスにトラフィックをルートできるようになりました。こうしたアドレスは ALB と同じ VPC、同じリージョンにあるピア VPC、ClassicLink を経由した VPC とリンクしている EC2 インスタンス、VPN 接続の反対側にあるオンプレミスリソース、または AWS Direct Connect 接続にある場合があります。

Application Load Balancer はすでにターゲットグループにターゲットをグループ化しています。今回のリリースの一部として、各ターゲットグループにターゲットタイプの属性が追加されました。

インスタンス – 以前と同様にターゲットは EC2 インスタンス ID を経由して登録されています。

ip – ターゲットは IP アドレスとして登録されています。ロードバランサーの VPC 内にあるターゲットのロードバランサーの VPC CIDR からの IPv4 アドレス、RFC 1918 範囲 (10.0.0.0/8, 172.16.0.0/12 と 192.168.0.0/16) からの IPv4 アドレス、ロードバランサーの VPC 外 (ピア VPC、EC2-Classic、Direct Connect または VPN で到達できるオンプレミスターゲットを含む) にあるターゲットの RFC 6598 範囲 (100.64.0.0/10) を使用できます。

各ターゲットグループにはロードバランサーとヘルスチェックの設定があり、従来と同様に CloudWatch にメトリクスを発行します。

AWS にアプリケーションを移行中の場合や AWS を使用して EC2 インスタンスでオンプレミスリソースを拡張したい場合、AWS とオンプレミスリソースの両方に渡りアプリケーショントラフィックを分散させる必要があります。そうするには、すべてのリソース (AWS とオンプレミス) を同じターゲットグループで登録し、ターゲットグループをロードバランサーと関連付けます。また、DNS ベースの加重ロードバランスを AWS とオンプレミスリソースで使用することもできます。この場合、AWS とオンプレミスリソースにそれぞれロードバランサーを 1 つずつあてがうといったように、2 つのロードバランサーを使います。アプリケーション A のバックエンドが VPC にあり、アプリケーション B のバックエンドがオンプレミスにある場合、別のターゲットグループで各アプリケーションにバックエンドを配置し、コンテンツベースのルーティングを使用して各ターゲットグループにトラフィックをルートすることができます。

ターゲットグループを作成する
Application Load Balancer を作成する時のプロセスの一部として、いくつかの IP アドレスへのトラフィックを送信するターゲットグループを作成する方法は次の通りです。名前を入力 (ip-target-1) しターゲットタイプに [ip] を選択します。

IP アドレスのターゲットを入力します。ロードバランサーをホストする VPC からのものを使用できます。

またロードバランサーをホストする VPC 外のターゲットには、上記のプライベート範囲の 1 つにあるプライベート IP アドレスを使うこともできます。

設定を確認しロードバランサーを作成するとヘルスチェックが終了次第、指定された IP アドレスにトラフィックが送信されます。各ロードバランサーは 1000 件までのターゲットに対応できます。

自分のターゲットグループを調べ、いつでも一連のターゲットを編集することができます。

ご覧のように、このスクリーンショットを撮った時はターゲットの 1 つのヘルス状態が悪かったことが分かります (意図的です)。各ターゲットグループのメトリクスが CloudWatch に発行されます。これがコンソールで表示され、CloudWatch アラームを作成することができます。

提供開始
この機能はすべての AWS リージョンで今すぐご利用いただけます。

Jeff;