

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

# `AWSSupport-ContainEC2Instance`
<a name="automation-awssupport-containec2instance"></a>

 **Deskripsi** 

`AWSSupport-ContainEC2Instance`Runbook menyediakan solusi otomatis untuk prosedur yang diuraikan dalam artikel [Bagaimana cara mengisolasi Instans Amazon EC2 saat dihadapkan dengan kemungkinan disusupi atau mencurigakan](https://repost.aws/articles/ARwkDzoO-8RN-SDQnA1aX-XA)? Cabang otomatisasi tergantung pada nilai yang Anda tentukan.

 **Bagaimana cara kerjanya?** 

Runbook Otomasi ini `AWSSupport-ContainEC2Instance` melakukan penahanan jaringan Instans Amazon EC2 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 membuat cadangan instance yang tidak terenkripsi dan terenkripsi. AMI 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 AMI s, 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:. [https://docs.aws.amazon.com//IAM/latest/UserGuide/access_controlling.html](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_controlling.html)
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 Instans Amazon EC2 target, 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 AMI s. 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 ke`Release`, runbook ini mencoba mengembalikan konfigurasi Instans Amazon EC2 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.

 [Jalankan Otomasi ini (konsol)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-ContainEC2Instance) 

**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: 

------
#### [ JSON ]

****  

```
	{
		"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:

1. Arahkan ke [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ContainEC2Instance/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ContainEC2Instance/description)Systems Manager di bawah Documents.

1. Pilih **Jalankan otomatisasi.**

1. 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 instans Amazon EC2 `Restore` atau mencoba memulihkan konfigurasi asli konfigurasi instans Amazon EC2 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) Jika disetel ke`true`, Instans Amazon EC2 akan dibuat sebelum melakukan tindakan penahanan. AMI
     + Jenis: Boolean
     + Nilai yang Diizinkan: `true|false`
   + **KmsKey (Opsional):**
     + Deskripsi: (Opsional) ID AWS KMS kunci yang akan digunakan untuk membuat instans Amazon EC2 target AMI terenkripsi. 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` kapan `Contain` ada atau untuk memulihkan konfigurasi `Action` 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 kapan`Contain`. `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 instans Amazon EC2. Jika tidak ada aturan yang disediakan, grup keamanan tanpa aturan masuk akan dilampirkan ke instans Amazon EC2, 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 EC2 Amazon. Jika tidak ada aturan yang disediakan, grup keamanan tanpa aturan jalan keluar akan dilampirkan ke instans Amazon EC2, 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 ke`Restore`, ini menentukan kunci Amazon S3 yang akan digunakan otomatisasi untuk mencoba memulihkan konfigurasi instans Amazon EC2 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}$`

1. Pilih Jalankan.

1. Otomatisasi dimulai.

1. Dokumen melakukan langkah-langkah berikut:
   + **ValidateRequiredInputs**

     Memvalidasi bahwa semua input yang diperlukan disediakan.
   + **AssertInstanceIsNotTerminated**

     Memeriksa apakah Instans Amazon EC2 target tidak dihentikan (dihapus).
   + **GetAutoScalingInstanceInfo**

     Mendapatkan siklus hidup instans Amazon EC2 dan nama grup jika instans Amazon EC2 target adalah bagian dari grup Auto Scaling.
   + **CheckBackupS3 BucketName**

     Memeriksa apakah bucket Amazon S3 target berpotensi memberikan `read` atau akses `write` publik ke objeknya. Bucket Amazon S3 baru dibuat jika `BackupS3BucketName` bucket tidak ada.
   + **BranchOnActionAndMode**

     Cabang otomatisasi berdasarkan parameter input `Action` dan`DryRun`.
   + **BranchOnAutoScalingGroupMembership**

     Mem-cabang otomatisasi berdasarkan apakah Instance Amazon EC2 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 Amazon EC2 Auto Scaling terkait untuk tindakan penahanan, menyetel instans Amazon EC2 ke status, `Standby` dan menyesuaikan kapasitas grup Auto Scaling. `MinSize`
   + **BackupInstanceSecurityGroups**

     Mendapatkan dan menyimpan konfigurasi grup keamanan Instans Amazon EC2 target.
   + **CreateAllAccessSecurityGroup**

     Membuat grup keamanan sementara yang memungkinkan semua lalu lintas masuk yang menggantikan grup keamanan Instans Amazon EC2 target.
   + **CreateContainmentSecurityGroup**

     Membuat grup keamanan penahanan restriktif dengan aturan masuk dan keluar yang ditentukan, dan menggantikan grup semua akses sementara dengannya.
   + **BranchOnCreateAMIBackup**

     Cabang otomatisasi berdasarkan parameter `CreateAMIBackup` input.
   + **AssertSourceInstanceRootVolumeIsEbs**

     Memeriksa apakah target volume root Instans Amazon EC2 adalah Amazon EBS.
   + **CreateImage**

     Membuat AMI Instans Amazon EC2 target.
   + **RestoreInstanceConfiguration**

     Memulihkan konfigurasi Instans Amazon EC2 target dari cadangan.
   + **ReportContain**

     Menghasilkan detail dry run untuk tindakan penahanan.
   + **ReportRestore**

     Menghasilkan detail dry run untuk tindakan pemulihan.
   + **ReportRestoreFailure**

     Memberikan instruksi untuk memulihkan konfigurasi asli Instans Amazon EC2 target selama skenario kegagalan alur kerja pemulihan.
   + **ReportContainmentFailure**

     Memberikan instruksi untuk memulihkan konfigurasi asli Instans Amazon EC2 target selama skenario kegagalan alur kerja penahanan.
   + **FinalOutput**

     Menghasilkan detail tindakan penahanan.

1. 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 Instans Amazon EC2 target selama skenario kegagalan alur kerja penahanan.
   + **ReportRestoreFailure.Keluaran**

     Memberikan instruksi untuk memulihkan konfigurasi asli Instans Amazon EC2 target selama skenario kegagalan alur kerja pemulihan.

 **Referensi** 

Otomatisasi Systems Manager
+ [Jalankan Otomasi ini (konsol)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-ContainEC2Instance)
+ [Menjalankan otomatisasi sederhana](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [Menyiapkan Otomasi](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [Support Automation Workflow](https://aws.amazon.com/premiumsupport/technology/saw/)