Application Load Balancer を使用して、リクエストの送信元 IP アドレスに基づいてリクエストに対する特定のアクションを実行したいと考えています。
解決策
いくつかのユースケースでは、リクエストの送信元 IP アドレスに基づいて特定のアクションを実行することになります。例えば、あるアプリケーションに 2 つのバージョンがあるとします。1 つのバージョンは、グローバルユーザー向けのパブリックバージョンです。もう 1 つは、いくつかの拡張 (ベータ) 機能を含む内部バージョンです。内部バージョンは、企業ネットワーク CIDR からアプリケーションにアクセスする従業員のみが使用できるようにする必要があります。このタスクや他の同様のタスクを実行するには、送信元 IP アドレスに基づいてリスナールールを設定します。
送信元 IP アドレスに基づくルールは、IP ヘッダー (レイヤー 3) の送信元 IP アドレスを確認します。送信元 IP アドレスを変更するプロキシまたはファイアウォールがある場合は、リスナールールでプロキシまたはファイアウォールの IP アドレスを指定します。
注: リスナールールを使用してクライアントからのリクエストをブロックしないでください。その代わりに、セキュリティグループまたはネットワークアクセスコントロールリストを使用するのがベストプラクティスです。多数のクライアントをブロックする場合は、AWS WAF を使用できます。
1. Application Load Balancer を作成します。または、既に作成した Application Load Balancer を使用します。
2. Amazon Elastic Compute Cloud (Amazon EC2) コンソールを開きます。
3. ナビゲーションペインの [ロードバランシング] で、[ロードバランサー] を選択します。
4. ロードバランサーを選択します。
5. [リスナー] タブを選択します。
6. リスナーを選択し、[アクション] を選択します。次に、[ルールを管理] を選択します。
7. [ルールを追加] アイコン (プラス記号) を選択し、[ルールの挿入] を選択します。
8. [条件を追加] を選択してから、[送信元 IP] を選択します。
9. 別のアクションを設定する予定の IP アドレスを指定します。
注: 単一の IP アドレスまたはネットワーク CIDR のいずれかをプレフィックス付きで指定できます。例えば、1.1.1.1/32 または 10.8.0.0/21 のように指定します。
10. [アクションを追加] を選択し、必要なアクションを選択します。以下のアクションの例を参照してください。
転送: これは、アプリケーションの内部バージョンを実行するターゲットグループなど、別のターゲットグループにリクエストを転送します。
固定レスポンスを返す: 特定のユーザーをブロックしたり、特定のユーザーにカスタムレスポンスを提供したりします。
12. 条件を保存するには、チェックマークのアイコンを選択します。
13. ルールを保存するには、**[保存]**を選択します。
関連情報
Listener rules for your Application Load Balancer