

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 ウェブ ACL をサービスに関連付ける
<a name="waf"></a>

AWS WAF は、App Runner サービスを保護するために使用できるウェブアプリケーションファイアウォールです。 AWS WAF ウェブアクセスコントロールリスト (ウェブ ACLs) を使用すると、一般的なウェブエクスプロイトや不要なボットから App Runner サービスエンドポイントを保護できます。

ウェブ ACL を使用すると、App Runner サービスへのすべての受信ウェブリクエストをきめ細かく制御できます。ウェブ ACL でルールを定義して、ウェブトラフィックを許可、ブロック、またはモニタリングし、承認された正当なリクエストのみがウェブアプリケーションと APIs に到達するようにすることができます。特定のビジネスニーズとセキュリティニーズに基づいて、ウェブ ACL ルールをカスタマイズできます。ネットワーク ACLs[「ネットワークトラフィックの制御](https://docs.aws.amazon.com/vpc/latest/userguide/infrastructure-security.html#control-network-traffic)」を参照してください。 **

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

## 受信ウェブリクエストフロー
<a name="waf.flow"></a>

 AWS WAF ウェブ ACL が App Runner サービスに関連付けられている場合、受信ウェブリクエストは次のプロセスを実行します。

1. App Runner はオリジンリクエストの内容を に転送します AWS WAF。

1. AWS WAF はリクエストを検査し、その内容をウェブ ACL で指定したルールと比較します。

1. その検査に基づいて、 は App Runner に `allow`または `block`レスポンス AWS WAF を返します。
   + `allow` レスポンスが返された場合、App Runner はリクエストをアプリケーションに転送します。
   + `block` レスポンスが返されると、App Runner はリクエストがウェブアプリケーションに到達するのをブロックします。`block` レスポンスを からアプリケーションに転送 AWS WAF します。
**注記**  
 デフォルトでは、応答が返されない場合、App Runner はリクエストをブロックします AWS WAF。

 AWS WAF ウェブ ACLs「ウェブ[アクセスコントロールリスト (ウェブ ACLs](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl.html)」を参照してください。 *AWS WAF *

**注記**  
標準 AWS WAF 料金が発生します。App Runner サービスに AWS WAF ウェブ ACLs を使用しても、追加料金は発生しません。  料金の詳細については、[AWS WAF 「 ](https://aws.amazon.com/waf/pricing)料金表」を参照してください。

## WAF ウェブ ACLs App Runner サービスに関連付ける
<a name="waf.associate-waf"></a>

 以下は、 AWS WAF ウェブ ACL を App Runner サービスに関連付ける大まかなプロセスです。

1.  AWS WAF コンソールでウェブ ACL を作成します。詳細については、[「 デベロッパーガイド」の「ウェブ ACL](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-creating.html) の作成」を参照してください。 *AWS WAF *

1. の AWS Identity and Access Management (IAM) アクセス許可を更新します AWS WAF。詳細については、[アクセス許可](#waf.permissions)を参照してください。

1. 次のいずれかの方法を使用して、ウェブ ACL を App Runner サービスに関連付けます。
   + **App Runner コンソール**: App Runner サービス[を作成](manage-create.md)または[更新](manage-configure.md)するときに、App Runner コンソールを使用して既存のウェブ ACL を関連付けます。手順については、[AWS WAF 「ウェブ ACLs](waf-manage.md)」を参照してください。
   + **AWS WAF コンソール**: 既存の App Runner サービスの AWS WAF コンソールを使用してウェブ ACL を関連付けます。詳細については、「AWS WAF デベロッパーガイド」の「[ウェブ ACL と AWS リソースの関連付けまたは関連付け解除](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-associating-aws-resource.html)」を参照してください。
   + **AWS CLI**: AWS WAF パブリック APIs。 AWS WAF パブリック APIs[AssociateWebACL](https://docs.aws.amazon.com/waf/latest/APIReference/API_AssociateWebACL.html)」を参照してください。 *AWS WAF *

## 考慮事項
<a name="waf.considerations"></a>
+ WAF ウェブ ACLs に関連付けられている App Runner プライベートサービスのソース IP ルールは、*IP ベースのルールに準拠していません*。これは、現在、リクエストソース IP データの WAF に関連付けられた App Runner プライベートサービスへの転送をサポートしていないためです。App Runner アプリケーションにソース IP/CIDR 受信トラフィックコントロールルールが必要な場合は、WAF ウェブ ACLs の代わりに[プライベートエンドポイントのセキュリティグループルール](network-pl-manage.md)を使用する必要があります。
+ App Runner サービスは、1 つのウェブ ACL にのみ関連付けることができます。ただし、1 つのウェブ ACL を複数の App Runner サービスおよび複数の AWS リソースに関連付けることができます。例としては、Amazon Cognito ユーザープールや Application Load Balancer リソースなどがあります。
+ ウェブ ACL を作成すると、ウェブ ACL が完全に伝播されて App Runner で使用できるようになるまでに、わずかな時間がかかります。伝播時間は数秒から数分までです。 は、完全に伝播される前にウェブ ACL を関連付けようと`WAFUnavailableEntityException`すると、 AWS WAF を返します。

  ウェブ ACL が完全に伝播される前にブラウザを更新したり、App Runner コンソールから移動したりすると、関連付けは実行されません。ただし、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 できる の制限を超えるペイロードが発生する可能性があります。が App Runner からのオーバーサイズリクエスト AWS WAF を処理する方法の詳細については、 *AWS WAF デベロッパーガイド*の[「オーバーサイズリクエストコンポーネントの処理](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-oversize-handling.html)」を参照して、 が App Runner からのオーバーサイズリクエスト AWS WAF を処理する方法を確認してください。
+  適切なルールを設定しない場合やトラフィックパターンが変更された場合、ウェブ ACL はアプリケーションの保護にそれほど効果的ではない可能性があります。

## アクセス許可
<a name="waf.permissions"></a>

でウェブ ACL を使用するには AWS App Runner、次の IAM アクセス許可を追加します AWS WAF。
+  `apprunner:ListAssociatedServicesForWebAcl` 
+  `apprunner:DescribeWebAclForService` 
+  `apprunner:AssociateWebAcl` 
+  `apprunner:DisassociateWebAcl` 

IAM アクセス許可の詳細については、IAM *ユーザーガイド*の[「IAM のポリシーとアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)」を参照してください。

以下は、 の更新された IAM ポリシーの例です AWS WAF。この IAM ポリシーには、App Runner サービスを操作するために必要なアクセス許可が含まれています。

**Example**    
****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "wafv2:ListResourcesForWebACL",
            "wafv2:GetWebACLForResource",
            "wafv2:AssociateWebACL",
            "wafv2:DisassociateWebACL",
            "apprunner:ListAssociatedServicesForWebAcl",
            "apprunner:DescribeWebAclForService",
            "apprunner:AssociateWebAcl",
            "apprunner:DisassociateWebAcl"
         ],
         "Resource":"*"
      }
   ]
}
```

**注記**  
IAM アクセス権限を付与する必要がありますが、リストされているアクションは権限のみで、API オペレーションには対応していません。