View a markdown version of this page

Contoh perisai menggunakan AWS CLI - AWS Command Line Interface

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Contoh perisai menggunakan AWS CLI

Contoh kode berikut menunjukkan cara melakukan tindakan dan menerapkan skenario umum dengan menggunakan AWS Command Line Interface with Shield.

Tindakan merupakan kutipan kode dari program yang lebih besar dan harus dijalankan dalam konteks. Sementara tindakan menunjukkan cara memanggil fungsi layanan individual, Anda dapat melihat tindakan dalam konteks dalam skenario terkait.

Setiap contoh menyertakan tautan ke kode sumber lengkap, di mana Anda dapat menemukan instruksi tentang cara mengatur dan menjalankan kode dalam konteks.

Tindakan

Contoh kode berikut menunjukkan cara menggunakanassociate-drt-log-bucket.

AWS CLI

Untuk mengotorisasi DRT untuk mengakses bucket Amazon S3

associate-drt-log-bucketContoh berikut membuat asosiasi antara DRT dan bucket S3 yang ditentukan. Ini memungkinkan DRT untuk mengakses bucket atas nama akun. :

aws shield associate-drt-log-bucket \ --log-bucket flow-logs-for-website-lb

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Mengotorisasi Tim Respons DDoS di Panduan Pengembang AWS Lanjutan Shield.

Contoh kode berikut menunjukkan cara menggunakanassociate-drt-role.

AWS CLI

Untuk mengotorisasi DRT untuk mengurangi potensi serangan atas nama Anda

associate-drt-roleContoh berikut membuat asosiasi antara DRT dan peran yang ditentukan. DRT dapat menggunakan peran untuk mengakses dan mengelola akun.

aws shield associate-drt-role \ --role-arn arn:aws:iam::123456789012:role/service-role/DrtRole

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Mengotorisasi Tim Respons DDoS di Panduan Pengembang AWS Lanjutan Shield.

Contoh kode berikut menunjukkan cara menggunakancreate-protection.

AWS CLI

Untuk mengaktifkan perlindungan AWS Shield Advanced untuk satu AWS sumber daya

create-protectionContoh berikut mengaktifkan perlindungan Shield Advanced untuk AWS CloudFront distribusi yang ditentukan.

aws shield create-protection \ --name "Protection for CloudFront distribution" \ --resource-arn arn:aws:cloudfront::123456789012:distribution/E198WC25FXOWY8

Output:

{ "ProtectionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

Untuk informasi selengkapnya, lihat Menentukan Sumber Daya Anda untuk Dilindungi di Panduan Pengembang Lanjutan AWS Shield.

Contoh kode berikut menunjukkan cara menggunakancreate-subscription.

AWS CLI

Untuk mengaktifkan perlindungan AWS Shield Advanced untuk akun

create-subscriptionContoh berikut mengaktifkan perlindungan Shield Advanced untuk akun.

aws shield create-subscription

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Mem ulai dengan AWS Shield Advanced di Panduan Pengembang AWS Shield Advanced.

Contoh kode berikut menunjukkan cara menggunakandelete-protection.

AWS CLI

Untuk menghapus perlindungan AWS Shield Advanced dari AWS sumber daya

delete-protectionContoh berikut menghapus perlindungan AWS Shield Advanced yang ditentukan.

aws shield delete-protection \ --protection-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Mengh AWS apus Shield Advanced dari AWS Sumber Daya di Panduan Pengembang Lanjutan AWS Shield.

Contoh kode berikut menunjukkan cara menggunakandescribe-attack.

AWS CLI

Untuk mengambil deskripsi terperinci dari serangan

describe-attackContoh berikut menampilkan detail tentang serangan DDoS dengan ID serangan yang ditentukan. Anda dapat memperoleh ID serangan dengan menjalankan list-attacks perintah.

aws shield describe-attack --attack-id a1b2c3d4-5678-90ab-cdef-EXAMPLE22222

Output:

{ "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": [] } }

Untuk informasi selengkapnya, lihat Men injau Insiden DDoS di Panduan Pengembang Lanjutan AWS Shield.

Contoh kode berikut menunjukkan cara menggunakandescribe-drt-access.

AWS CLI

Untuk mengambil deskripsi otorisasi, DRT harus mengurangi serangan atas nama Anda

describe-drt-accessContoh berikut mengambil peran dan otorisasi bucket S3 yang dimiliki DRT, yang memungkinkannya merespons potensi serangan atas nama Anda.

aws shield describe-drt-access

Output:

{ "RoleArn": "arn:aws:iam::123456789012:role/service-role/DrtRole", "LogBucketList": [ "flow-logs-for-website-lb" ] }

Untuk informasi selengkapnya, lihat Mengotorisasi Tim Respons DDoS di Panduan Pengembang AWS Lanjutan Shield.

Contoh kode berikut menunjukkan cara menggunakandescribe-emergency-contact-settings.

AWS CLI

Untuk mengambil alamat email darurat yang Anda miliki di file dengan DRT

describe-emergency-contact-settingsContoh berikut mengambil alamat e-mail yang ada di file dengan DRT untuk akun. Ini adalah alamat yang harus dihubungi DRT ketika merespons serangan yang dicurigai.

aws shield describe-emergency-contact-settings

Output:

{ "EmergencyContactList": [ { "EmailAddress": "ops@example.com" }, { "EmailAddress": "ddos-notifications@example.com" } ] }

Untuk informasi selengkapnya, lihat Cara AWS Kerja Shield < https://docs.aws.amazon.com/waf/latest/developerguide/ddos-overview.html > di Panduan Pengembang AWS Lanjutan Shield.

Contoh kode berikut menunjukkan cara menggunakandescribe-protection.

AWS CLI

Untuk mengambil detail untuk perlindungan AWS Shield Advanced

describe-protectionContoh berikut menampilkan detail tentang perlindungan Shield Advanced dengan ID yang ditentukan. Anda dapat memperoleh ID perlindungan dengan menjalankan list-protections perintah.

aws shield describe-protection \ --protection-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Output:

{ "Protection": { "Id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Name": "1.2.3.4", "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:eip-allocation/eipalloc-0ac1537af40742a6d" } }

Untuk informasi selengkapnya, lihat Menentukan Sumber Daya Anda untuk Dilindungi di Panduan Pengembang Lanjutan AWS Shield.

Contoh kode berikut menunjukkan cara menggunakandescribe-subscription.

AWS CLI

Untuk mengambil detail perlindungan AWS Shield Advanced untuk akun

describe-subscriptionContoh berikut menampilkan detail tentang perlindungan Shield Advanced yang disediakan untuk akun. :

aws shield describe-subscription

Output:

{ "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 } ] } }

Untuk informasi selengkapnya, lihat Cara AWS Kerja Shield di Panduan Pengembang Lanjutan AWS Shield.

Contoh kode berikut menunjukkan cara menggunakandisassociate-drt-log-bucket.

AWS CLI

Untuk menghapus otorisasi DRT untuk mengakses bucket Amazon S3 atas nama Anda

disassociate-drt-log-bucketContoh berikut menghapus hubungan antara DRT dan bucket S3 yang ditentukan. Setelah perintah ini selesai, DRT tidak dapat lagi mengakses bucket atas nama akun.

aws shield disassociate-drt-log-bucket \ --log-bucket flow-logs-for-website-lb

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Mengotorisasi Tim Respons DDoS di Panduan Pengembang AWS Lanjutan Shield.

Contoh kode berikut menunjukkan cara menggunakandisassociate-drt-role.

AWS CLI

Untuk menghapus otorisasi DRT untuk mengurangi potensi serangan atas nama Anda

disassociate-drt-roleContoh berikut menghapus hubungan antara DRT dan akun. Setelah panggilan ini, DRT tidak dapat lagi mengakses atau mengelola akun Anda.

aws shield disassociate-drt-role

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Mengotorisasi Tim Respons DDoS di Panduan Pengembang AWS Lanjutan Shield.

Contoh kode berikut menunjukkan cara menggunakanget-subscription-state.

AWS CLI

Untuk mengambil status langganan AWS Shield Advanced akun saat ini

get-subscription-stateContoh berikut mengambil status perlindungan Shield Advanced untuk akun tersebut.

aws shield get-subscription-state

Output:

{ "SubscriptionState": "ACTIVE" }

Untuk informasi selengkapnya, lihat Cara AWS Kerja Shield di Panduan Pengembang Lanjutan AWS Shield.

Contoh kode berikut menunjukkan cara menggunakanlist-attacks.

AWS CLI

Untuk mengambil ringkasan serangan dari AWS Shield Advanced

list-attacksContoh berikut mengambil ringkasan serangan untuk AWS CloudFront distribusi yang ditentukan selama periode waktu yang ditentukan. Respons termasuk ID serangan yang dapat Anda berikan ke describe-attack perintah untuk informasi terperinci tentang serangan.

aws shield list-attacks \ --resource-arns arn:aws:cloudfront::12345678910:distribution/E1PXMP22ZVFAOR \ --start-time FromInclusive=1529280000,ToExclusive=1529300000

Output:

{ "AttackSummaries": [ { "AttackId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "ResourceArn": "arn:aws:cloudfront::123456789012:distribution/E1PXMP22ZVFAOR", "StartTime": 1529280000.0, "EndTime": 1529449200.0, "AttackVectors": [ { "VectorType": "SYN_FLOOD" } ] } ] }

Untuk informasi selengkapnya, lihat Men injau Insiden DDoS di Panduan Pengembang Lanjutan AWS Shield.

  • Untuk detail API, lihat ListAttacks di Refer AWS CLI ensi Perintah.

Contoh kode berikut menunjukkan cara menggunakanlist-protections.

AWS CLI

Untuk mengambil ringkasan perlindungan dari AWS Shield Advanced

list-protectionsContoh berikut mengambil ringkasan perlindungan yang diaktifkan untuk akun.

aws shield list-protections

Output:

{ "Protections": [ { "Id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Name": "Protection for CloudFront distribution", "ResourceArn": "arn:aws:cloudfront::123456789012:distribution/E198WC25FXOWY8" } ] }

Untuk informasi selengkapnya, lihat Menentukan Sumber Daya Anda untuk Dilindungi di Panduan Pengembang Lanjutan AWS Shield.

Contoh kode berikut menunjukkan cara menggunakanupdate-emergency-contact-settings.

AWS CLI

Untuk menentukan alamat e-mail darurat yang ada di file dengan DRT

update-emergency-contact-settingsContoh berikut mendefinisikan dua alamat email yang harus dihubungi DRT saat merespons serangan yang dicurigai.

aws shield update-emergency-contact-settings \ --emergency-contact-list EmailAddress=ops@example.com EmailAddress=ddos-notifications@example.com

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Cara AWS Kerja Shield di Panduan Pengembang Lanjutan AWS Shield.

Contoh kode berikut menunjukkan cara menggunakanupdate-subscription.

AWS CLI

Untuk mengubah langganan AWS Shield Advanced akun

update-subscriptionContoh berikut memungkinkan perpanjangan otomatis langganan AWS Shield Advanced untuk akun tersebut.

aws shield update-subscription \ --auto-renew ENABLED

Perintah ini tidak menghasilkan output.

Untuk informasi selengkapnya, lihat Cara AWS Kerja Shield di Panduan Pengembang Lanjutan AWS Shield.