Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWSSupport-ContainEC2Instance
Deskripsi
AWSSupport-ContainEC2Instance
Runbook menyediakan solusi otomatis untuk prosedur yang diuraikan dalam artikel Bagaimana cara mengisolasi EC2 Instans Amazon saat dihadapkan dengan kemungkinan dikompromikan atau
Bagaimana cara kerjanya?
Runbook Otomasi ini AWSSupport-ContainEC2Instance
melakukan penahanan jaringan EC2 Instans Amazon melalui serangkaian langkah terkoordinasi. Ketika dieksekusi dalam Contain
mode, pertama-tama memvalidasi parameter input dan memeriksa apakah instance tidak dihentikan. Kemudian mencadangkan konfigurasi grup keamanan saat ini ke bucket Amazon S3 untuk pemulihan nanti. Runbook membuat dua grup keamanan: grup keamanan “semua akses” sementara dan grup keamanan “penahanan” terakhir. Secara bertahap transisi antarmuka jaringan instance dari grup keamanan asli mereka ke grup keamanan semua akses, dan akhirnya ke grup keamanan penahanan. Jika ditentukan, itu menciptakan keduanya tidak terenkripsi dan terenkripsi AMI backup dari instance. Untuk instance dalam grup Auto Scaling, ini menangani modifikasi grup Auto Scaling yang diperlukan dan membawa instance ke status siaga. Ketika dijalankan dalam Release
mode, ia mengembalikan instance ke konfigurasi jaringan aslinya menggunakan pengaturan cadangan dari Amazon S3. Runbook mendukung DryRun
parameter untuk melihat pratinjau tindakan tanpa membuat perubahan aktual, dan menyertakan mekanisme penanganan dan pelaporan kesalahan yang komprehensif di seluruh alur kerja penahanan dan rilis.
penting
-
Runbook ini melakukan berbagai operasi yang memerlukan hak istimewa yang lebih tinggi, seperti memodifikasi grup keamanan, membuat AMIs, dan berinteraksi dengan grup Auto Scaling. Tindakan ini berpotensi menyebabkan eskalasi hak istimewa atau memengaruhi beban kerja lain di akun Anda. Anda harus meninjau izin yang diberikan untuk peran yang ditentukan oleh
AutomationAssumeRole
parameter dan memastikannya sesuai untuk kasus penggunaan yang dimaksudkan. Anda dapat merujuk ke AWS dokumentasi berikut untuk informasi lebih lanjut tentang izin IAM:.AWS Identity and Access Management (IAM) Permissions
AWS Systems Manager Automation Permissions
-
Runbook ini melakukan tindakan mutatif yang berpotensi menyebabkan tidak tersedianya atau gangguan pada beban kerja Anda. Secara khusus, ini memodifikasi grup keamanan yang terkait dengan target Amazon EC2 Instance, yang dapat memengaruhi konektivitas jaringan. Selain itu, jika instance merupakan bagian dari grup Auto Scaling, runbook dapat mengubah konfigurasi grup, yang berpotensi memengaruhi perilaku penskalaannya.
-
Selama proses penahanan, buku runbook ini menciptakan sumber daya tambahan, seperti grup keamanan dan AMIs. Meskipun sumber daya ini ditandai untuk identifikasi, Anda harus menyadari pembuatannya dan memastikan pembersihan atau pengelolaan yang tepat setelah proses penahanan selesai.
-
Jika
Action
parameter disetel keRelease
, runbook ini mencoba mengembalikan konfigurasi EC2 Instans Amazon ke status semula. Namun, ada risiko bahwa proses restorasi mungkin gagal, meninggalkan instance dalam keadaan tidak konsisten. Runbook memberikan instruksi untuk restorasi manual jika terjadi kegagalan tersebut, tetapi Anda harus siap untuk menangani masalah potensial selama proses restorasi.
Disarankan untuk meninjau runbook secara menyeluruh, memahami potensi dampaknya, dan mengujinya di lingkungan non-produksi sebelum menjalankannya di lingkungan produksi Anda.
Jenis dokumen
Otomatisasi
Pemilik
Amazon
Platform
/
Izin IAM yang diperlukan
AutomationAssumeRole
Parameter memerlukan tindakan berikut untuk menggunakan runbook dengan sukses.
penskalaan otomatis: CreateOrUpdateTags
penskalaan otomatis: DeleteTags
penskalaan otomatis: DescribeAutoScalingGroups
penskalaan otomatis: DescribeAutoScalingInstances
penskalaan otomatis: DescribeTags
penskalaan otomatis: EnterStandby
penskalaan otomatis: ExitStandby
penskalaan otomatis: UpdateAutoScalingGroup
EC2: AuthorizeSecurityGroupEgress
EC2: AuthorizeSecurityGroupIngress
EC2: CopyImage
EC2: CreateImage
EC2: CreateSecurityGroup
EC2: CreateSnapshot
EC2: CreateTags
EC2: DeleteSecurityGroup
EC2: DeleteTags
EC2: DescribeImages
EC2: DescribeInstances
EC2: DescribeSecurityGroups
EC2: DescribeSnapshots
EC2: DescribeTags
EC2: ModifyNetworkInterfaceAttribute
EC2: RevokeSecurityGroupEgress
km: CreateGrant
km: DescribeKey
km: GenerateDataKeyWithoutPlaintext
km: ReEncryptFrom
km: ReEncryptTo
s3: CreateBucket
s3: DeleteObjectTagging
s3: GetAccountPublicAccessBlock
s3: GetBucketAcl
s3: GetBucketLocation
s3: GetBucketOwnershipControls
s3: GetBucketPolicy
s3: GetBucketPolicyStatus
s3: GetBucketPublicAccessBlock
s3: GetObject
s3: ListBucket
s3: PutAccountPublicAccessBlock
s3: PutBucketPolicy
s3: PutBucketVersioning
s3: PutObject
s3: PutObjectTagging
Contoh Kebijakan:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadOperations", "Effect": "Allow", "Action": [ "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeAutoScalingInstances", "autoscaling:DescribeTags", "ec2:DescribeImages", "ec2:DescribeInstances", "ec2:DescribeSecurityGroups", "ec2:DescribeSnapshots", "ec2:DescribeTags", "kms:DescribeKey", "s3:GetAccountPublicAccessBlock", "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:GetBucketOwnershipControls", "s3:GetBucketPolicy", "s3:GetBucketPolicyStatus", "s3:GetBucketPublicAccessBlock", "s3:GetObject", "s3:ListBucket" ], "Resource": "*" }, { "Sid": "WriteOperations", "Effect": "Allow", "Action": [ "autoscaling:CreateOrUpdateTags", "autoscaling:DeleteTags", "autoscaling:EnterStandby", "autoscaling:ExitStandby", "autoscaling:UpdateAutoScalingGroup", "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CopyImage", "ec2:CreateImage", "ec2:CreateSecurityGroup", "ec2:CreateSnapshot", "ec2:CreateTags", "ec2:DeleteSecurityGroup", "ec2:DeleteTags", "ec2:ModifyNetworkInterfaceAttribute", "ec2:RevokeSecurityGroupEgress", "kms:CreateGrant", "kms:GenerateDataKeyWithoutPlaintext", "kms:ReEncryptFrom", "kms:ReEncryptTo", "s3:CreateBucket", "s3:DeleteObjectTagging", "s3:PutAccountPublicAccessBlock", "s3:PutBucketPolicy", "s3:PutBucketVersioning", "s3:PutObject", "s3:PutObjectTagging" ], "Resource": "*" } ] }
Instruksi
Ikuti langkah-langkah ini untuk mengonfigurasi otomatisasi:
-
Arahkan ke
AWSSupport-ContainEC2Instance
Systems Manager di bawah Documents. -
Pilih Jalankan otomatisasi.
-
Untuk parameter input, masukkan yang berikut ini:
-
AutomationAssumeRole (Opsional):
Deskripsi: (Opsional) Nama Sumber Daya Amazon (ARN) peran AWS AWS Identity and Access Management (IAM) yang memungkinkan Otomasi Systems Manager untuk melakukan tindakan atas nama Anda. Jika tidak ada peran yang ditentukan, Systems Manager Automation menggunakan izin pengguna yang memulai runbook ini.
Tipe:
AWS::IAM::Role::Arn
-
Tindakan (Diperlukan):
Deskripsi: (Diperlukan) Pilih
Contain
untuk mengisolasi EC2 instans Amazon atauRestore
mencoba memulihkan konfigurasi asli konfigurasi EC2 instans Amazon dari cadangan sebelumnya.Tipe: String
Pola yang Diizinkan:
Contain|Restore
-
DryRun (Opsional):
Deskripsi: (Opsional) Saat diatur ke
true
, otomatisasi tidak akan menjalankan perintah apa pun, melainkan akan melaporkan apa yang akan dicoba dilakukannya, merinci setiap langkah. Nilai default:true
.Jenis: Boolean
Nilai yang Diizinkan:
true|false
-
Buat AMIBackup (Opsional):
Deskripsi: (Opsional) Ketika diatur ke
true
, AMI EC2 Instans Amazon akan dibuat sebelum melakukan tindakan penahanan.Jenis: Boolean
Nilai yang Diizinkan:
true|false
-
KmsKey (Opsional):
Deskripsi: (Opsional) ID AWS KMS kunci yang akan digunakan untuk membuat terenkripsi AMI dari EC2 contoh Amazon target. Default diatur ke
alias/aws/ebs
.Tipe: String
Pola yang Diizinkan:
^(((arn:(aws|aws-cn|aws-us-gov):kms:([a-z]{2}|[a-z]{2}-gov)-[a-z]+-[0-9]{1}:[0-9]{12}:key/)?([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}|mrk-[a-f0-9]{32}))|(arn:(aws|aws-cn|aws-us-gov):kms:([a-z]{2}|[a-z]{2}-gov)-[a-z]+-[0-9]{1}:[0-9]{12}:)?alias/.{1,})$
-
Backups3 BucketName (Bersyarat):
Deskripsi: Bucket Amazon S3 (Bersyarat) Amazon S3 untuk mengunggah konfigurasi
Action
kapanContain
ada atau untuk memulihkan konfigurasiAction
kapan ada.Release
Catatan: Jika bucket yang disediakan tidak ada di akun, otomatisasi akan membuat bucket Amazon S3 atas nama Anda.Tipe:
AWS::S3::Bucket::Name
-
TagIdentifier (Opsional):
Deskripsi: (Opsional) Tag dalam format
Key=BatchId,Value=78925
yang akan ditambahkan ke AWS sumber daya yang dibuat atau dimodifikasi oleh buku runbook ini selama alur kerja penahanan. Tag ini dapat digunakan untuk mengidentifikasi dan mengelola sumber daya yang terkait selama proses penahanan. Selama alur kerja pemulihan, tag yang ditentukan oleh parameter ini akan dihapus dari sumber daya. Catatan: Kunci dan nilai tag peka huruf besar/kecil.Tipe: String
Pola yang Diizinkan:
^$|^[Kk][Ee][Yy]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{1,128},[Vv][Aa][Ll][Uu][Ee]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{0,128}$
-
Backups3 BucketAccess (Bersyarat):
Deskripsi: (Bersyarat) ARN pengguna IAM atau peran yang akan diizinkan mengakses bucket Amazon S3 cadangan setelah menjalankan tindakan penahanan. Parameter ini
Action
diperlukan kapanContain
.AutomationAssumeRole
, atau jika tidak ada pengguna yang konteksnya otomatisasi berjalan secara otomatis ditambahkan ke daftar.Tipe: String
Pola yang Diizinkan:
^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::[0-9]{12}:(role|user)\\/[\\w+\\/=,.@-]+$
-
IngressTrafficRules (Opsional):
Deskripsi: (Opsional) Peta aturan masuknya grup keamanan yang dipisahkan koma dengan Cidr IpProtocol, FromPort dan ToPort dalam format yang akan diterapkan
[{"Cidr": "1.2.3.4/32", "IpProtocol": "tcp", "FromPort":"22", "ToPort":"22"}]
ke instance Amazon. EC2 Jika tidak ada aturan yang disediakan, grup keamanan tanpa aturan masuk akan dilampirkan ke EC2 instans Amazon, yang secara efektif mengisolasinya dari lalu lintas yang masuk.Jenis: MapList
Pola yang Diizinkan:
^\\{\\}$|^\\{\"Cidr\":\"[\\x00-\\x7F+]{1,128}\",\"IpProtocol\":\"[\\x00-\\x7F+]{1,128}\",\"FromPort\":\"[\\x00-\\x7F+]{1,128}\",\"ToPort\":\"[\\x00-\\x7F+]{0,255}\"\\}
-
EgressTrafficRules (Opsional):
Deskripsi: (Opsional) Peta aturan keluar grup keamanan yang dipisahkan koma dengan Cidr IpProtocol, FromPort dan ToPort dalam format yang akan diterapkan
[{"Cidr": "1.2.3.4/32", "IpProtocol": "tcp", "FromPort":"22", "ToPort":"22"}]
ke instans Amazon Amazon. EC2 Jika tidak ada aturan yang disediakan, grup keamanan tanpa aturan jalan keluar akan dilampirkan ke EC2 instans Amazon, yang secara efektif mencegah semua lalu lintas keluar.Jenis: MapList
Pola yang Diizinkan:
^\\{\\}$|^\\{\"Cidr\":\"[\\x00-\\x7F+]{1,128}\",\"IpProtocol\":\"[\\x00-\\x7F+]{1,128}\",\"FromPort\":\"[\\x00-\\x7F+]{1,128}\",\"ToPort\":\"[\\x00-\\x7F+]{0,255}\"\\}
-
Backups3 KeyName (Opsional):
Deskripsi: (Opsional) Jika
Action
disetel keRestore
, ini menentukan kunci Amazon S3 yang akan digunakan otomatisasi untuk mencoba memulihkan konfigurasi instans EC2 Amazon target. Kunci Amazon S3 biasanya mengikuti format ini:.{year}/{month}/{day}/{hour}/{minute}/{automation_execution_id}.json
Kuncinya dapat diperoleh dari output eksekusi otomatisasi penahanan sebelumnya.Tipe: String
Pola yang Diizinkan:
^[a-zA-Z0-9\\.\\-_\\\\!*'()/]{0,1024}$
-
-
Pilih Jalankan.
-
Otomatisasi dimulai.
-
Dokumen melakukan langkah-langkah berikut:
-
ValidateRequiredInputs
Memvalidasi bahwa semua input yang diperlukan disediakan.
-
AssertInstanceIsNotTerminated
Memeriksa apakah EC2 Instance Amazon target tidak dihentikan (dihapus).
-
GetAutoScalingInstanceInfo
Mendapatkan siklus hidup EC2 instans Amazon dan nama grup jika EC2 instans Amazon target adalah bagian dari grup Auto Scaling.
-
CheckBackupS3 BucketName
Memeriksa apakah bucket Amazon S3 target berpotensi memberikan
read
atau akseswrite
publik ke objeknya. Bucket Amazon S3 baru dibuat jikaBackupS3BucketName
bucket tidak ada. -
BranchOnActionAndMode
Cabang otomatisasi berdasarkan parameter input
Action
danDryRun
. -
BranchOnAutoScalingGroupMembership
Mem-cabang otomatisasi berdasarkan apakah EC2 Instance Amazon target adalah bagian dari grup Auto Scaling dan status siklus hidupnya.
-
DescribeAutoScalingGroups
Mendapatkan dan menyimpan konfigurasi grup Amazon EC2 Auto Scaling terkait.
-
ModifyAutoScalingGroup
Memodifikasi konfigurasi grup EC2 Auto Scaling Amazon terkait untuk tindakan penahanan, menyetel instans EC2 Amazon ke status, dan
Standby
menyesuaikan kapasitas grup Auto Scaling.MinSize
-
BackupInstanceSecurityGroups
Mendapatkan dan menyimpan konfigurasi grup keamanan EC2 Instans Amazon target.
-
CreateAllAccessSecurityGroup
Membuat grup keamanan sementara yang memungkinkan semua lalu lintas masuk yang menggantikan grup keamanan EC2 Instans Amazon target.
-
CreateContainmentSecurityGroup
Membuat grup keamanan penahanan terbatas dengan aturan masuk dan keluar yang ditentukan, dan menggantikan grup semua akses sementara dengannya.
-
BranchOnCreateAMIBackup
Cabang otomatisasi berdasarkan parameter
CreateAMIBackup
input. -
AssertSourceInstanceRootVolumeIsEbs
Memeriksa apakah volume root EC2 Instans Amazon target adalah Amazon EBS.
-
CreateImage
Menciptakan sebuah AMI dari target Amazon EC2 Instance.
-
RestoreInstanceConfiguration
Memulihkan konfigurasi EC2 Instans Amazon target dari cadangan.
-
ReportContain
Mengeluarkan detail dry run untuk tindakan penahanan.
-
ReportRestore
Menghasilkan detail dry run untuk tindakan pemulihan.
-
ReportRestoreFailure
Memberikan instruksi untuk memulihkan konfigurasi asli EC2 Instans Amazon target selama skenario kegagalan alur kerja pemulihan.
-
ReportContainmentFailure
Memberikan instruksi untuk memulihkan konfigurasi asli EC2 Instans Amazon target selama skenario kegagalan alur kerja penahanan.
-
FinalOutput
Menghasilkan detail tindakan penahanan.
-
-
Setelah eksekusi selesai, tinjau bagian Output untuk hasil eksekusi yang terperinci:
-
FinalOutput.Keluaran
Mengeluarkan detail tindakan penahanan yang dilakukan oleh runbook ini saat
DryRun
disetel ke False. -
RestoreInstanceConfiguration.Keluaran
Mengeluarkan tindakan pemulihan yang dilakukan oleh runbook ini saat
DryRun
disetel ke False. -
ReportContain.Keluaran
Mengeluarkan detail tindakan penahanan yang dilakukan oleh runbook ini saat
DryRun
disetel ke True. -
ReportRestore.Keluaran
Mengeluarkan detail tindakan pemulihan yang dilakukan oleh runbook ini saat
DryRun
disetel ke True. -
ReportContainmentFailure.Keluaran
Memberikan instruksi untuk memulihkan konfigurasi asli EC2 Instans Amazon target selama skenario kegagalan alur kerja penahanan.
-
ReportRestoreFailure.Keluaran
Memberikan instruksi untuk memulihkan konfigurasi asli EC2 Instans Amazon target selama skenario kegagalan alur kerja pemulihan.
-
Referensi
Otomatisasi Systems Manager