Application Load Balancer を使用して、送信元 IP に基づいてリクエストをルーティングする方法を教えてください。

最終更新日: 2020 年 9 月 23 日

リクエストの送信元 IP アドレスに基づいて、そのリクエストに特有のアクションを実行したいと考えています。これには、特定のユーザーにカスタムレスポンスを送信したり、特定のユーザーのグループに異なるバージョンのアプリケーションを提供したりすることが含まれる場合があります。Application Load Balancer を使用してこれを行うにはどうすればよいですか?

解決方法

一部のユースケースでは、リクエストの送信元 IP アドレスに基づいて、特定のアクションを実行する必要が生じることがあります。たとえば、1 つのアプリケーションに、2 つのバージョンがあるとします。1 つのバージョンは、グローバルユーザー向けのパブリックバージョンです。もう 1 つは、いくつかの拡張 (ベータ) 機能を含む内部バージョンです。企業ネットワークの CIDR からアプリケーションにアクセスする従業員のみが内部バージョンを使用できるようにしたい場合があります。これや他の多くの同様のタスクを実行するには、送信元 IP アドレスに基づいてリスナールールを設定できます。

この設定を開始する前に、送信元 IP に基づくルールにより、IP ヘッダー(レイヤー 3)にある送信元 IP アドレスがチェックされることに、注意してください。クライアントと(送信元 IP を変更している)Application Load Balancer の間に、プロキシまたはファイアウォールが存在する場合は、リスナールールにより、そのファイアウォールかプロキシの IP アドレスを指定します。

また、クライアントからのリクエストをブロックするリスナー規則を使用しないようにします。その代替として、セキュリティグループ、または、ネットワークアクセスコントロールリストを使用するのが、ベストプラクティスです。多数のクライアントをブロックする場合には、AWS WAF を使用できます。

  1. Application Load Balancer を作成します (まだ作成していない場合)。
  2. Amazon Elastic Compute Cloud (Amazon EC2) コンソールを開きます。
  3. ナビゲーションペインにある [Load Balancing] (ロードバランシング) で、[Load Balancers] (ロードバランサー) をクリックします。
  4. ロードバランサーを選択します。
  5. [Listeners] (リスナー) タブを選択します。
  6. リスナーを選択し、[View/edit rules] (ルールの表示/編集) を選択します。
  7. ルールの追加アイコン (プラス記号) を選択し、次に [Insert rule] (ルールの挿入) を選択します。
  8. [Add condition] (条件の追加) を選択してから、[Source IP] (ソース IP) をクリックします。
  9. 別のアクションを設定する予定の IP アドレスを指定します。
    注: 単一の IP アドレスまたはプレフィックス付きのネットワーク CIDR を指定できます。例えば、「1.1.1.1/32」または「10.8.0.0/21」です。
  10. [Add action] (アクションの追加) をクリックしてから、必要なアクションを選択します。例:
    Forward – 別のターゲットグループに転送します。(アプリケーションの内部バージョンを実行しているターゲットグループへの転送など)。
    Return fixed response – 特定のユーザーをブロックしたり、特定のユーザーにカスタムレスポンスを提供したりします。
  11. 条件を保存するには、チェックマークアイコンを選択します。
  12. ルールを保存するには、[Save] (保存) を選択します。

この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?