

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

# `AWSSupport-MigrateXenToNitroLinux`
<a name="automation-awssupport-migrate-xen-to-nitro"></a>

 **Deskripsi** 

 `AWSSupport-MigrateXenToNitroLinux`Runbook mengkloning, menyiapkan, dan memigrasikan instans Linux Xen Amazon Elastic Compute Cloud ( EC2Amazon) ke [Nitro jenis contoh](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances). Runbook ini menyediakan dua opsi untuk jenis operasi: 
+ `Clone&Migrate`— Alur kerja opsi ini terdiri dari **Pemeriksaan Awal**, **Pengujian**, dan **Clone&Migrate**fase. Alur kerja dijalankan menggunakan `AWSSupport-CloneXenEC2InstanceAndMigrateToNitro` runbook.
+ `FullMigration`— Opsi ini menjalankan `Clone&Migrate` alur kerja dan kemudian melakukan langkah tambahan **Ganti volume Amazon EBS root**.

**penting**  
Menggunakan runbook ini menimbulkan biaya ke akun Anda untuk waktu berjalan EC2 instans Amazon, pembuatan volume Amazon Elastic Block Store (Amazon EBS), dan AMIs. Untuk detail selengkapnya, lihat [ EC2 Harga Amazon dan Harga](https://aws.amazon.com/ec2/pricing/) [Amazon EBS](https://aws.amazon.com/ebs/pricing/).

 **Pemeriksaan awal** 

Otomatisasi melakukan pemeriksaan pendahuluan berikut sebelum melanjutkan migrasi. Jika salah satu pemeriksaan gagal, otomatisasi berakhir. Fase ini hanya bagian dari `Clone&Migrate` alur kerja.
+ Memeriksa apakah instance target sudah Nitro jenis contoh.
+ Memeriksa apakah opsi pembelian Instans Spot digunakan untuk instance target.
+ Memeriksa apakah volume penyimpanan instance dilampirkan ke instance target.
+ Memverifikasi sistem operasi instance target (OS) adalah Linux.
+  Memeriksa apakah instance target adalah bagian dari grup EC2 Auto Scaling Amazon. Jika itu adalah bagian dari grup Auto Scaling, otomatisasi memverifikasi bahwa instance dalam status. `standby`
+ Memverifikasi bahwa instance dikelola oleh AWS Systems Manager.

 **Pengujian** 

Otomatisasi menciptakan Amazon Machine Image (AMI) dari instance target dan meluncurkan instance pengujian dari yang baru dibuat AMI. Fase ini hanya bagian dari `Clone&Migrate` alur kerja.

Jika instans pengujian melewati semua pemeriksaan status, otomatisasi dijeda dan persetujuan dari prinsipal yang ditunjuk akan diminta melalui notifikasi Amazon Simple Notification Service (Amazon SNS). Jika persetujuan diberikan, otomatisasi menghentikan instance pengujian, menghentikan instance target, dan melanjutkan migrasi, sementara yang baru dibuat AMI dideregistrasi di akhir alur kerja. `Clone&Migrate`

**catatan**  
Sebelum memberikan persetujuan, sebaiknya verifikasi bahwa semua aplikasi yang berjalan pada instans target telah ditutup dengan baik.

 **Kloning dan Migrasi** 

Otomatisasi menciptakan yang lain AMI dari instance target, dan meluncurkan instance baru untuk diubah menjadi Nitro jenis contoh. Otomatisasi melengkapi prasyarat berikut sebelum melanjutkan migrasi. Jika salah satu pemeriksaan gagal, otomatisasi berakhir. Fase ini juga hanya bagian dari `Clone&Migrate` alur kerja.
+ Mengaktifkan atribut jaringan yang disempurnakan (ENA).
+ Menginstal versi terbaru driver ENA jika belum diinstal, atau memperbarui versi driver ENA ke versi terbaru. Untuk memastikan kinerja jaringan maksimum, pembaruan ke versi driver ENA terbaru diperlukan jika Nitro tipe instance adalah generasi ke-6.
+  Memverifikasi bahwa NVMe modul diinstal. Jika modul diinstal, otomatisasi memverifikasi bahwa modul dimuat. `initramfs`
+  Menganalisis `/etc/fstab` dan mengganti entri dengan nama perangkat blok (`/dev/sd*`atau`/dev/xvd*`) dengan masing-masing. UUIDs Sebelum memodifikasi konfigurasi, otomatisasi membuat cadangan file di jalur`/etc/fstab*`.
+  Mematikan penamaan antarmuka yang dapat diprediksi dengan menambahkan `net.ifnames=0` opsi ke `GRUB_CMDLINE_LINUX` baris dalam `/etc/default/grub` file jika ada, atau ke kernel di`/boot/grub/menu.lst`.
+  Menghapus `/etc/udev/rules.d/70-persistent-net.rules` file jika ada. Sebelum menghapus file, otomatisasi membuat cadangan file di jalur`/etc/udev/rules.d/`.

Setelah memverifikasi semua persyaratan, jenis instance diubah menjadi Nitro jenis contoh yang Anda tentukan. Otomatisasi menunggu instance yang baru dibuat untuk lulus semua pemeriksaan status setelah memulai sebagai Nitro jenis contoh. Otomatisasi kemudian menunggu persetujuan dari kepala sekolah yang ditunjuk untuk membuat AMI dari yang berhasil diluncurkan Nitro contoh. Jika persetujuan ditolak, otomatisasi berakhir, membiarkan instance yang baru dibuat berjalan, dan instance target tetap dihentikan.

 **Ganti root Amazon EBS Volume** 

 Jika Anda memilih `FullMigration` sebagai`OperationType`, otomatisasi memigrasikan EC2 instans Amazon target ke Nitro jenis contoh yang Anda tentukan. Otomatisasi meminta persetujuan dari prinsipal yang ditunjuk untuk mengganti volume root Amazon EBS dari instans Amazon target dengan volume root EC2 instans Amazon yang dikloning. EC2 Setelah migrasi berhasil, EC2 instance Amazon yang dikloning dihentikan. Jika otomatisasi gagal, volume root Amazon EBS asli dilampirkan ke EC2 instans Amazon target. Jika volume Amazon EBS root yang dilampirkan ke EC2 instans Amazon target memiliki tag dengan `aws:` awalan yang diterapkan, `FullMigration` operasi tidak didukung. 

 **Sebelum Anda memulai** 

Instance target harus memiliki akses internet keluar. Ini untuk mengakses repositori untuk driver dan dependensi seperti kernel-devel, gcc, patch, rpm-build, wget, dracut, make, linux-headers, dan unzip. Package manager digunakan jika diperlukan.

Topik Amazon SNS diperlukan untuk mengirim pemberitahuan untuk persetujuan dan pembaruan. Untuk informasi selengkapnya tentang membuat topik Amazon SNS, lihat [Membuat topik Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html) di Panduan Pengembang Layanan *Pemberitahuan Sederhana Amazon*.

 Runbook ini mendukung sistem operasi berikut: 
+ RHEL 7.x - 8.5
+ Amazon Linux (2018.03), Amazon Linux 2
+ Debian Server
+ Server Ubuntu 18.04 LTS, 20.04 LTS, dan 20.10 STR
+ SUSE Linux Enterprise Server (SUSE12SP5, SUSE15SP2)

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

**Jenis dokumen**

Otomatisasi

**Pemilik**

Amazon

**Platform**

Linux

**Parameter**
+ 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.
+ Pengakuan

  Tipe: String

  Deskripsi: (Wajib) Baca detail lengkap tindakan yang dilakukan oleh runbook otomatisasi ini, dan masukkan **Yes, I understand and acknowledge** untuk melanjutkan menggunakan runbook.
+ ApproverIAM

  Tipe: String

  Deskripsi: (Wajib) ARNs Peran IAM, pengguna, atau nama pengguna yang dapat memberikan persetujuan untuk otomatisasi. Anda dapat menentukan maksimal 10 pemberi persetujuan.
+ DeleteResourcesOnFailure

  Jenis: Boolean

  Deskripsi: (Opsional) Menentukan apakah instance yang baru dibuat dan AMI untuk migrasi dihapus jika otomatisasi gagal.

  Nilai yang valid: Benar \$1 Salah

  Bawaan: BETUL
+ MinimumRequiredApprovals

  Tipe: String

  Deskripsi: (Opsional) Jumlah minimum persetujuan yang diperlukan untuk terus menjalankan otomatisasi saat persetujuan diminta.

  Nilai yang valid: 1-10

  Default: 1
+ NitroInstanceType

  Tipe: String

  Deskripsi: (Diperlukan) Nitro jenis instance yang ingin Anda ubah instance. Jenis instans yang didukung termasuk M5, M6, C5, C6, R5, R6, dan T3.

  Default: m5.xlarge
+ OperationType

  Tipe: String

   Deskripsi: (Wajib) Operasi yang ingin Anda lakukan. `FullMigration`Opsi ini melakukan tugas yang sama `Clone&Migrate` dan juga menggantikan volume root dari instance target Anda. Volume root dari instance target diganti dengan volume root dari instance yang baru dibuat setelah proses migrasi. `FullMigration`Operasi tidak mendukung volume root yang ditentukan oleh Logical Volume Manager (LVM). 

  Nilai yang valid: Klon&Migrasi \$1 FullMigration
+ SNSTopicArn

  Tipe: String

  Deskripsi: (Wajib) ARN topik Amazon SNS untuk pemberitahuan persetujuan. Topik Amazon SNS digunakan untuk mengirim pemberitahuan persetujuan yang diperlukan selama otomatisasi.
+ TargetInstanceId

  Tipe: String

  Deskripsi: (Wajib) ID EC2 instans Amazon untuk bermigrasi.

## Clone&Migrate alur kerja
<a name="clone-ami"></a>

**Izin IAM yang diperlukan**

`AutomationAssumeRole`Parameter memerlukan tindakan berikut untuk menggunakan runbook dengan sukses.
+  `ssm:DescribeAutomationExecutions` 
+  `ssm:StartAutomationExecution` 
+  `ssm:DescribeInstanceInformation` 
+  `ssm:DescribeAutomationStepExecutions` 
+  `ssm:SendCommand` 
+  `ssm:GetAutomationExecution` 
+  `ssm:ListCommands` 
+  `ssm:ListCommandInvocations` 
+  `ec2:DescribeInstances` 
+  `ec2:DescribeInstanceTypeOfferings` 
+  `ec2:DescribeInstanceTypes` 
+  `ec2:DescribeImages` 
+  `ec2:CreateImage` 
+  `ec2:RunInstances` 
+  `ec2:DescribeInstanceStatus` 
+  `ec2:DeregisterImage` 
+  `ec2:DeleteSnapshot` 
+  `ec2:TerminateInstances` 
+  `ec2:StartInstances` 
+  `ec2:DescribeKeyPairs` 
+  `ec2:StopInstances` 
+  `kms:CreateGrant*` 
+  `kms:ReEncrypt` 
+  `ec2:ModifyInstanceAttribute` 
+  `autoscaling:DescribeAutoScalingInstances` 
+  `iam:passRole` 
+  `iam:ListRoles` 

 **Langkah Dokumen** 
+  `startOfPreliminaryChecksBranch`- Cabang ke alur kerja pemeriksaan awal. 
+  `getTargetInstanceProperties`- Mengumpulkan rincian dari contoh target. 
+  `checkIfNitroInstanceTypeIsSupportedInAZ`- Menentukan apakah jenis EC2 instans Amazon target didukung di Availability Zone yang sama dengan instance target. 
+  `getXenInstanceTypeDetails`- Mengumpulkan rincian tentang jenis instance sumber. 
+  `checkIfInstanceHypervisorIsNitroAlready`- Memeriksa apakah instance target sudah berjalan sebagai Nitro jenis contoh. 
+  `checkIfTargetInstanceLifecycleIsSpot`- Memeriksa apakah opsi pembelian dari instans target adalah Spot. 
+  `checkIfOperatingSystemIsLinux`- Memeriksa apakah OS instance target adalah Linux. 
+  `verifySSMConnectivityForTargetInstance`- Memverifikasi bahwa instance target dikelola oleh Systems Manager.
+  `checkIfEphemeralVolumeAreSupported`- Memeriksa apakah jenis instance saat ini dari instance target mendukung volume penyimpanan instance. 
+  `verifyIfTargetInstanceHasEphemeralVolumesAttached`- Memeriksa apakah instance target memiliki volume penyimpanan instance yang terpasang.
+  `checkIfRootVolumeIsEBS`- Memeriksa apakah jenis volume root instance target adalah EBS. 
+  `checkIfTargetInstanceIsInASG`- Memeriksa apakah instance target adalah bagian dari grup Auto Scaling. 
+  `endOfPreliminaryChecksBranch`- Akhir dari cabang Pemeriksaan awal. 
+  `startOfTestBranch`- Cabang ke alur kerja Pengujian. 
+  `createTestImage`- Membuat tes AMI dari contoh target. 
+  `launchTestInstanceInSameSubnet`- Meluncurkan contoh pengujian dari pengujian AMI menggunakan konfigurasi yang sama dengan instance target. 
+  `cleanupTestInstance`- Mengakhiri contoh pengujian. 
+  `endOfTestBranch`- Akhir cabang Pengujian. 
+  `checkIfTestingBranchSucceeded`- Memeriksa status cabang Pengujian. 
+  `approvalToStopTargetInstance`- Menunggu persetujuan dari kepala sekolah yang ditunjuk untuk menghentikan instance target. 
+  `stopTargetEC2Instance`- Menghentikan instance target. 
+  `forceStopTargetEC2Instance`- Paksa menghentikan instance target hanya jika langkah sebelumnya gagal menghentikan instance. 
+  `startOfCloneAndMigrateBranch`- Cabang ke Clone&Migrate alur kerja. 
+  `createBackupImage`- Menciptakan AMI dari instance target untuk berfungsi sebagai cadangan. 
+  `launchInstanceInSameSubnet`- Meluncurkan instance baru dari cadangan AMI menggunakan konfigurasi yang sama dengan instance sumber. 
+  `waitForClonedInstanceToPassStatusChecks`- Menunggu instance yang baru dibuat untuk lulus semua pemeriksaan status. 
+  `verifySSMConnectivityForClonedInstance`- Memverifikasi bahwa instance yang baru dibuat dikelola oleh Systems Manager. 
+  `checkAndInstallENADrivers`- Memeriksa apakah driver ENA diinstal pada instance yang baru dibuat, dan menginstal driver jika diperlukan. 
+  `checkAndAddNVMEDrivers`- Memeriksa apakah NVMe driver diinstal pada instance yang baru dibuat, dan menginstal driver jika diperlukan. 
+  `checkAndModifyFSTABEntries`- Memeriksa apakah nama perangkat digunakan `/etc/fstab` dan menggantinya dengan UUIDs jika diperlukan. 
+  `stopClonedInstance`- Menghentikan instance yang baru dibuat. 
+  `forceStopClonedInstance`- Paksa menghentikan instance yang baru dibuat hanya jika langkah sebelumnya gagal menghentikan instance. 
+  `checkENAAttributeForClonedInstance`- Memeriksa apakah atribut jaringan yang disempurnakan diaktifkan untuk instance yang baru dibuat. 
+  `setNitroInstanceTypeForClonedInstance`- Mengubah jenis instance untuk instance yang baru dibuat ke Nitro jenis contoh yang Anda tentukan. 
+  `startClonedInstance`- Memulai instance yang baru dibuat yang jenis instancenya Anda ubah. 
+  `approvalForCreatingImageAfterDriversInstallation`- Jika instance berhasil dimulai sebagai Nitro tipe instance, otomatisasi menunggu persetujuan dari kepala sekolah yang diperlukan. Jika persetujuan diberikan, AMI diciptakan untuk digunakan sebagai emas AMI. 
+  `createImageAfterDriversInstallation`- Menciptakan AMI untuk digunakan sebagai emas AMI. 
+  `endOfCloneAndMigrateBranch`- Akhir dari Clone&Migrate cabang. 
+  `cleanupTestImage`- Deregister AMI dibuat untuk pengujian. 
+  `failureHandling`- Memeriksa apakah Anda memilih untuk menghentikan sumber daya pada kegagalan. 
+  `onFailureTerminateClonedInstance`- Mengakhiri instance yang baru dibuat jika otomatisasi gagal. 
+  `onFailurecleanupTestImage`- Deregister AMI dibuat untuk pengujian. 
+  `onFailureApprovalToStartTargetInstance`- Jika otomatisasi gagal, tunggu persetujuan dari kepala sekolah yang ditunjuk untuk memulai instance target. 
+  `onFailureStartTargetInstance`- Jika otomatisasi gagal, mulai instance target. 

## FullMigration alur kerja
<a name="full-migration"></a>

**Izin IAM yang diperlukan**

`AutomationAssumeRole`Parameter memerlukan tindakan berikut untuk menggunakan runbook dengan sukses.
+  `ssm:DescribeAutomationExecutions` 
+  `ssm:DescribeInstanceInformation` 
+  `ssm:DescribeAutomationStepExecutions` 
+  `ssm:SendCommand` 
+  `ssm:GetAutomationExecution` 
+  `ssm:ListCommands` 
+  `ssm:ListCommandInvocations` 
+  `ec2:DescribeInstances` 
+  `ec2:DescribeInstanceTypeOfferings` 
+  `ec2:DescribeInstanceTypes` 
+  `ec2:DescribeImages` 
+  `ec2:CreateImage` 
+  `ec2:RunInstances` 
+  `ec2:DescribeInstanceStatus` 
+  `ec2:DeregisterImage` 
+  `ec2:DeleteSnapshot` 
+  `ec2:TerminateInstances` 
+  `ec2:StartInstances` 
+  `ec2:DescribeKeyPairs` 
+  `ec2:StopInstances` 
+  `kms:CreateGrant*` 
+  `kms:ReEncrypt` 
+  `ec2:ModifyInstanceAttribute` 
+  `ec2:DetachVolume` 
+  `ec2:AttachVolume` 
+  `ec2:DescribeVolumes` 
+  `autoscaling:DescribeAutoScalingInstances` 
+  `iam:PassRole` 
+  `ec2:CreateTags` 
+  `cloudformation:DescribeStackResources` 

 **Langkah Dokumen** 

`FullMigration`Alur kerja menjalankan langkah yang sama dengan `Clone&Migrate` alur kerja dan juga melakukan langkah-langkah berikut:
+  `checkConcurrency`- Memverifikasi bahwa hanya ada satu otomatisasi runbook ini yang menargetkan EC2 instans Amazon yang Anda tentukan. Jika runbook menemukan otomatisasi lain dalam proses yang menargetkan instance yang sama, otomatisasi berakhir.
+  `getTargetInstanceProperties`- Mengumpulkan rincian dari contoh target. 
+  `checkRootVolumeTags`- Menentukan apakah volume root EC2 instance Amazon target berisi tag yang AWS dicadangkan. 
+  `cloneTargetInstanceAndMigrateToNitro`- Memulai otomatisasi anak menggunakan `AWS-CloneXenInstanceToNitro` runbook. 
+  `branchOnTheOperationType`- Cabang pada nilai yang Anda tentukan untuk `OperationType` parameter.
+  `getClonedInstanceId`- Mengambil ID dari instance yang baru diluncurkan dari otomatisasi anak.
+  `checkIfRootVolumeIsBasedOnLVM`- Menentukan apakah partisi root dikelola oleh LVM.
+  `branchOnTheRootVolumeLVMStatus`- Jika persetujuan minimum yang diperlukan diterima dari kepala sekolah, otomatisasi dilanjutkan dengan penggantian volume root.
+  `manualInstructionsInCaseOfLVM`- Jika volume root dikelola oleh LVM, otomatisasi mengirimkan output yang berisi instruksi untuk cara mengganti volume root secara manual.
+  `startOfReplaceRootEBSVolumeBranch`- Memulai alur kerja cabang Replace Root EBS Volume.
+  `checkIfTargetInstanceIsManagedByCFN`- Menentukan apakah instance target dikelola oleh AWS CloudFormation tumpukan.
+  `branchOnCFNStackStatus`- Cabang berdasarkan status CloudFormation tumpukan.
+  `approvalForRootVolumesReplacement(WithCFN)`- Jika instance target diluncurkan oleh CloudFormation, otomatisasi menunggu persetujuan setelah instance yang baru diluncurkan berhasil dimulai sebagai Nitro jenis contoh. Saat persetujuan diberikan, volume Amazon EBS dari instans target diganti dengan volume root dari instans yang baru diluncurkan. 
+  `approvalForRootVolumesReplacement`- Menunggu persetujuan setelah instance yang baru diluncurkan berhasil dimulai sebagai Nitro jenis contoh. Saat persetujuan diberikan, volume Amazon EBS dari instans target diganti dengan volume root dari instans yang baru diluncurkan. 
+  `assertIfTargetEC2InstanceIsStillStopped`- Memverifikasi bahwa instance target dalam `stopped` keadaan sebelum mengganti volume root. 
+  `stopTargetInstanceForRootVolumeReplacement`- Jika instance target sedang berjalan, otomatisasi menghentikan instance sebelum mengganti volume root. 
+  `forceStopTargetInstanceForRootVolumeReplacement`- Paksa menghentikan instance target jika langkah sebelumnya gagal. 
+  `stopClonedInstanceForRootVolumeReplacement`- Menghentikan instans yang baru dibuat sebelum mengganti volume Amazon EBS. 
+  `forceStopClonedInstanceForRootVolumeReplacement`- Paksa menghentikan instance yang baru dibuat jika langkah sebelumnya gagal. 
+  `getBlockDeviceMappings`- Mengambil pemetaan perangkat blok untuk target dan instance yang baru dibuat. 
+  `replaceRootEbsVolumes`- Mengganti volume root dari instance target dengan volume root dari instance yang baru dibuat. 
+  `EndOfReplaceRootEBSVolumeBranch`- Akhir alur kerja cabang Replace Root EBS Volume. 
+  `checkENAAttributeForTargetInstance`- Memeriksa apakah atribut jaringan yang disempurnakan (ENA) diaktifkan untuk EC2 instans Amazon target.
+  `enableENAAttributeForTargetInstance`- Mengaktifkan atribut ENA untuk EC2 instance Amazon target jika diperlukan.
+  `setNitroInstanceTypeForTargetInstance`- Mengubah instance target ke Nitro jenis contoh yang Anda tentukan.
+  `replicateRootVolumeTags`- Mereplikasi tag pada volume Amazon EBS root dari instans Amazon EC2 target.
+  `startTargetInstance`- Memulai EC2 instance Amazon target setelah mengubah jenis instance.
+  `onFailureStopTargetEC2Instance`- Menghentikan EC2 instance Amazon target jika gagal memulai sebagai Nitro jenis contoh.
+  `onFailureForceStopTargetEC2Instance`- Paksa menghentikan EC2 instans Amazon target jika langkah sebelumnya gagal.
+  `OnFailureRevertOriginalInstanceType`- Mengembalikan EC2 instance Amazon target ke tipe instans asli jika instance target gagal dimulai sebagai Nitro jenis contoh.
+  `onFailureRollbackRootVolumeReplacement`- Mengembalikan semua perubahan yang dilakukan oleh `replaceRootEbsVolumes` langkah jika diperlukan.
+  `onFailureApprovalToStartTargetInstance`- Menunggu persetujuan kepala sekolah yang ditunjuk untuk memulai EC2 instans Amazon target setelah memutar kembali perubahan sebelumnya.
+  `onFailureStartTargetInstance`- Memulai EC2 instans target Amazon.
+  `terminateClonedEC2Instance`- Mengakhiri EC2 instance Amazon yang dikloning setelah mengganti volume root Amazon EBS.