

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

# `AWSSupport-StartEC2RescueWorkflow`
<a name="automation-awssupport-startec2rescueworkflow"></a>

 **Deskripsi** 

`AWSSupport-StartEC2RescueWorkflow`Runbook menjalankan skrip berenkode base64 yang disediakan (Bash atau Powershell) pada instance helper yang dibuat untuk menyelamatkan instance Anda. Volume root instance Anda dilampirkan dan dipasang ke instance helper, juga dikenal sebagai instance EC2 Rescue. Jika instance Anda adalah Windows, berikan skrip Powershell. Jika tidak, gunakan Bash. Runbook menetapkan beberapa variabel lingkungan yang dapat Anda gunakan dalam skrip Anda. Variabel lingkungan berisi informasi tentang input yang Anda berikan, serta informasi tentang volume root offline. Volume offline sudah terpasang dan siap digunakan. Misalnya, Anda dapat menyimpan file Konfigurasi Status yang Diinginkan ke volume root Windows offline, atau chroot ke volume root Linux offline dan melakukan remediasi offline.

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

**penting**  
Instans Amazon EC2 yang dibuat dari Marketplace Amazon Machine Images (AMIs) tidak didukung oleh otomatisasi ini.

 **Informasi Tambahan** 

Untuk base64 menyandikan skrip, Anda dapat menggunakan Powershell atau Bash. PowerShell:

```
[System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes([System.IO.File]::ReadAllText('PATH_TO_FILE')))
```

Bash:

```
base64 PATH_TO_FILE
```

Berikut adalah daftar variabel lingkungan yang dapat Anda gunakan dalam skrip offline Anda, tergantung pada OS target

Windows:


****  

| Variabel | Deskripsi | Nilai contoh | 
| --- | --- | --- | 
|  \$1 env: RESCUE\$1ACCOUNT\$1ID EC2  |  \$1\$1global:Account\$1ID\$1\$1  |  123456789012  | 
|  \$1 env: RESCUE\$1DATE EC2  |  \$1\$1global:tanggal\$1\$1  |  2018-09-07  | 
|  \$1 env: RESCUE\$1DATE\$1TIME EC2  |  \$1\$1global:tanggal\$1waktu\$1\$1  |  2018-09-07\$118.09.59  | 
|  \$1 env: EC2 MENYELAMATKAN\$1 RW\$1DIR EC2  |  EC2Rescue untuk jalur instalasi Windows  |  C:\$1Program Files\$1 Amazon\$1 EC2 Penyelamatan  | 
|  \$1 env: EC2 MENYELAMATKAN\$1 RW\$1DIR EC2  |  EC2Rescue untuk jalur instalasi Windows  |  C:\$1Program Files\$1 Amazon\$1 EC2 Penyelamatan  | 
|  \$1env: RESCUE\$1EXECUTION\$1ID EC2  |  \$1\$1Automation:Execution\$1ID\$1\$1  |  7ef8008e-219b-4aca-8bb5-65e2e898e20b  | 
|  \$1env: RESCUE\$1OFFLINE\$1CURRENT\$1CONTROL\$1SET EC2  |  Offline Windows Kontrol Saat Ini Set jalur  |  `HKLM:\AWSTempSystem\ControlSet001`  | 
|  \$1 env: RESCUE\$1OFFLINE\$1DRIVE EC2  |  Huruf drive Windows offline  |  D:\$1  | 
|  \$1 env: RESCUE\$1OFFLINE\$1EBS\$1DEVICE EC2  |  Perangkat EBS volume root offline  |  xvdf  | 
|  \$1env: RESCUE\$1OFFLINE\$1KERNEL\$1VER EC2  |  Versi Kernel Windows Offline  |  6.1.7601.24214  | 
|  \$1env: RESCUE\$1OFFLINE\$1OS\$1ARCHITECTURE EC2  |  Arsitektur Windows Offline  |  AMD64  | 
|  \$1env: RESCUE\$1OFFLINE\$1OS\$1CAPTION EC2  |  Keterangan Windows Offline  |  Pusat Data Windows Server 2008 R2  | 
|  \$1 env: RESCUE\$1OFFLINE\$1OS\$1TYPE EC2  |  Jenis OS Windows Offline  |  Server  | 
|  \$1env: RESCUE\$1OFFLINE\$1PROGRAM\$1FILES\$1DIR EC2  |  Jalur direktori file Program Windows Offline  |  D:\$1Program Berkas  | 
|  \$1env: RESCUE\$1OFFLINE\$1PROGRAM\$1FILES\$1X86\$1DIR EC2  |  Offline Windows Program file jalur direktori x86  |  D:\$1Program Berkas (x86)  | 
|  \$1env: RESCUE\$1OFFLINE\$1REGISTRY\$1DIR EC2  |  Jalur direktori registri Windows offline  |  D:\$1Windows\$1System32\$1config  | 
|  \$1env: RESCUE\$1OFFLINE\$1SYSTEM\$1ROOT EC2  |  Jalur direktori root sistem Windows offline  |  D:\$1Windows  | 
|  \$1 env: RESCUE\$1REGION EC2  |  \$1\$1global:wilayah\$1\$1  |  us-west-1  | 
|  \$1env: RESCUE\$1S3\$1BUCKET EC2  |  \$1\$1S3BucketName \$1\$1  |  amzn-s3-demo-ember  | 
|  \$1env: RESCUE\$1S3\$1AWALAN EC2  |  \$1\$1S3Awalan\$1\$1  |  myprefix/  | 
|  \$1env: RESCUE\$1SOURCE\$1INSTANCE EC2  |  \$1\$1 InstanceId \$1\$1  |  abcdefgh123456789  | 
|  \$1 skrip: EC2 RESCUE\$1OFFLINE\$1WINDOWS\$1INSTALL  |  Metadata Instalasi Windows Offline  |  Objek Powershell Pelanggan  | 

Linux:


****  

| Variabel | Deskripsi | Nilai contoh | 
| --- | --- | --- | 
|  EC2RESCUE\$1ACCOUNT\$1ID  |  \$1\$1global:Account\$1ID\$1\$1  |  123456789012  | 
|  EC2RESCUE\$1DATE  |  \$1\$1global:tanggal\$1\$1  |  2018-09-07  | 
|  EC2RESCUE\$1DATE\$1TIME  |  \$1\$1global:tanggal\$1waktu\$1\$1  |  2018-09-07\$118.09.59  | 
|  EC2MENYELAMATKAN\$1 EC2 RL\$1DIR  |  EC2Penyelamatan untuk jalur instalasi Linux  |  /usr/local/ec2rl-1.1.3  | 
|  EC2RESCUE\$1EXECUTION\$1ID  |  \$1\$1Automation:Execution\$1ID\$1\$1  |  7ef8008e-219b-4aca-8bb5-65e2e898e20b  | 
|  EC2RESCUE\$1OFFLINE\$1DEVICE  |  Nama perangkat offline  |  /dev/xvdf1  | 
|  EC2RESCUE\$1OFFLINE\$1EBS\$1DEVICE  |  Perangkat EBS volume root offline  |  /dev/sdf  | 
|  EC2RESCUE\$1OFFLINE\$1SYSTEM\$1ROOT  |  Titik pemasangan volume root offline  |  /mnt/mount  | 
|  EC2RESCUE\$1PYTHON  |  Versi Python  |  python2.7  | 
|  EC2RESCUE\$1REGION  |  \$1\$1global:wilayah\$1\$1  |  us-west-1  | 
|  EC2RESCUE\$1S3\$1BUCKET  |  \$1\$1S3BucketName \$1\$1  |  amzn-s3-demo-ember  | 
|  EC2RESCUE\$1S3\$1AWALAN  |  \$1\$1S3Awalan\$1\$1  |  myprefix/  | 
|  EC2RESCUE\$1SOURCE\$1INSTANCE  |  \$1\$1 InstanceId \$1\$1  |  abcdefgh123456789  | 

**Jenis dokumen**

Otomatisasi

**Pemilik**

Amazon

**Platform**

Linux,macOS, Windows

**Parameter**
+ AMIPrefix

  Tipe: String

  Default: `AWSSupport-EC2Rescue`

  Deskripsi: (Opsional) Awalan untuk nama AMI cadangan.
+ AutomationAssumeRole

  Tipe: String

  Deskripsi: (Opsional) Nama Sumber Daya Amazon (ARN) peran 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.
+ CreatePostEC2RescueBackup

  Tipe: String

  Nilai yang valid: benar/salah

  Bawaan: salah

  Deskripsi: (Opsional) Setel `true` untuk membuat AMI InstanceId setelah menjalankan skrip, sebelum memulainya. AMI akan bertahan setelah otomatisasi selesai. Anda bertanggung jawab untuk mengamankan akses ke AMI, atau menghapusnya.
+ CreatePreEC2RescueBackup

  Tipe: String

  Nilai yang valid: benar/salah

  Bawaan: salah

  Deskripsi: (Opsional) Setel `true` untuk membuat AMI InstanceId sebelum menjalankan skrip. AMI akan bertahan setelah otomatisasi selesai. Anda bertanggung jawab untuk mengamankan akses ke AMI, atau menghapusnya. 
+ EC2RescueInstanceType

  Tipe: String

  Nilai yang valid: t2.small \$1 t2.medium \$1 t2.large \$1 t3.small \$1 t3.medium \$1 t3.large \$1 i3.large

  Default: t3.medium

  Deskripsi: (Opsional) Jenis instans EC2 untuk instans EC2 Rescue.
+ InstanceId

  Tipe: String

  Deskripsi: (Wajib) ID instans EC2 Anda. PENTING: AWS Systems Manager Otomasi menghentikan instance ini. Data yang disimpan dalam volume penyimpanan instance akan hilang. Alamat IP publik akan berubah jika Anda tidak menggunakan IP Elastis.
+ OfflineScript

  Tipe: String

  Deskripsi: (Wajib) Skrip yang dikodekan Base64 untuk dijalankan terhadap instance helper. Gunakan Bash jika instance sumber Anda adalah Linux, dan PowerShell jika itu adalah Windows.
+ S3 BucketName

  Tipe: String

  Deskripsi: (Opsional) Nama bucket S3 di akun tempat Anda ingin mengunggah log pemecahan masalah. Pastikan kebijakan bucket tidak memberikan read/write izin yang tidak perlu kepada pihak yang tidak memerlukan akses ke log yang dikumpulkan.
+ S3Prefix

  Tipe: String

  Default: `AWSSupport-EC2Rescue`

  Deskripsi: (Opsional) Awalan untuk log S3.
+ SubnetId

  Tipe: String

  Default: SelectedInstanceSubnet

  Deskripsi: (Opsional) ID subnet untuk contoh EC2 Penyelamatan. Secara default, subnet yang sama di mana instance yang disediakan berada digunakan. PENTING: Jika Anda menyediakan subnet kustom, subnet tersebut harus berada di Availability Zone yang sama InstanceId, dan harus mengizinkan akses ke endpoint SSM.
+ UniqueId

  Tipe: String

  Default: \$1\$1Automation:Execution\$1ID\$1\$1

  Deskripsi: (Opsional) Pengidentifikasi unik untuk otomatisasi.

**Izin IAM yang diperlukan**

`AutomationAssumeRole`Parameter memerlukan tindakan berikut untuk menggunakan runbook dengan sukses.

Disarankan bahwa pengguna yang menjalankan otomatisasi memiliki kebijakan terkelola IAM **SSMAutomationPeran Amazon** yang dilampirkan. Selain kebijakan itu, pengguna harus memiliki:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "lambda:InvokeFunction",
                "lambda:DeleteFunction",
                "lambda:GetFunction"
            ],
            "Resource": "arn:aws:lambda:*:111122223333:function:AWSSupport-EC2Rescue-*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": [
                "arn:aws:s3:::awssupport-ssm.*/*.template",
                "arn:aws:s3:::awssupport-ssm.*/*.zip"
            ],
            "Effect": "Allow"
        },
        {
            "Action": [
                "iam:CreateRole",
                "iam:CreateInstanceProfile",
                "iam:GetRole",
                "iam:GetInstanceProfile",
                "iam:PutRolePolicy",
                "iam:DetachRolePolicy",
                "iam:AttachRolePolicy",
                "iam:PassRole",
                "iam:AddRoleToInstanceProfile",
                "iam:RemoveRoleFromInstanceProfile",
                "iam:DeleteRole",
                "iam:DeleteRolePolicy",
                "iam:DeleteInstanceProfile"
            ],
            "Resource": [
                "arn:aws:iam::111122223333:role/AWSSupport-EC2Rescue-*",
                "arn:aws:iam::111122223333:instance-profile/AWSSupport-EC2Rescue-*"
            ],
            "Effect": "Allow"
        },
        {
            "Action": [
                "lambda:CreateFunction",
                "ec2:CreateVpc",
                "ec2:ModifyVpcAttribute",
                "ec2:DeleteVpc",
                "ec2:CreateInternetGateway",
                "ec2:AttachInternetGateway",
                "ec2:DetachInternetGateway",
                "ec2:DeleteInternetGateway",
                "ec2:CreateSubnet",
                "ec2:DeleteSubnet",
                "ec2:CreateRoute",
                "ec2:DeleteRoute",
                "ec2:CreateRouteTable",
                "ec2:AssociateRouteTable",
                "ec2:DisassociateRouteTable",
                "ec2:DeleteRouteTable",
                "ec2:CreateVpcEndpoint",
                "ec2:DeleteVpcEndpoints",
                "ec2:ModifyVpcEndpoint",
                "ec2:Describe*"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}
```

------

 **Langkah Dokumen** 

1. `aws:executeAwsApi`- Jelaskan contoh yang disediakan

1. `aws:executeAwsApi`- Jelaskan volume root instance yang disediakan

1. `aws:assertAwsResourceProperty`- Periksa jenis perangkat volume root adalah EBS

1. `aws:assertAwsResourceProperty`- Periksa volume root tidak dienkripsi

1. `aws:assertAwsResourceProperty`- Periksa ID subnet yang diberikan

   1. (Gunakan subnet instance saat ini) - Jika \$1 SubnetId = SelectedInstanceSubnet \$1 lalu jalankan `aws:createStack` untuk menyebarkan tumpukan Rescue EC2 CloudFormation 

   1. (Buat VPC baru) - Jika \$1 SubnetId = CreateNew VPC\$1 kemudian jalankan `aws:createStack` untuk menyebarkan tumpukan Rescue EC2 CloudFormation 

   1. (Gunakan subnet khusus) - Dalam semua kasus lain:

      `aws:assertAwsResourceProperty`- Periksa subnet yang disediakan berada di Availability Zone yang sama dengan instance yang disediakan

      `aws:createStack`- Menyebarkan tumpukan EC2 Penyelamatan CloudFormation 

1. `aws:invokeLambdaFunction`- Lakukan validasi masukan tambahan

1. `aws:executeAwsApi`- Perbarui CloudFormation tumpukan EC2 Rescue untuk membuat instance pembantu EC2 Rescue

1. `aws:waitForAwsResourceProperty`- Tunggu pembaruan CloudFormation tumpukan EC2 Rescue selesai

1. `aws:executeAwsApi`- Jelaskan output CloudFormation stack EC2 Rescue untuk mendapatkan ID instans EC2 Rescue helper

1. `aws:waitForAwsResourceProperty`- Tunggu instance pembantu EC2 Rescue menjadi instance terkelola

1. `aws:changeInstanceState`- Hentikan contoh yang disediakan

1. `aws:changeInstanceState`- Hentikan contoh yang disediakan

1. `aws:changeInstanceState`- Paksa menghentikan contoh yang disediakan

1. `aws:assertAwsResourceProperty`- Periksa nilai CreatePre EC2 RescueBackup masukan

   1. (Buat cadangan pra- EC2 Penyelamatan) - Jika \$1 CreatePre EC2 RescueBackup = benar\$1

   1. `aws:executeAwsApi`- Buat cadangan AMI dari instance yang disediakan

   1. `aws:createTags`- Tandai cadangan AMI

1. `aws:runCommand`- Instal EC2 Rescue pada contoh pembantu EC2 Rescue

1. `aws:executeAwsApi`- Lepaskan volume root dari instance yang disediakan

1. `aws:assertAwsResourceProperty`- Periksa platform instance yang disediakan

   1. (Instans adalah Windows):

      `aws:executeAwsApi`- Lampirkan volume root ke instance EC2 Rescue helper sebagai\$1xvdf\$1

      `aws:sleep`- Tidur 10 detik

      `aws:runCommand`- Jalankan skrip offline yang disediakan di Powershell

   1. (Instance adalah Linux):

      `aws:executeAwsApi`- Lampirkan volume root ke instance EC2 Rescue helper sebagai \$1/dev/sdf\$1

      `aws:sleep`- Tidur 10 detik

      `aws:runCommand`- Jalankan skrip offline yang disediakan di Bash

1. `aws:changeInstanceState`- Hentikan contoh pembantu EC2 Penyelamatan

1. `aws:changeInstanceState`- Paksa menghentikan contoh pembantu EC2 Penyelamatan

1. `aws:executeAwsApi`- Lepaskan volume root dari instance EC2 Rescue helper

1. `aws:executeAwsApi`- Pasang kembali volume root ke instance yang disediakan

1. `aws:assertAwsResourceProperty`- Periksa nilai CreatePost EC2 RescueBackup masukan

   1. (Buat cadangan pasca- EC2 Penyelamatan) - Jika \$1 CreatePost EC2 RescueBackup = benar\$1

   1. `aws:executeAwsApi`- Buat cadangan AMI dari instance yang disediakan

   1. `aws:createTags`- Tandai cadangan AMI

1. `aws:executeAwsApi`- Kembalikan penghapusan awal pada status terminasi untuk volume root dari instance yang disediakan

1. `aws:changeInstanceState`- Kembalikan status awal dari instance yang disediakan (menjalankan/berhenti)

1. `aws:deleteStack`- Hapus CloudFormation tumpukan EC2 Rescue

 **Keluaran** 

runScriptForLinux.Keluaran

runScriptForWindows.Keluaran

preScriptBackup.ImageId

postScriptBackup.ImageId