すべてのプロダクト
Search
ドキュメントセンター

API Gateway:WAF 連携

最終更新日:Jul 01, 2026

このトピックでは、Web Application Firewall (WAF) を設定して、API Gateway で公開されている API のセキュリティを強化する方法について説明します。

概要

API Gateway は、認証、改ざん防止、アンチリプレイ、パラメータ検証、エンドツーエンド署名、スロットリングなどの主要なセキュリティ機能を提供します。しかし、OWASP Top 10 やブルートフォース攻撃など、高度なアプリケーションレイヤー攻撃から防御するために、WAF と連携することで侵入やデータ侵害を防ぎ、ビジネスをより効果的に保護できます。

前提条件

  • WAF を有効化していること。

  • API Gateway で API を公開していること。

操作手順

  1. API グループにカスタムドメイン名をバインドします。詳細については、「カスタムドメイン名を使用して API を呼び出す」をご参照ください。

    API Gateway コンソールの [カスタムドメイン名] 管理ページで、右上の [ドメイン名のバインド] をクリックしてカスタムドメイン名を追加します。バインドされたドメイン名のテーブルには、次の列が含まれます。

    • カスタムドメイン名:カスタムドメイン名。

    • ネットワークタイプ:例:内部ネットワーク。

    • WebSocket チャネルステータス:チャネルが有効になっていない場合、[有効化] リンクをクリックして有効にします。

    • 有効性のステータス:例:正常。

    • 環境:例:デフォルト。

    • SSL 証明書:証明書の有効期限を表示します。[証明書の更新] をクリックして更新できます。

    • HTTP から HTTPS への自動リダイレクト:有効になっていない場合、[有効化] リンクをクリックして有効にします。

    • 操作[ドメイン名の削除][環境の変更][証明書の削除] などが含まれます。

    重要

    後ほど WAF を設定するため、ドメインの検証には TXT レコードを使用してください。

  2. WAF コンソールに移動し、ドメイン名を追加します。

    WAF 2.0

    1. 左側のナビゲーションペインで、[管理] > [ウェブサイト設定] を選択し、[サイトの追加] をクリックします。[ウェブサイトの追加] ページで、次のパラメータを設定します。

      • ドメイン名:手順 1 で API Gateway グループにバインドしたドメイン名と一致する必要があります。

      • プロトコルタイプ:API Gateway で公開された API のプロトコルタイプと一致する必要があります。

      • オリジンサーバーアドレス:[他のアドレス] を選択し、API Gateway グループに割り当てられたパブリックサブドメインを入力します。

      WAF の [ウェブサイト情報の追加] ページで、次のパラメータを設定します。

      • ドメイン:保護するドメイン名を入力します。これは、手順1のカスタムドメイン名と同一である必要があります。

      • プロトコルタイプ[HTTP] を選択します。プロトコルは、API Gateway で公開されている API のプロトコルと一致する必要があります。

      • オリジンサーバーアドレス[他のアドレス] を選択し、API グループのパブリックサブドメインを入力します。

      • サーバポート:HTTP のデフォルトポートは [80] です。

      • WAF の前にレイヤ7プロキシ (Anti-DDoS や CDN など) はありますか?[いいえ] を選択します。

      • ロードバランシングアルゴリズム[IP ハッシュ] を選択します。

      • リソースグループ[デフォルトのリソースグループ] を選択します。

    2. [次へ] をクリックし、画面の指示に従ってウェブサイトを追加します。ウェブサイトが追加されたら、ドメイン名が WAF の CNAME アドレスを指すように CNAME レコードを追加します。これにより、トラフィックが WAF を経由してルーティングされます。

      CNAME アドレスを確認するには、WAF コンソールにログインします。左側のナビゲーションペインで、[ウェブサイトアクセス] を選択します。[ドメインリスト] タブで、対象のドメイン名を見つけて展開し、その [CNAME] アドレスを表示します。

    WAF 3.0

    1. 左側のナビゲーションバーで、アクセス管理を選択します。[CNAME アクセス] タブで、[追加] をクリックします。プロセスを完了するには、「CNAME アクセスを使用してウェブサイトの WAF 保護を有効にする」をご参照ください。

      • リスナーの設定 手順で、次のパラメータを設定します。

        • ドメイン名:手順 1 で API Gateway グループにバインドしたドメイン名と同一である必要があります。

        • プロトコルタイプ:API Gateway で公開された API のプロトコルタイプと一致する必要があります。

      • 転送ルールの設定 手順で、次のパラメータを設定します。

        • オリジンドメイン名:API グループのパブリックサブドメインを入力します。

      [ドメイン名] ページで、[リスナーの設定] (手順 1) を完了するには、次のパラメータを設定する必要があります。

      • ドメイン名:保護するウェブサイトのドメイン名を入力します。

      • プロトコルタイプ[HTTP] または [HTTPS] を選択します。少なくとも 1 つを選択する必要があります。HTTPS の場合、[SMベースのHTTPS] を有効にできます。

      • WAF の前にレイヤ7プロキシ (Anti-DDoS や CDN など) がデプロイされていますか?[はい] または [いいえ] を選択します。

      • 詳細設定[IPv6][専用 IP] を有効にできます。

      • 保護リソース[共有クラスター] または [インテリジェントロードバランシング共有クラスター] を選択します。

      • リソースグループ:ドロップダウンリストからリソースグループを選択します。

  3. これらの手順を完了したら、API Gateway コンソールでパブリックサブドメイン経由のアクセスを無効にします。これにより、ユーザーが WAF をバイパスして API に直接アクセスすることを防ぎます。アクセスを無効にすると、パブリックサブドメインへの直接リクエストは失敗しますが、WAF で保護されたカスタムドメイン名を経由するリクエストは影響を受けません。

    API Gateway コンソールの API グループの基本情報ページで、Subdomain セクションを見つけます。このセクションには、パブリックサブドメイン (テスト専用、1 日あたり 1,000 リクエストの制限あり。カスタムドメイン名のバインドを推奨します)、自己呼び出しサブドメイン、および内部 VPC サブドメインが一覧表示されます。サブドメインリストの横にある [パブリックサブドメインアクセスの無効化] をクリックします。