翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS WAF ウェブ ACLs の管理
次のいずれかの方法を使用して、App Runner サービスの AWS WAF ウェブ ACLs を管理します。
App Runner コンソール
App Runner コンソールでサービスを作成したり、既存のサービスを更新したりすると、 AWS WAF ウェブ ACL の関連付けまたは関連付け解除ができます。
注記
-
App Runner サービスは、1 つのウェブ ACL にのみ関連付けることができます。ただし、他の AWS リソースに加えて、1 つのウェブ ACL を複数の App Runner サービスに関連付けることができます。
-
ウェブ ACL を関連付ける前に、必ず IAM アクセス許可を更新してください AWS WAF。詳細については、「 アクセス許可」を参照してください。
AWS WAF ウェブ ACL の関連付け
重要
WAF ウェブ ACLsルールは、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 の関連付けを確認するには、サービスの設定タブを選択し、サービスの設定に移動します。Security の下にあるウェブアプリケーションファイアウォールにスクロールして、サービスに関連付けられたウェブ 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ルールは、IP ベースのルールに準拠していません。これは、現在、リクエストソース IP データの WAF に関連付けられた App Runner プライベートサービスへの転送をサポートしていないためです。App Runner アプリケーションにソース IP/CIDR 受信トラフィックコントロールルールが必要な場合は、WAF ウェブ ACLs の代わりにプライベートエンドポイントのセキュリティグループルールを使用する必要があります。
AWS WAF ウェブ ACL を関連付けるには
-
への優先ルールアクションのセット
Allow
またはサービスへの AWS WAF ウェブリクエストを使用して、サービスのBlock
ウェブ ACL を作成します。 AWS WAF APIs「 API AWS WAF リファレンスガイド」の「CreateWebACL」を参照してください。例 ウェブ ACL の作成 - リクエスト
aws wafv2 create-web-acl --region <region> --name <web-acl-name> --scope
REGIONAL
--default-actionAllow={}
--visibility-config <file-name.json> # This is the file containing the WAF web ACL rules. -
associate-web-acl
AWS WAF パブリック API を使用して、作成したウェブ ACL を App Runner サービスに関連付けます。 AWS WAF APIs「 API AWS WAF リファレンスガイド」の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-resource
AWS 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-acl
AWS 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-resource
AWS WAF パブリック API を使用して、ウェブ ACL と App Runner サービスの関連付けが解除されていることを確認します。例 ウェブ ACL の関連付けが解除されていることを確認する - リクエスト
aws wafv2 get-web-acl-for-resource --resource-arn <apprunner_service_arn> --region <region>
App Runner サービスに対して関連付けが解除されたウェブ ACL は表示されません。サービスに関連付けられたウェブ ACLs がない場合は、空白のレスポンスが表示されます。
-
delete-web-acl
AWS WAF パブリック API を使用して、関連付けを解除したウェブ ACL を削除します。 AWS WAF APIs「 API AWS WAF リファレンスガイド」のDeleteWebACL」を参照してください。例 ウェブ ACL の削除 - リクエスト
aws wafv2 delete-web-acl --name <web_acl_name> --scope
REGIONAL
--id <web_acl_id> --lock-token <web_acl_lock_token> --region <region> -
list-web-acl
AWS WAF パブリック API を使用してウェブ ACL が削除されていることを確認します。 AWS WAF APIsAWS WAF 「 API リファレンスガイド」のListWebACLs」を参照してください。例 ウェブ ACL が削除されたことを確認する - リクエスト
aws wafv2 list-web-acls --scope
REGIONAL
--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-type
APP_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ルールは、IP ベースのルールに準拠していません。これは、現在、リクエストソース IP データの WAF に関連付けられた App Runner プライベートサービスへの転送をサポートしていないためです。App Runner アプリケーションにソース IP/CIDR 受信トラフィックコントロールルールが必要な場合は、WAF ウェブ ACLs の代わりにプライベートエンドポイントのセキュリティグループルールを使用する必要があります。