AWS CLI를 사용하여 AWS WAF IPset를 생성, 나열, 가져오기 또는 업데이트하려면 어떻게 해야 합니까?
AWS Command Line Interface(AWS CLI)를 사용하여 AWS WAF에서 IPset를 생성, 나열, 가져오기 또는 업데이트하려고 합니다.
해결 방법
참고: AWS CLI 명령을 실행할 때 오류가 발생하면, AWS CLI 오류 문제 해결을 참조하세요. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
이 해결 방법은 wafv2를 사용하여 특정 AWS 리전에 IPSet를 생성하거나 Amazon CloudFront에서 사용할 글로벌 IPSet를 생성합니다.
계속하기 전에 AWS CLI의 기본 리전이 IPSet를 생성하려는 지역인지 확인하십시오. 필요한 경우 -region 옵션을 사용하여 리전을 업데이트합니다. CloudFront를 사용하는 경우 미국 동부(버지니아 북부): us-east-1 리전에서 IPSet를 생성합니다.
IPSet 생성
다음 단계를 완료합니다.
- AWS CLI에 로그인합니다.
- create-ip-set 명령을 실행하여 IPset를 생성합니다.
참고: -scope는 IPSet가 CloudFront 배포용인지 아니면 리전 애플리케이션용인지 지정합니다. 리전별 애플리케이션에는 Application Load Balancer, Amazon API Gateway, REST API, AWS AppSync, GraphQL API 또는 Amazon Cognito 사용자 풀이 포함됩니다.
다음 출력은 리전별 IPset의 예입니다.
다음 출력은 CloudFront IPset의 예입니다.$ aws wafv2 create-ip-set --name ipv4-block --scope REGIONAL --ip-address-version IPV4 --addresses 10.1.1.1/32 --region us-west-1{ "Summary": { "Name": "ipv4-block", "Id": "952c5e24-2352-4a1e-a90b-01499086be1b", "Description": "", "LockToken": "c54cc0d5-42dc-4b4b-9335-a86c7ad784a6", "ARN": "arn:aws:wafv2:us-west-1:1111222233334444:regional/ipset/ipv4-block/952c5e24-2352-4a1e-a90b-01499086be1b" } }
$ aws wafv2 create-ip-set --name ipv4-block-cf --scope CLOUDFRONT --ip-address-version IPV4 --addresses 10.1.1.1/32 --region us-east-1{ "Summary": { "Name": "ipv4-block-cf", "Id": "1fef3860-8b6e-4201-8a56-6d8d49e93057", "Description": "", "LockToken": "9e9bc59e-678e-4b83-98d8-5a4c119b0123", "ARN": "arn:aws:wafv2:us-east-1:1111222233334444:global/ipset/ipv4-block-cf/1fef3860-8b6e-4201-8a56-6d8d49e93057" } }
IPSets 나열
IPSets를 나열하려면 list-ip-sets 명령을 실행합니다.
다음 출력은 리전별 IPset의 예입니다.
$ aws wafv2 list-ip-sets --scope REGIONAL --region us-west-1{ "NextMarker": "ipv4-block", "IPSets": [ { "Name": "ipv4-block", "Id": "952c5e24-2352-4a1e-a90b-01499086be1b", "Description": "", "LockToken": "c54cc0d5-42dc-4b4b-9335-a86c7ad784a6", "ARN": "arn:aws:wafv2:us-west-1:1111222233334444:regional/ipset/ipv4-block/952c5e24-2352-4a1e-a90b-01499086be1b" } ] }
다음 출력은 CloudFront IPset의 예입니다.
$ aws wafv2 list-ip-sets --scope CLOUDFRONT --region us-east-1{ "NextMarker": "ipv4-block-cf", "IPSets": [ { "Name": "ipv4-block-cf", "Id": "1fef3860-8b6e-4201-8a56-6d8d49e93057", "Description": "", "LockToken": "9e9bc59e-678e-4b83-98d8-5a4c119b0123", "ARN": "arn:aws:wafv2:us-east-1:1111222233334444:global/ipset/ipv4-block-cf/1fef3860-8b6e-4201-8a56-6d8d49e93057" } ] }
참고: 제한 값을 지정하고 IPset이 이 값보다 많은 경우 AWS WAF는 NextMarker 값을 반환합니다. 자세한 내용은 요청 파라미터를 참조하십시오.
IPSet 받기
특정 IPset을 검색하려면 get-ip-set 명령을 실행합니다.
다음 출력은 리전별 IPset의 예입니다.
$ aws wafv2 list-ip-sets --scope CLOUDFRONT --region us-east-1{ "NextMarker": "ipv4-block-cf", "IPSets": [ { "Name": "ipv4-block-cf", "Id": "1fef3860-8b6e-4201-8a56-6d8d49e93057", "Description": "", "LockToken": "9e9bc59e-678e-4b83-98d8-5a4c119b0123", "ARN": "arn:aws:wafv2:us-east-1:1111222233334444:global/ipset/ipv4-block-cf/1fef3860-8b6e-4201-8a56-6d8d49e93057" } ] }
IP셋 업데이트
IPset를 업데이트하려면 update-ip-set 명령을 실행합니다. 속기 구문이나 JSON 파일을 사용해야 합니다.
속기 구문
다음 단계를 완료합니다.
-
get-ip-set 명령을 실행하여 업데이트하려는 IPset의 ID와 LockToken을 가져옵니다.
다음 출력은 IPSet을 가져오기 위한 속기 구문의 예입니다.$ aws wafv2 get-ip-set --scope REGIONAL --name ipv4-block --id fbce0c08-476b-4487-af2c-e38f0303ac5f --region eu-west-1 { "IPSet": { "Name": "ipv4-block", "Id": "fbce0c08-476b-4487-af2c-e38f0303ac5f", "ARN": "arn:aws:wafv2:eu-west-1:11111111:regional/ipset/ipv4-block/fbce0c08-476b-4487-af2c-e38f0303ac5f", "Description": "", "IPAddressVersion": "IPV4", "Addresses": [ "10.1.1.2/32", "10.1.1.1/32" ] }, "LockToken": "14562ba3-f99b-4e39-a232-51a703302c88" }
참고: AWS WAF는 낙관적 잠금을 위해 토큰을 사용합니다. 토큰과 연결된 엔티티를 변경하려면 업데이트 및 삭제와 같은 작업에 사용할 토큰을 포함해야 합니다. AWS WAF는 토큰을 사용하여 엔티티를 마지막으로 검색한 후 엔티티에 변경 사항이 없음을 확인합니다. 변경한 경우 WAFOptimisticLockException과 함께 업데이트가 실패합니다. 이 문제를 해결하려면 get-ip-set 명령을 다시 실행합니다. 그런 다음 작업에서 반환하는 새 토큰을 사용합니다.
-
update-ip-set 명령을 실행하여 현재 IPset 구성을 새 구성으로 재정의합니다. ID 및 LockToken 값을 포함시키십시오.
$ aws wafv2 update-ip-set --name ipv4-block --scope REGIONAL --id 952c5e24-2352-4a1e-a90b-01499086be1b --addresses "10.1.1.1/32" "10.1.1.2/32" --lock-token c54cc0d5-42dc-4b4b-9335-a86c7ad784a6 --region us-west-1{ "NextLockToken": "a459c121-f160-4475-9352-fa602ff33df7" }
-
get-ip-set 명령을 실행하여 IPset의 변경 사항을 검토합니다. ID 및 NextLockToken 값을 포함시키십시오.
$ aws wafv2 get-ip-set --scope REGIONAL --name ipv4-block --id 952c5e24-2352-4a1e-a90b-01499086be1b --region us-west-1{ "IPSet": { "Name": "ipv4-block", "Id": "952c5e24-2352-4a1e-a90b-01499086be1b", "ARN": "arn:aws:wafv2:us-west-1:1111222233334444:regional/ipset/ipv4-block/952c5e24-2352-4a1e-a90b-01499086be1b", "Description": "", "IPAddressVersion": "IPV4", "Addresses": [ "10.1.1.2/32", "10.1.1.1/32" ] }, "LockToken": "a459c121-f160-4475-9352-fa602ff33df7" }
JSON 파일
다음 단계를 완료합니다.
-
선호하는 편집기를 사용하여 업데이트된 요청 구문으로 JSON 파일을 생성합니다.
$ nano ip.json{ "Addresses": ["10.1.1.0/24", "10.1.2.0/24", "10.1.3.0/24"] }
-
get-ip-set 명령을 실행하여 업데이트하려는 IPset의 ID와 LockToken을 가져옵니다.
$ aws wafv2 get-ip-set --scope REGIONAL --name ipv4-block --id 952c5e24-2352-4a1e-a90b-01499086be1b --region us-west-1{ "IPSet": { "Name": "ipv4-block", "Id": "952c5e24-2352-4a1e-a90b-01499086be1b", "ARN": "arn:aws:wafv2:us-west-1:1111222233334444:regional/ipset/ipv4-block/952c5e24-2352-4a1e-a90b-01499086be1b", "Description": "", "IPAddressVersion": "IPV4", "Addresses": [ "10.1.1.2/32", "10.1.1.1/32" ] }, "LockToken": "a459c121-f160-4475-9352-fa602ff33df7" }
-
update-ip-set 명령을 실행하여 현재 IPset 구성을 새 구성으로 재정의합니다. IP 주소를 인라인으로 나열하지 마십시오. 대신 JSON 파일을 참조하십시오. ID 및 LockToken 값을 포함시키십시오.
$ aws wafv2 update-ip-set --scope REGIONAL --name ipv4-block --id 952c5e24-2352-4a1e-a90b-01499086be1b --lock-token a459c121-f160-4475-9352-fa602ff33df7 --region us-west-1 --cli-input-json file://ip.json{ "NextLockToken": "238872dc-fcfb-4a45-93fd-115cfcc94480" }
-
get-ip-set 명령을 실행하여 IPset의 변경 사항을 검토합니다. ID 및 NextLockToken 값을 포함시키십시오.
$ aws wafv2 get-ip-set --scope REGIONAL --name ipv4-block --id 952c5e24-2352-4a1e-a90b-01499086be1b --region us-west-1{ "IPSet": { "Name": "ipv4-block", "Id": "952c5e24-2352-4a1e-a90b-01499086be1b", "ARN": "arn:aws:wafv2:us-west-1:1111222233334444:regional/ipset/ipv4-block/952c5e24-2352-4a1e-a90b-01499086be1b", "Description": "", "IPAddressVersion": "IPV4", "Addresses": [ "10.1.1.0/24", "10.1.2.0/24", "10.1.3.0/24" ] }, "LockToken": "238872dc-fcfb-4a45-93fd-115cfcc94480" }
관련 정보

관련 콘텐츠
- 질문됨 3달 전lg...
- 질문됨 7달 전lg...
- AWS 공식업데이트됨 2년 전
- AWS 공식업데이트됨 3년 전
- AWS 공식업데이트됨 일 년 전