AWS Doc SDK ExamplesWord
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
를 사용하여 예제 보호 AWS CLI
다음 코드 예제에서는 Shield AWS Command Line Interface 와 함께를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.
작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.
각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.
주제
작업
다음 코드 예시에서는 associate-drt-log-bucket
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
DRT가 Amazon S3 버킷에 액세스하도록 승인하려면
다음
associate-drt-log-bucket
예제에서는 DRT와 지정된 S3 버킷 간의 연결을 생성합니다. 이렇게 하면 DRT가 계정을 대신하여 버킷에 액세스할 수 있습니다.aws shield associate-drt-log-bucket \ --log-bucket
flow-logs-for-website-lb
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Shield 고급 개발자 안내서의 DDoS 대응 팀 승인을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 AssociateDrtLogBucket
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 AssociateDrtRole
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 CreateProtection
를 참조하세요.
-
다음 코드 예시에서는 create-subscription
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
계정에 대해 AWS Shield Advanced 보호를 활성화하려면
다음
create-subscription
예제에서는 계정에 대해 Shield Advanced 보호를 활성화합니다.aws shield create-subscription
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Shield Advanced 개발자 안내서의 Shield Advanced 시작하기를 참조하세요. AWS
-
API 세부 정보는 AWS CLI 명령 참조의 CreateSubscription
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 DeleteProtection
를 참조하세요.
-
다음 코드 예시에서는 describe-attack
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
공격에 대한 자세한 설명을 검색하려면
다음
describe-attack
예제에서는 지정된 공격 ID를 사용하여 DDoS 공격에 대한 세부 정보를 표시합니다.list-attacks
명령을 실행하여 attack 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 세부 정보는 AWS CLI 명령 참조의 DescribeAttack
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 DescribeDrtAccess
를 참조하세요.
-
다음 코드 예시에서는 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 고급 개발자 안내서의 Shield 작동 방식<https://docs.aws.amazon.com/waf/latest/developerguide/ddosWord-overview.html>을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DescribeEmergencyContactSettings
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 DescribeProtection
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 DescribeSubscription
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 DisassociateDrtLogBucket
를 참조하세요.
-
다음 코드 예시에서는 disassociate-drt-role
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
사용자를 대신하여 잠재적 공격을 완화하기 위해 DRT에 대한 권한 부여를 제거하려면
다음
disassociate-drt-role
예제에서는 DRT와 계정 간의 연결을 제거합니다. 이 호출 후에는 DRT가 더 이상 계정에 액세스하거나 계정을 관리할 수 없습니다.aws shield disassociate-drt-role
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Shield 고급 개발자 안내서의 DDoS 대응 팀 승인을 참조하세요.
-
API 세부 정보는 AWS CLI 명령 참조의 DisassociateDrtRole
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 GetSubscriptionState
를 참조하세요.
-
다음 코드 예시에서는 list-attacks
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
Shield Advanced에서 공격 요약 AWS 을 검색하려면
다음
list-attacks
예제에서는 지정된 기간 동안 지정된 AWS CloudFront 배포에 대한 공격 요약을 검색합니다. 응답에는 공격에 대한 자세한 정보를 위해describe-attack
명령에 제공할 수 있는 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 세부 정보는 AWS CLI 명령 참조의 ListAttacks
를 참조하세요.
-
다음 코드 예시에서는 list-protections
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
Shield Advanced에서 보호 요약 AWS 을 검색하려면
다음
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 세부 정보는 AWS CLI 명령 참조의 ListProtections
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 UpdateEmergencyContactSettings
를 참조하세요.
-
다음 코드 예시에서는 update-subscription
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
계정의 AWS Shield Advanced 구독을 수정하려면
다음
update-subscription
예제에서는 계정에 대한 AWS Shield Advanced 구독의 자동 갱신을 활성화합니다.aws shield update-subscription \ --auto-renew
ENABLED
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Shield 고급 개발자 안내서의 Shield 작동 방식을 참조하세요. AWS
-
API 세부 정보는 AWS CLI 명령 참조의 UpdateSubscription
를 참조하세요.
-