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

最終更新日: 2020 年 4 月 28 日

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

解決方法

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

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

また、リスナールールは、クライアントからのリクエストのブロックには推奨されません。クライアント要求をブロックするには、セキュリティグループまたはネットワークアクセスコントロールリストを使用できます。多数のクライアントをブロックするには、AWS WAF を使用できます。

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

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

改善できることはありますか?


さらにサポートが必要な場合