スキップしてコンテンツを表示

AWS WAF を使用して Application Load Balancer への直接トラフィックを制限し、API Gateway 経由のトラフィックを許可する方法を教えてください。

所要時間2分
0

AWS WAF を使用して、Application Load Balancer への直接アクセスを制限したいと考えています。また、AWS WAF を使用して、Amazon API Gateway 経由の直接アクセスのみを許可したいと考えています。

解決方法

AWS WAF を使用して Application Load Balancer への直接トラフィックを制限し、API Gateway 経由のトラフィックのみを許可するには、以下の手順に従います。

カスタム HTTP ヘッダーを追加する

Application Load Balancer に送信するリクエストにシークレット値を含むカスタム HTTP ヘッダーを追加するように API Gateway を設定します。

次の手順を実行します。

  1. API Gateway コンソールを開きます。
  2. ナビゲーションペインで [API] を選択します。
  3. 目的の REST API を選択します。
  4. **[リソース]**で HTTP メソッドを選択します (例: GET)。
  5. **[統合リクエスト]タブを選択し、[編集]**を選択します。
  6. **[URL リクエストヘッダーパラメータ]セクションを展開し、[リクエストヘッダーパラメータを追加]**を選択します。
    [名前] にサブドメインの名前を入力します (例: custom-header)。
    [マッピング元] にシークレットヘッダー値を入力します。
    注: シークレットヘッダー値は、一重引用符で囲む必要があります (例: 'secret-value')。
  7. [保存] を選択します。

保護パックとルールを作成する

Application Load Balancer に関連付けられた、空の AWS WAF 保護パックを作成します。次に、シークレット値を含むカスタム HTTP ヘッダーを持たないリクエストをブロックするルールを作成します。

注: Application Load Balancer に既存の保護パックが関連付けられている場合は、「ルールの作成」に進んでください。

保護パックを作成する

次の手順を実行します。

  1. AWS WAF コンソールを開きます。
  2. ナビゲーションペインで [AWS WAF] を選択します。
  3. [リソースと保護パック] を選択します。
  4. [保護パック][保護パックの作成] を選択します。
  5. [アプリについて教えてください][アプリカテゴリ] を 1 つ以上選択します。
  6. [アプリフォーカス] を選択します。
  7. [保護するリソースを選択][リソースの追加] を選択します。
  8. [リージョナルリソースの追加] において、リストから目的の Application Load Balancer を選択します。
  9. [保護パックを選択] において、[AWS WAF が提供するすべての保護機能から独自パックを作成] を選択します。右側のペインは無視してください。
  10. [名前と説明] に保護パックの名前を入力します。
  11. [保護パックを作成] を選択します。

ルールを作成する

次の手順を実行します。

  1. AWS WAF コンソールを開きます。
  2. ナビゲーションペインで [AWS WAF] を選択します。
  3. [リソースと保護パック] を選択します。
  4. [保護パック] で関連する保護パックを選択し、[ルール] の横にある [表示して編集] を選択すると、右側のペインが開きます。
  5. 右側のペインで [ルールを追加] を選択します。
    [カスタムルール] を選択し、[次へ] を選択します。
    再度 [カスタムルール] を選択し、[次へ] を選択します。
  6. ルールを設定するには、次の値を指定します。
    [アクション][ブロック] を選択します。
    [ルール名]ルール名を入力します。
    [リクエストが以下の場合][ステートメントと一致しない (NOT)] を選択します。
    [検査]には[単一ヘッダー]を選択します。
    [ヘッダーフィールド名] にカスタム
    ヘッダー名
    を入力します (例: custom-header)。
    **[マッチタイプ]には[完全に一致する文字列]**を選択します。
    [一致する文字列] にシークレットヘッダー値を入力します。
    注: シークレットヘッダー値は、一重引用符で囲む必要があります (例: 'secret-value')。
  7. [ルールを作成] を選択します。
  8. 保護パックに複数のルールがある場合は、右側のペインで [ルール順序の編集] を選択します。
    直近に作成したルールを一番上に配置し、優先順位を最上位に変更します。
  9. [ルール順序を保存] を選択します。

関連情報

API Gateway REST API を Application Load Balancer と統合する方法を教えてください。

AWS公式更新しました 7ヶ月前
コメントはありません

関連するコンテンツ