

AWS App Runner は、2026 年 4 月 30 日以降、新規のお客様に公開されなくなります。App Runner を使用する場合は、その日付より前にサインアップします。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「[AWS App Runner  可用性の変更](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html)」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS WAF ウェブ ACLs の管理
<a name="waf-manage"></a>

次のいずれかの方法を使用して、App Runner サービスの AWS WAF ウェブ ACLs を管理します。
+ [App Runner コンソール](#waf-manage.console)
+ [AWS CLI](#waf-manage.api)

## App Runner コンソール
<a name="waf-manage.console"></a>

App Runner コンソールでサービス[を作成したり、既存のサービス](manage-create.md)[を更新](manage-configure.md)したりすると、 AWS WAF ウェブ ACL の関連付けまたは関連付け解除ができます。

**注記**  
App Runner サービスは、1 つのウェブ ACL にのみ関連付けることができます。ただし、他の AWS リソースに加えて、1 つのウェブ ACL を複数の App Runner サービスに関連付けることができます。
ウェブ ACL を関連付ける前に、必ず IAM アクセス許可を更新してください AWS WAF。詳細については、「[ アクセス許可](waf.md#waf.permissions)」を参照してください。

### AWS WAF ウェブ ACL の関連付け
<a name="waf-manage.console.add"></a>

**重要**  
WAF ウェブ ACLsルールは、*IP ベースのルールに準拠していません*。これは、現在、リクエストソース IP データの WAF に関連付けられた App Runner プライベートサービスへの転送をサポートしていないためです。App Runner アプリケーションにソース IP/CIDR 受信トラフィックコントロールルールが必要な場合は、WAF ウェブ ACLs の代わりに[プライベートエンドポイントのセキュリティグループルール](network-pl-manage.md)を使用する必要があります。

**AWS WAF ウェブ ACL を関連付けるには**

1. [App Runner コンソール](https://console.aws.amazon.com/apprunner)を開き、**リージョン**リストで を選択します AWS リージョン。

1. サービスを作成または更新するかどうかに基づいて、次のいずれかのステップを実行します。
   + 新しいサービスを作成する場合は、**App Runner サービスの作成**を選択し、**サービスの設定**に移動します。
   + 既存のサービスを更新する場合は、**設定**タブを選択し、**サービスの設定**で**編集**を選択します。

1. **セキュリティ**で**ウェブアプリケーションファイアウォール**に移動します。

1. トグル**を有効にする**ボタンを選択すると、オプションが表示されます。  
![\[ウェブアプリケーションファイアウォールのオプションを示す App Runner コンソールレイアウト。\]](http://docs.aws.amazon.com/ja_jp/apprunner/latest/dg/images/console-waf.png)

1. 次のいずれかのステップを実行します。
   + **既存のウェブ ACL を関連付けるには**: App Runner サービスに関連付けるウェブ ACL **の選択テーブルから必要なウェブ ACL** を選択します。
   + **新しいウェブ ACL を作成するには**: AWS WAF **コンソールを使用して新しいウェブ ACL** を作成するには、ウェブ ACL の作成を選択します。詳細については、[「 デベロッパーガイド」の「ウェブ ACL](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-creating.html) の作成」を参照してください。 *AWS WAF *

     1. 更新ボタンを選択すると、新しく作成されたウェブ ACL が**ウェブ ACL の選択**テーブルに表示されます。

     1. 必要なウェブ ACL を選択します。

1. 新しいサービスを作成する場合は**次へ**、既存のサービスを更新する場合は**変更を保存する**を選択します。選択したウェブ ACL は App Runner サービスに関連付けられています。

1. ウェブ ACL の関連付けを確認するには、サービス**の設定**タブを選択し、**サービスの設定**に移動します。**Security **の下にある**ウェブアプリケーションファイアウォール**にスクロールして、サービスに関連付けられたウェブ ACL の詳細を表示します。
**注記**  
ウェブ ACL を作成すると、ウェブ ACL が完全に伝播され、App Runner で使用できるようになるまでに少し時間がかかります。伝達時間は数秒から数分までです。ウェブ ACL が完全に伝達される前に関連付けようと`WAFUnavailableEntityException`すると、 は AWS WAF を返します。  
ウェブ ACL が完全に伝播される前にブラウザを更新したり、App Runner コンソールから移動したりすると、関連付けは失敗します。ただし、App Runner コンソール内を移動することはできます。

### AWS WAF ウェブ ACL の関連付けを解除する
<a name="waf-manage.console.disassociate"></a>

App Runner サービス[を更新](manage-configure.md)することで、不要になった AWS WAF ウェブ ACl の関連付けを解除できます。

**AWS WAF ウェブ ACl の関連付けを解除するには**

1. [App Runner コンソール](https://console.aws.amazon.com/apprunner)を開き、**リージョン**リストで を選択します AWS リージョン。

1. 更新するサービス**の設定**タブに移動し、**サービスの設定**で**編集**を選択します。

1. **セキュリティ**で**ウェブアプリケーションファイアウォール**に移動します。

1. トグルの**有効化**ボタンを無効にします。削除を確認するメッセージが表示されます。

1. **[確認]** を選択してください。ウェブ ACL は App Runner サービスとの関連付けが解除されます。
**注記**  
サービスを別のウェブ ACL に関連付ける場合は、ウェブ ACL の選択 テーブルから**ウェブ ACL** を選択します。App Runner は、現在のウェブ ACL の関連付けを解除し、選択したウェブ ACL に関連付けるプロセスを開始します。
関連付け解除されたウェブ ACL を使用する App Runner サービスまたはリソースが他にない場合は、ウェブ ACL の削除を検討してください。それ以外の場合は、引き続きコストが発生します。料金の詳細については、「[AWS WAF 料金](https://aws.amazon.com/waf/pricing)」を参照してください。ウェブ ACL を削除する方法については、 *AWS WAF API リファレンス*の[DeleteWebACL](https://docs.aws.amazon.com/waf/latest/APIReference/API_DeleteWebACL.html)」を参照してください。
他のアクティブな App Runner サービスや他のリソースに関連付けられているウェブ ACL は削除できません。

## AWS CLI
<a name="waf-manage.api"></a>

 AWS WAF パブリック APIs を使用して、 AWS WAF ウェブ ACL の関連付けまたは関連付け解除を行うことができます。ウェブ ACL の関連付けまたは関連付け解除を行う App Runner サービスは、有効な状態である必要があります。

AWS WAF は、無効な状態の App Runner サービスに対して次のいずれか AWS WAF APIs を呼び出すと、`WAFNonexistentItemException`エラーを返します。
+  `AssociateWebACL` 
+  `DisassociateWebACL` 
+  `GetWebACLForResource` 

App Runner サービスの無効な状態は次のとおりです。
+  `CREATE_FAILED` 
+  `DELETE_FAILED` 
+  `DELETED` 
+  `OPERATION_IN_PROGRESS ` 
**注記**  
`OPERATION_IN_PROGRESS` 状態は、App Runner サービスが削除されている場合にのみ無効になります。

 AWS WAF パブリック APIs[https://docs.aws.amazon.com/waf/latest/APIReference/Welcome.html](https://docs.aws.amazon.com/waf/latest/APIReference/Welcome.html)」を参照してください。

**注記**  
の IAM アクセス許可を更新します AWS WAF。詳細については、「[ アクセス許可](waf.md#waf.permissions)」を参照してください。

### を使用した AWS WAF ウェブ ACL の関連付け AWS CLI
<a name="waf-manage.api.add"></a>

**重要**  
WAF ウェブ ACLsルールは、*IP ベースのルールに準拠していません*。これは、現在、リクエストソース IP データの WAF に関連付けられた App Runner プライベートサービスへの転送をサポートしていないためです。App Runner アプリケーションにソース IP/CIDR 受信トラフィックコントロールルールが必要な場合は、WAF ウェブ ACLs の代わりに[プライベートエンドポイントのセキュリティグループルール](network-pl-manage.md)を使用する必要があります。

**AWS WAF ウェブ ACL を関連付けるには**

1. への優先ルールアクションのセット`Allow`またはサービスへの AWS WAF ウェブリクエストを使用して、サービスの `Block` ウェブ ACL を作成します。 AWS WAF APIs「 API *AWS WAF リファレンスガイド*」の「[CreateWebACL](https://docs.aws.amazon.com/waf/latest/APIReference/API_CreateWebACL.html)」を参照してください。  
**Example ウェブ ACL の作成 - リクエスト**  

   ```
   aws wafv2
   create-web-acl
   --region <region>
   --name <web-acl-name>
   --scope REGIONAL
   --default-action Allow={}
   --visibility-config <file-name.json>
   # This is the file containing the WAF web ACL rules.
   ```

1. `associate-web-acl` AWS WAF パブリック API を使用して、作成したウェブ ACL を App Runner サービスに関連付けます。 AWS WAF APIs「 API *AWS WAF リファレンスガイド*」の[AssociateWebACL](https://docs.aws.amazon.com/waf/latest/APIReference/API_AssociateWebACL.html)」を参照してください。
**注記**  
ウェブ ACL を作成すると、ウェブ ACL が完全に伝播され、App Runner で使用できるようになるまでに少し時間がかかります。伝達時間は数秒から数分までです。ウェブ ACL が完全に伝達される前に関連付けようと`WAFUnavailableEntityException`すると、 は AWS WAF を返します。  
ウェブ ACL が完全に伝播される前にブラウザを更新したり、App Runner コンソールから移動したりすると、関連付けは失敗します。ただし、App Runner コンソール内を移動することはできます。  
**Example ウェブ ACL の関連付け - リクエスト**  

   ```
   aws wafv2 associate-web-acl
   --resource-arn <apprunner_service_arn>
   --web-acl-arn <web_acl_arn>
   --region <region>
   ```

1. `get-web-acl-for-resource` AWS WAF パブリック API を使用して、ウェブ ACL が App Runner サービスに関連付けられていることを確認します。 AWS WAF APIs*AWS WAF 「 API リファレンスガイド*」の[GetWebACLForResource](https://docs.aws.amazon.com/waf/latest/APIReference/API_GetWebACLForResource.html)」を参照してください。  
**Example リソースのウェブ ACL の検証 - リクエスト**  

   ```
   aws wafv2 get-web-acl-for-resource
   --resource-arn <apprunner_service_arn>
   --region <region>
   ```

   サービスに関連付けられたウェブ ACLs がない場合は、空白のレスポンスが表示されます。

### を使用した AWS WAF ウェブ ACL の削除 AWS CLI
<a name="waf-manage.api.disassociate"></a>

App Runner サービスに関連付けられているウェブ AWS WAF ACL は削除できません。

**AWS WAF ウェブ ACL を削除するには**

1. `disassociate-web-acl` AWS WAF パブリック API を使用して、ウェブ ACL と App Runner サービスの関連付けを解除します。 AWS WAF APIs「 API *AWS WAF リファレンスガイド*」の[DisassociateWebACL](https://docs.aws.amazon.com/waf/latest/APIReference/API_DisassociateWebACL.html)」を参照してください。  
**Example ウェブ ACL の関連付け解除 - リクエスト**  

   ```
   aws wafv2 disassociate-web-acl
   --resource-arn <apprunner_service_arn>
   --region <region>
   ```

1. `get-web-acl-for-resource` AWS WAF パブリック API を使用して、ウェブ ACL と App Runner サービスの関連付けが解除されていることを確認します。  
**Example ウェブ ACL の関連付けが解除されていることを確認する - リクエスト**  

   ```
   aws wafv2 get-web-acl-for-resource
   --resource-arn <apprunner_service_arn>
   --region <region>
   ```

   App Runner サービスに対して関連付けが解除されたウェブ ACL は表示されません。サービスに関連付けられたウェブ ACLs がない場合は、空白のレスポンスが表示されます。

1. `delete-web-acl` AWS WAF パブリック API を使用して、関連付けを解除したウェブ ACL を削除します。 AWS WAF APIs「 API *AWS WAF リファレンスガイド*」の[DeleteWebACL](https://docs.aws.amazon.com/waf/latest/APIReference/API_DeleteWebACL.html)」を参照してください。  
**Example ウェブ ACL の削除 - リクエスト**  

   ```
   aws wafv2 delete-web-acl
   --name <web_acl_name>
   --scope REGIONAL
   --id <web_acl_id>
   --lock-token <web_acl_lock_token>
   --region <region>
   ```

1. `list-web-acl` AWS WAF パブリック API を使用してウェブ ACL が削除されていることを確認します。 AWS WAF APIs*AWS WAF 「 API リファレンスガイド*」の[ListWebACLs](https://docs.aws.amazon.com/waf/latest/APIReference/API_ListWebACLs.html)」を参照してください。  
**Example ウェブ ACL が削除されたことを確認する - リクエスト**  

   ```
   aws wafv2 list-web-acls 
   --scope REGIONAL
   --region <region>
   ```

   削除されたウェブ ACL は表示されなくなります。
**注記**  
ウェブ ACL が他のアクティブな App Runner サービスまたは Amazon Cognito ユーザープールなどの他のリソースに関連付けられている場合、ウェブ ACL は削除できません。

### ウェブ ACL に関連付けられている App Runner サービスの一覧表示
<a name="waf-manage.api.list"></a>

ウェブ ACL は、複数の App Runner サービスやその他のリソースに関連付けることができます。`list-resources-for-web-acl` AWS WAF パブリック API を使用して、ウェブ ACL に関連付けられた App Runner サービスを一覧表示します。 AWS WAF APIs*AWS WAF 「 API リファレンスガイド*」の[ListResourcesForWebACL](https://docs.aws.amazon.com/waf/latest/APIReference/API_ListResourcesForWebACL.html)」を参照してください。

**Example ウェブ ACL に関連付けられた App Runner サービスを一覧表示する - リクエスト**  

```
aws wafv2 list-resources-for-web-acl
--web-acl-arn <WEB_ACL_ARN>
--resource-type APP_RUNNER_SERVICE
--region <REGION>
```

**Example ウェブ ACL に関連付けられた App Runner サービスを一覧表示する - レスポンス**  
次の例は、ウェブ ACL に関連付けられている App Runner サービスがない場合のレスポンスを示しています。  

```
{
  "ResourceArns": []
}
```

**Example ウェブ ACL に関連付けられた App Runner サービスを一覧表示する - レスポンス**  
次の例は、ウェブ ACL に関連付けられている App Runner サービスがある場合のレスポンスを示しています。  

```
{
  "ResourceArns": [
    "arn:aws:apprunner:<region>:<aws_account_id>:service/<service_name>/<service_id>"
  ]
}
```

## AWS WAF ウェブ ACLsテストとログ記録
<a name="waf-manage.testing-and-logging"></a>

ウェブ ACL でルールアクションを**カウント**に設定すると、 はルールに一致するリクエストの数にリクエスト AWS WAF を追加します。App Runner サービスでウェブ ACL をテストするには、ルールアクションを**カウント**に設定し、各ルールに一致するリクエストの量を考慮します。例えば、通常のユーザートラフィックであると判断した多数のリクエストに一致する`Block`アクションのルールを設定します。その場合は、ルールの再設定が必要になる場合があります。詳細については、「 *AWS WAF デベロッパーガイド*」の[AWS WAF 「 保護のテストとチューニング](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-testing.html)」を参照してください。

リクエストヘッダーを Amazon CloudWatch Logs ロググループ、Amazon Simple Storage Service (Amazon S3) バケット、または Amazon Data Firehose に記録する AWS WAF ように を設定することもできます。詳細については、AWS WAF デベロッパーガイドの「[ウェブ ACL トラフィックのログ記録](https://docs.aws.amazon.com/waf/latest/developerguide/logging.html)」を参照してください。

App Runner サービスに関連付けられているウェブ ACL に関連するログにアクセスするには、次のログフィールドを参照してください。
+ `httpSourceName`: を含む `APPRUNNER` 
+ `httpSourceId`: を含む `customeraccountid-apprunnerserviceid`

詳細については、「 *AWS WAF デベロッパーガイド*」の[「ログの例](https://docs.aws.amazon.com/waf/latest/developerguide/logging-examples.html)」を参照してください。

**重要**  
WAF ウェブ ACLsルールは、*IP ベースのルールに準拠していません*。これは、現在、リクエストソース IP データの WAF に関連付けられた App Runner プライベートサービスへの転送をサポートしていないためです。App Runner アプリケーションにソース IP/CIDR 受信トラフィックコントロールルールが必要な場合は、WAF ウェブ ACLs の代わりに[プライベートエンドポイントのセキュリティグループルール](network-pl-manage.md)を使用する必要があります。