翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS WAF ウェブ ACLs の管理
次のいずれかの方法を使用して、App Runner サービスの AWS WAF ウェブ ACLs を管理します。
App Runner コンソール
App Runner コンソールでサービスを作成または既存のサービスを更新すると、 AWS WAF ウェブ ACL の関連付けまたは関連付け解除ができます。
注記
-
App Runner サービスは、1 つのウェブ ACL にのみ関連付けることができます。ただし、1 つのウェブ ACL を、他の AWS リソースに加えて複数の App Runner サービスに関連付けることができます。
-
ウェブ ACL を関連付ける前に、必ず IAM アクセス許可を更新してください AWS WAF。詳細については、「 アクセス許可」を参照してください。
AWS WAF ウェブ ACL の関連付け
重要
WAF ウェブ ACLs に関連付けられている App Runner プライベートサービスのソース IP ルールは、IP ベースのルールに準拠していません。これは、現在、リクエストソース IP データの WAF に関連付けられた App Runner プライベートサービスへの転送をサポートしていないためです。App Runner アプリケーションにソース IP/CIDR 受信トラフィックコントロールルールが必要な場合は、WAF ウェブ ACLs の代わりにプライベートエンドポイントのセキュリティグループルールを使用する必要があります。
AWS WAF ウェブ ACL を関連付けるには
-
App Runner コンソール
を開き、リージョンリストで を選択します AWS リージョン。 -
サービスを作成または更新するかどうかに基づいて、次のいずれかの手順を実行します。
-
新しいサービスを作成する場合は、App Runner サービスの作成を選択し、サービスの設定に移動します。
-
既存のサービスを更新する場合は、設定タブを選択し、サービスの設定で編集を選択します。
-
-
セキュリティでウェブアプリケーションファイアウォールに移動します。
-
トグルを有効にするボタンを選択すると、オプションが表示されます。
-
次のいずれかのステップを実行します。
-
既存のウェブ ACL を関連付けるには: App Runner サービスに関連付けるウェブ ACL の選択テーブルから必要なウェブ ACL を選択します。
-
新しいウェブ ACL を作成するには: AWS WAF コンソールを使用して新しいウェブ ACL を作成するには、ウェブ ACL の作成を選択します。詳細については、「 デベロッパーガイド」の「ウェブ ACL の作成」を参照してください。 AWS WAF
-
更新ボタンを選択すると、新しく作成されたウェブ ACL がウェブ ACL の選択テーブルに表示されます。
-
必要なウェブ ACL を選択します。
-
-
-
新しいサービスを作成する場合は次へ、既存のサービスを更新する場合は変更を保存するを選択します。選択したウェブ ACL は App Runner サービスに関連付けられています。
-
ウェブ ACL の関連付けを確認するには、サービスの設定タブを選択し、サービスの設定に移動します。セキュリティでウェブアプリケーションファイアウォールにスクロールして、サービスに関連付けられたウェブ ACL の詳細を表示します。
注記
ウェブ ACL を作成すると、ウェブ ACL が完全に伝播されて App Runner で使用できるようになるまでに少し時間がかかります。伝播時間は数秒から数分までです。 は、完全に伝播される前にウェブ ACL を関連付けようと
WAFUnavailableEntityExceptionすると、 AWS WAF を返します。ウェブ ACL が完全に伝播される前にブラウザを更新したり、App Runner コンソールから移動したりすると、関連付けは実行されません。ただし、App Runner コンソール内を移動することはできます。
AWS WAF ウェブ ACL の関連付けを解除する
App Runner サービスを更新することで、不要になった AWS WAF ウェブ ACl の関連付けを解除できます。
AWS WAF ウェブ ACl の関連付けを解除するには
-
App Runner コンソール
を開き、リージョンリストで を選択します AWS リージョン。 -
更新するサービスの「設定」タブに移動し、「サービスの設定」の「編集」を選択します。
-
セキュリティでウェブアプリケーションファイアウォールに移動します。
-
トグルの有効化ボタンを無効にします。削除を確認するメッセージが表示されます。
-
[確認] を選択してください。ウェブ ACL は App Runner サービスとの関連付けが解除されます。
注記
-
サービスを別のウェブ ACL に関連付ける場合は、ウェブ ACL の選択 テーブルからウェブ ACL を選択します。App Runner は現在のウェブ ACL の関連付けを解除し、選択したウェブ ACL に関連付けるプロセスを開始します。
-
関連付け解除されたウェブ ACL を使用する App Runner サービスまたはリソースが他にない場合は、ウェブ ACL の削除を検討してください。それ以外の場合は、引き続きコストが発生します。料金の詳細については、「AWS WAF 料金
」を参照してください。ウェブ ACL を削除する方法については、 AWS WAF API リファレンスのDeleteWebACL」を参照してください。 -
他のアクティブな App Runner サービスや他のリソースに関連付けられているウェブ ACL を削除することはできません。
-
AWS CLI
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 パブリック APIsAWS WAF 「 API リファレンスガイド」を参照してください。
注記
の IAM アクセス許可を更新します AWS WAF。詳細については、「 アクセス許可」を参照してください。
を使用した AWS WAF ウェブ ACL の関連付け AWS CLI
重要
WAF ウェブ ACLs に関連付けられている App Runner プライベートサービスのソース IP ルールは、IP ベースのルールに準拠していません。これは、現在、リクエストソース IP データの WAF に関連付けられた App Runner プライベートサービスへの転送をサポートしていないためです。App Runner アプリケーションにソース IP/CIDR 受信トラフィックコントロールルールが必要な場合は、WAF ウェブ ACLs の代わりにプライベートエンドポイントのセキュリティグループルールを使用する必要があります。
AWS WAF ウェブ ACL を関連付けるには
-
への任意のルールアクションのセット
Allowまたはサービスへの AWS WAF ウェブリクエストを使用してBlock、サービスのウェブ ACL を作成します。 AWS WAF APIsAWS WAF 「 API リファレンスガイド」のCreateWebACL」を参照してください。例 ウェブ ACL の作成 - リクエスト
aws wafv2 create-web-acl --region <region> --name <web-acl-name> --scopeREGIONAL--default-actionAllow={}--visibility-config <file-name.json> # This is the file containing the WAF web ACL rules. -
associate-web-aclAWS WAF パブリック API を使用して、作成したウェブ ACL を App Runner サービスに関連付けます。 AWS WAF APIsAWS WAF 「 API リファレンスガイド」のAssociateWebACL」を参照してください。注記
ウェブ ACL を作成すると、ウェブ ACL が完全に伝播されて App Runner で使用できるようになるまでに少し時間がかかります。伝播時間は数秒から数分までです。 は、完全に伝播される前にウェブ ACL を関連付けようと
WAFUnavailableEntityExceptionすると、 AWS WAF を返します。ウェブ ACL が完全に伝播される前にブラウザを更新したり、App Runner コンソールから移動したりすると、関連付けは実行されません。ただし、App Runner コンソール内を移動することはできます。
例 ウェブ ACL の関連付け - リクエスト
aws wafv2 associate-web-acl --resource-arn <apprunner_service_arn> --web-acl-arn <web_acl_arn> --region <region> -
get-web-acl-for-resourceAWS WAF パブリック API を使用して、ウェブ ACL が App Runner サービスに関連付けられていることを確認します。 AWS WAF APIsAWS WAF 「 API リファレンスガイド」のGetWebACLForResource」を参照してください。例 リソースのウェブ ACL の検証 - リクエスト
aws wafv2 get-web-acl-for-resource --resource-arn <apprunner_service_arn> --region <region>サービスに関連付けられたウェブ ACLs がない場合は、空白のレスポンスが表示されます。
を使用した AWS WAF ウェブ ACL の削除 AWS CLI
App Runner サービスに関連付けられている AWS WAF ウェブ ACL は削除できません。
AWS WAF ウェブ ACL を削除するには
-
disassociate-web-aclAWS WAF パブリック API を使用して、ウェブ ACL と App Runner サービスの関連付けを解除します。 AWS WAF APIs「 API AWS WAF リファレンスガイド」のDisassociateWebACL」を参照してください。例 ウェブ ACL の関連付けの解除 - リクエスト
aws wafv2 disassociate-web-acl --resource-arn <apprunner_service_arn> --region <region> -
get-web-acl-for-resourceAWS WAF パブリック API を使用して、ウェブ ACL と App Runner サービスの関連付けが解除されていることを確認します。例 ウェブ ACL の関連付けが解除されていることを確認する - リクエスト
aws wafv2 get-web-acl-for-resource --resource-arn <apprunner_service_arn> --region <region>関連付けが解除されたウェブ ACL は App Runner サービスには表示されません。サービスに関連付けられたウェブ ACLs がない場合は、空白のレスポンスが表示されます。
-
delete-web-aclAWS WAF パブリック API を使用して、関連付けが解除されたウェブ ACL を削除します。 AWS WAF APIsAWS WAF 「 API リファレンスガイド」のDeleteWebACL」を参照してください。例 ウェブ ACL の削除 - リクエスト
aws wafv2 delete-web-acl --name <web_acl_name> --scopeREGIONAL--id <web_acl_id> --lock-token <web_acl_lock_token> --region <region> -
list-web-aclAWS WAF パブリック API を使用してウェブ ACL が削除されていることを確認します。 AWS WAF APIsAWS WAF 「 API リファレンスガイド」のListWebACLs」を参照してください。例 ウェブ ACL が削除されていることを確認する - リクエスト
aws wafv2 list-web-acls --scopeREGIONAL--region <region>削除されたウェブ ACL は表示されなくなります。
注記
ウェブ ACL が他のアクティブな App Runner サービスまたは Amazon Cognito ユーザープールなどの他のリソースに関連付けられている場合、ウェブ ACL を削除することはできません。
ウェブ ACL に関連付けられている App Runner サービスの一覧表示
ウェブ ACL は、複数の App Runner サービスやその他のリソースに関連付けることができます。list-resources-for-web-acl AWS WAF パブリック API を使用して、ウェブ ACL に関連付けられた App Runner サービスを一覧表示します。 AWS WAF APIsAWS WAF 「 API リファレンスガイド」のListResourcesForWebACL」を参照してください。
例 ウェブ ACL に関連付けられた App Runner サービスを一覧表示する - リクエスト
aws wafv2 list-resources-for-web-acl --web-acl-arn <WEB_ACL_ARN> --resource-typeAPP_RUNNER_SERVICE--region <REGION>
例 ウェブ ACL に関連付けられた App Runner サービスを一覧表示する - レスポンス
次の例は、ウェブ ACL に関連付けられている App Runner サービスがない場合のレスポンスを示しています。
{ "ResourceArns": [] }
例 ウェブ ACL に関連付けられた App Runner サービスを一覧表示する - レスポンス
次の例は、ウェブ ACL に関連付けられている App Runner サービスがある場合のレスポンスを示しています。
{ "ResourceArns": [ "arn:aws:apprunner:<region>:<aws_account_id>:service/<service_name>/<service_id>" ] }
AWS WAF ウェブ ACLsテストとログ記録
ウェブ ACL でルールアクションをカウントに設定すると、 はルールに一致するリクエストの数にリクエスト AWS WAF を追加します。App Runner サービスでウェブ ACL をテストするには、ルールアクションをカウントに設定し、各ルールに一致するリクエストの量を考慮します。たとえば、通常のユーザートラフィックであると判断した多数のリクエストに一致するBlockアクションのルールを設定します。その場合は、ルールを再設定する必要がある場合があります。詳細については、「 AWS WAF デベロッパーガイド」のAWS WAF 「保護のテストとチューニング」を参照してください。
リクエストヘッダーを Amazon CloudWatch Logs ロググループ、Amazon Simple Storage Service (Amazon S3) バケット、または Amazon Data Firehose に記録する AWS WAF ように を設定することもできます。詳細については、AWS WAF デベロッパーガイドの「ウェブ ACL トラフィックのログ記録」を参照してください。
App Runner サービスに関連付けられているウェブ ACL に関連するログにアクセスするには、次のログフィールドを参照してください。
-
httpSourceName: を含むAPPRUNNER -
httpSourceId: を含むcustomeraccountid-apprunnerserviceid
詳細については、「 AWS WAF デベロッパーガイド」の「ログの例」を参照してください。
重要
WAF ウェブ ACLs に関連付けられている App Runner プライベートサービスのソース IP ルールは、IP ベースのルールに準拠していません。これは、現在、リクエストソース IP データの WAF に関連付けられた App Runner プライベートサービスへの転送をサポートしていないためです。App Runner アプリケーションにソース IP/CIDR 受信トラフィックコントロールルールが必要な場合は、WAF ウェブ ACLs の代わりにプライベートエンドポイントのセキュリティグループルールを使用する必要があります。