이 설명서는 의 버전 1 AWS CLI 전용입니다. 의 버전 2와 관련된 설명서는 버전 2 사용 설명서 를 AWS CLI참조하세요.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
를 사용하여 예제 보호 AWS CLI
다음 코드 예제에서는 Shield AWS Command Line Interface 와 함께 를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.
작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.
각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.
주제
작업
다음 코드 예시에서는 associate-drt-log-bucket
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
가 Amazon S3 버킷에 액세스할 DRT 수 있는 권한을 부여하려면
다음
associate-drt-log-bucket
예제에서는 DRT와 지정된 S3 버킷 간의 연결을 생성합니다. 이렇게 하면 DRT가 계정을 대신하여 버킷에 액세스할 수 있습니다.aws shield associate-drt-log-bucket \ --log-bucket
flow-logs-for-website-lb
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Shield 고급 개발자 안내서의 DDoS 대응 팀 승인을 참조하세요.
-
자세한 API 내용은 명령 참조AssociateDrtLogBucket
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 associate-drt-role
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
사용자를 대신하여 잠재적 공격을 완화DRT할 수 있는 권한을 에 부여하려면
다음
associate-drt-role
예제에서는 DRT 와 지정된 역할 간의 연결을 생성합니다. 는 역할을 사용하여 계정에 액세스하고 관리할 DRT 수 있습니다.aws shield associate-drt-role \ --role-arn
arn:aws:iam::123456789012:role/service-role/DrtRole
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Shield 고급 개발자 안내서의 DDoS 대응 팀 승인을 참조하세요.
-
자세한 API 내용은 명령 참조AssociateDrtRole
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 create-protection
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
단일 AWS 리소스에 대해 AWS Shield Advanced 보호를 활성화하려면
다음
create-protection
예제에서는 지정된 AWS CloudFront 배포에 대해 Shield Advanced 보호를 활성화합니다.aws shield create-protection \ --name
"Protection for CloudFront distribution"
\ --resource-arnarn:aws:cloudfront::123456789012:distribution/E198WC25FXOWY8
출력:
{ "ProtectionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }
자세한 내용은 AWS Shield 고급 개발자 안내서의 보호할 리소스 지정을 참조하세요.
-
자세한 API 내용은 명령 참조CreateProtection
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 create-subscription
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
계정에 대해 AWS Shield Advanced 보호를 활성화하려면
다음
create-subscription
예제에서는 계정에 대해 Shield Advanced 보호를 활성화합니다.aws shield create-subscription
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Shield Advanced 개발자 안내서AWS 의 Shield Advanced 시작하기를 참조하세요.
-
자세한 API 내용은 명령 참조CreateSubscription
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 delete-protection
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
AWS 리소스에서 AWS Shield Advanced 보호를 제거하려면
다음
delete-protection
예제에서는 지정된 AWS Shield Advanced 보호를 제거합니다.aws shield delete-protection \ --protection-id
a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Shield Advanced 개발자 안내서의 AWS 리소스에서 Shield Advanced 제거를 참조하세요. AWS
-
자세한 API 내용은 명령 참조DeleteProtection
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 describe-attack
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
공격에 대한 자세한 설명을 검색하려면
다음
describe-attack
예제에서는 지정된 DDoS 공격 ID를 사용하여 공격에 대한 세부 정보를 표시합니다.list-attacks
명령을 실행IDs하여 공격을 받을 수 있습니다.aws shield describe-attack --attack-id
a1b2c3d4-5678-90ab-cdef-EXAMPLE22222
출력:
{ "Attack": { "AttackId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "ResourceArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/testElb", "SubResources": [ { "Type": "IP", "Id": "192.0.2.2", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 11786208.0, "N": 12, "Unit": "BPS" } ] } ], "Counters": [] }, { "Type": "IP", "Id": "192.0.2.3", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 9821840.0, "N": 10, "Unit": "BPS" } ] } ], "Counters": [] }, { "Type": "IP", "Id": "192.0.2.4", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 7857472.0, "N": 8, "Unit": "BPS" } ] } ], "Counters": [] }, { "Type": "IP", "Id": "192.0.2.5", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 1964368.0, "N": 2, "Unit": "BPS" } ] } ], "Counters": [] }, { "Type": "IP", "Id": "2001:DB8::bcde:4321:8765:0:0", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 1964368.0, "N": 2, "Unit": "BPS" } ] } ], "Counters": [] }, { "Type": "IP", "Id": "192.0.2.6", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 1964368.0, "N": 2, "Unit": "BPS" } ] } ], "Counters": [] } ], "StartTime": 1576024927.457, "EndTime": 1576025647.457, "AttackCounters": [], "AttackProperties": [ { "AttackLayer": "NETWORK", "AttackPropertyIdentifier": "SOURCE_IP_ADDRESS", "TopContributors": [ { "Name": "198.51.100.5", "Value": 2024475682 }, { "Name": "198.51.100.8", "Value": 1311380863 }, { "Name": "203.0.113.4", "Value": 900599855 }, { "Name": "198.51.100.4", "Value": 769417366 }, { "Name": "203.1.113.13", "Value": 757992847 } ], "Unit": "BYTES", "Total": 92773354841 }, { "AttackLayer": "NETWORK", "AttackPropertyIdentifier": "SOURCE_COUNTRY", "TopContributors": [ { "Name": "United States", "Value": 80938161764 }, { "Name": "Brazil", "Value": 9929864330 }, { "Name": "Netherlands", "Value": 1635009446 }, { "Name": "Mexico", "Value": 144832971 }, { "Name": "Japan", "Value": 45369000 } ], "Unit": "BYTES", "Total": 92773354841 }, { "AttackLayer": "NETWORK", "AttackPropertyIdentifier": "SOURCE_ASN", "TopContributors": [ { "Name": "12345", "Value": 74953625841 }, { "Name": "12346", "Value": 4440087595 }, { "Name": "12347", "Value": 1635009446 }, { "Name": "12348", "Value": 1221230000 }, { "Name": "12349", "Value": 1199425294 } ], "Unit": "BYTES", "Total": 92755479921 } ], "Mitigations": [] } }
자세한 내용은 AWS Shield 고급 개발자 안내서의 DDoS 인시던트 검토를 참조하세요.
-
자세한 API 내용은 명령 참조DescribeAttack
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 describe-drt-access
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
가 사용자를 대신하여 공격을 완화하는 데 DRT 필요한 권한 부여에 대한 설명을 검색하려면
다음
describe-drt-access
예제에서는 가 DRT 보유한 역할 및 S3 버킷 권한을 검색하여 사용자를 대신하여 잠재적 공격에 대응할 수 있도록 합니다.aws shield describe-drt-access
출력:
{ "RoleArn": "arn:aws:iam::123456789012:role/service-role/DrtRole", "LogBucketList": [ "flow-logs-for-website-lb" ] }
자세한 내용은 AWS Shield 고급 개발자 안내서의 DDoS 대응 팀 승인을 참조하세요.
-
자세한 API 내용은 명령 참조DescribeDrtAccess
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 describe-emergency-contact-settings
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
에 저장된 긴급 이메일 주소를 검색하려면 DRT
다음
describe-emergency-contact-settings
예제에서는 DRT 계정의 에 저장된 이메일 주소를 검색합니다. 다음은 의심되는 공격에 대응할 때 가 DRT 연락해야 하는 주소입니다.aws shield describe-emergency-contact-settings
출력:
{ "EmergencyContactList": [ { "EmailAddress": "ops@example.com" }, { "EmailAddress": "ddos-notifications@example.com" } ] }
자세한 내용은 AWS Shield AWS Advanced Developer Guide의 Shield 작동 방식<https://docs.aws.amazon.com/waf/latest/developerguide/ddos-overview.html>을 참조하세요.
-
자세한 API 내용은 명령 참조DescribeEmergencyContactSettings
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 describe-protection
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
AWS Shield Advanced 보호에 대한 세부 정보를 검색하려면
다음
describe-protection
예제에서는 지정된 ID로 Shield Advanced 보호에 대한 세부 정보를 표시합니다.list-protections
명령을 실행IDs하여 보호를 받을 수 있습니다.aws shield describe-protection \ --protection-id
a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
출력:
{ "Protection": { "Id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Name": "1.2.3.4", "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:eip-allocation/eipalloc-0ac1537af40742a6d" } }
자세한 내용은 AWS Shield 고급 개발자 안내서의 보호할 리소스 지정을 참조하세요.
-
자세한 API 내용은 명령 참조DescribeProtection
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 describe-subscription
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
계정에 대한 AWS Shield Advanced 보호의 세부 정보를 검색하려면
다음
describe-subscription
예제에서는 계정에 제공된 Shield Advanced 보호에 대한 세부 정보를 보여줍니다.aws shield describe-subscription
출력:
{ "Subscription": { "StartTime": 1534368978.0, "EndTime": 1597613778.0, "TimeCommitmentInSeconds": 63244800, "AutoRenew": "ENABLED", "Limits": [ { "Type": "GLOBAL_ACCELERATOR", "Max": 1000 }, { "Type": "ROUTE53_HOSTED_ZONE", "Max": 1000 }, { "Type": "CF_DISTRIBUTION", "Max": 1000 }, { "Type": "ELB_LOAD_BALANCER", "Max": 1000 }, { "Type": "EC2_ELASTIC_IP_ALLOCATION", "Max": 1000 } ] } }
자세한 내용은 AWS Shield 고급 개발자 안내서의 Shield 작동 방식을 참조하세요. AWS
-
자세한 API 내용은 명령 참조DescribeSubscription
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 disassociate-drt-log-bucket
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
사용자를 대신하여 Amazon S3 버킷에 액세스할 DRT 수 있는 권한 부여를 제거하려면
다음
disassociate-drt-log-bucket
예제에서는 DRT와 지정된 S3 버킷 간의 연결을 제거합니다. 이 명령이 완료되면 는 더 이상 계정을 대신하여 버킷에 액세스할 DRT 수 없습니다.aws shield disassociate-drt-log-bucket \ --log-bucket
flow-logs-for-website-lb
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Shield 고급 개발자 안내서의 DDoS 대응 팀 승인을 참조하세요.
-
자세한 API 내용은 명령 참조DisassociateDrtLogBucket
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 disassociate-drt-role
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
사용자를 대신하여 잠재적 공격을 완화DRT하기 위해 에 대한 권한 부여를 제거하려면
다음
disassociate-drt-role
예제에서는 DRT 와 계정 간의 연결을 제거합니다. 이 호출 후에는 DRT가 더 이상 계정에 액세스하거나 계정을 관리할 수 없습니다.aws shield disassociate-drt-role
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Shield 고급 개발자 안내서의 DDoS 대응 팀 승인을 참조하세요.
-
자세한 API 내용은 명령 참조DisassociateDrtRole
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 get-subscription-state
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
계정의 AWS Shield Advanced 구독의 현재 상태를 검색하려면
다음
get-subscription-state
예제에서는 계정에 대한 Shield Advanced 보호 상태를 검색합니다.aws shield get-subscription-state
출력:
{ "SubscriptionState": "ACTIVE" }
자세한 내용은 AWS Shield 고급 개발자 안내서의 Shield 작동 방식을 참조하세요. AWS
-
자세한 API 내용은 명령 참조GetSubscriptionState
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 list-attacks
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
AWS Shield Advanced에서 공격 요약을 검색하려면
다음
list-attacks
예제에서는 지정된 기간 동안 지정된 AWS CloudFront 배포에 대한 공격 요약을 검색합니다. 응답에는 공격에 대한 자세한 정보를 위해describe-attack
명령에 제공할 수 IDs 있는 공격이 포함됩니다.aws shield list-attacks \ --resource-arns
arn:aws:cloudfront::12345678910:distribution/E1PXMP22ZVFAOR
\ --start-timeFromInclusive=1529280000,ToExclusive=1529300000
출력:
{ "AttackSummaries": [ { "AttackId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "ResourceArn": "arn:aws:cloudfront::123456789012:distribution/E1PXMP22ZVFAOR", "StartTime": 1529280000.0, "EndTime": 1529449200.0, "AttackVectors": [ { "VectorType": "SYN_FLOOD" } ] } ] }
자세한 내용은 AWS Shield 고급 개발자 안내서의 DDoS 인시던트 검토를 참조하세요.
-
자세한 API 내용은 명령 참조ListAttacks
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 list-protections
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
AWS Shield Advanced에서 보호 요약을 검색하려면
다음
list-protections
예제에서는 계정에 대해 활성화된 보호에 대한 요약을 검색합니다.aws shield list-protections
출력:
{ "Protections": [ { "Id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Name": "Protection for CloudFront distribution", "ResourceArn": "arn:aws:cloudfront::123456789012:distribution/E198WC25FXOWY8" } ] }
자세한 내용은 AWS Shield 고급 개발자 안내서의 보호할 리소스 지정을 참조하세요.
-
자세한 API 내용은 명령 참조ListProtections
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 update-emergency-contact-settings
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
에 저장된 긴급 이메일 주소를 정의하려면 DRT
다음
update-emergency-contact-settings
예제에서는 의심되는 공격에 대응할 때 가 문의DRT해야 하는 두 개의 이메일 주소를 정의합니다.aws shield update-emergency-contact-settings \ --emergency-contact-list
EmailAddress=ops@example.com
EmailAddress=ddos-notifications@example.com
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Shield 고급 개발자 안내서의 Shield 작동 방식을 참조하세요. AWS
-
자세한 API 내용은 명령 참조UpdateEmergencyContactSettings
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 update-subscription
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
계정의 AWS Shield Advanced 구독을 수정하려면
다음
update-subscription
예제에서는 계정에 대한 AWS Shield Advanced 구독의 자동 갱신을 활성화합니다.aws shield update-subscription \ --auto-renew
ENABLED
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Shield 고급 개발자 안내서의 Shield 작동 방식을 참조하세요. AWS
-
자세한 API 내용은 명령 참조UpdateSubscription
의 섹션을 참조하세요. AWS CLI
-