기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
다음 방법 중 하나를 사용하여 App Runner 서비스의 AWS WAF 웹 ACLs을 관리합니다.
App Runner 콘솔
App Runner 콘솔에서 서비스를 생성하거나 기존 서비스를 업데이트할 때 AWS WAF 웹 ACL을 연결하거나 연결 해제할 수 있습니다.
참고
-
App Runner 서비스는 하나의 웹 ACL에만 연결할 수 있습니다. 그러나 다른 AWS 리소스 외에도 웹 ACL 하나를 둘 이상의 App Runner 서비스와 연결할 수 있습니다.
-
웹 ACL을 연결하기 전에에 대한 IAM 권한을 업데이트해야 합니다 AWS WAF. 자세한 내용은 Permissions 단원을 참조하십시오.
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 생성을 선택합니다. 자세한 내용은 AWS WAF 개발자 안내서의 웹 ACL 생성을 참조하세요.
-
새로 고침 버튼을 선택하여 웹 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 퍼블릭 API를 사용하여 AWS WAF 웹 ACL을 연결하거나 연결 해제할 수 있습니다. APIs 웹 ACL을 연결하거나 연결 해제하려는 App Runner 서비스는 유효한 상태여야 합니다.
AWS WAF 는 잘못된 상태인 App Runner 서비스에 대해 다음 API 중 하나를 호출할 때 WAFNonexistentItemException
오류를 반환합니다. AWS WAF APIs
-
AssociateWebACL
-
DisassociateWebACL
-
GetWebACLForResource
App Runner 서비스의 잘못된 상태는 다음과 같습니다.
-
CREATE_FAILED
-
DELETE_FAILED
-
DELETED
-
OPERATION_IN_PROGRESS
참고
OPERATION_IN_PROGRESS
상태는 App Runner 서비스가 삭제되는 경우에만 유효하지 않습니다.
AWS WAF 퍼블릭 APIs. AWS WAF
참고
에 대한 IAM 권한을 업데이트합니다 AWS WAF. 자세한 내용은 Permissions 단원을 참조하십시오.
를 사용하여 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 APIs에 대한 자세한 내용은 AWS WAF API 참조 안내서의 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에 대한 자세한 내용은 AWS 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-resource
AWS WAF 퍼블릭 API를 사용하여 웹 ACL이 App Runner 서비스와 연결되어 있는지 확인합니다. AWS WAF APIs에 대한 자세한 내용은 AWS WAF API 참조 안내서의 GetWebACLForResource를 참조하세요.예 리소스에 대한 웹 ACL 확인 - 요청
aws wafv2 get-web-acl-for-resource --resource-arn <apprunner_service_arn> --region <region>
서비스와 연결된 웹 ACLs이 없는 경우 빈 응답을 받게 됩니다.
를 사용하여 AWS WAF 웹 ACL 삭제 AWS CLI
AWS WAF 웹 ACL이 App Runner 서비스와 연결된 경우 삭제할 수 없습니다.
AWS WAF 웹 ACL을 삭제하려면
-
disassociate-web-acl
AWS WAF 퍼블릭 API를 사용하여 App Runner 서비스에서 웹 ACL의 연결을 해제합니다. AWS WAF APIs에 대한 자세한 내용은 AWS WAF API 참조 안내서의 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>
연결 해제된 웹 ACL은 App Runner 서비스에 대해 나열되지 않습니다. 서비스와 연결된 웹 ACLs이 없는 경우 빈 응답을 받게 됩니다.
-
delete-web-acl
AWS WAF 퍼블릭 API를 사용하여 연결 해제된 웹 ACL을 삭제합니다. AWS WAF APIs에 대한 자세한 내용은 AWS WAF API 참조 안내서의 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 APIs 대한 자세한 내용은 AWS 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 APIs 대한 자세한 내용은 AWS 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과 연결된 App Runner 프라이빗 서비스에 대한 소스 IP 규칙은 IP 기반 규칙을 준수하지 않습니다. 이는 현재 요청 소스 IP 데이터를 WAF와 연결된 App Runner 프라이빗 서비스로 전달하는 것을 지원하지 않기 때문입니다. App Runner 애플리케이션에 소스 IP/CIDR 수신 트래픽 제어 규칙이 필요한 경우 WAF 웹 ACLs 대신 프라이빗 엔드포인트에 대한 보안 그룹 규칙을 사용해야 합니다.