Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWSSupport-MigrateXenToNitroLinux
Deskripsi
AWSSupport-MigrateXenToNitroLinux
Runbook mengkloning, menyiapkan, dan memigrasikan instans Linux Xen Amazon Elastic Compute Cloud (Amazon EC2) ke jenis instans. Nitro Runbook ini menyediakan dua opsi untuk jenis operasi:
-
Clone&Migrate
- Alur kerja opsi ini terdiri dari Pemeriksaan Pendahuluan, Pengujian, dan Clone&Migratefase. Alur kerja dijalankan menggunakanAWSSupport-CloneXenEC2InstanceAndMigrateToNitro
runbook. -
FullMigration
- Opsi ini menjalankanClone&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 instans Amazon EC2, pembuatan volume Amazon Elastic Block Store (Amazon EBS), dan. AMIs Untuk detail selengkapnya, lihat Harga Amazon EC2 dan Harga
Pemeriksaan awal
Otomatisasi melakukan pemeriksaan awal 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 merupakan tipe Nitro instance.
-
Memeriksa apakah opsi pembelian Instans Spot digunakan untuk instance target.
-
Memeriksa apakah volume penyimpanan instance dilampirkan ke instance target.
-
Memverifikasi target misalnya sistem operasi (OS) adalah Linux.
-
Memeriksa apakah instans target adalah bagian dari grup Penskalaan Otomatis Amazon EC2. Jika itu adalah bagian dari grup Auto Scaling, otomatisasi memverifikasi bahwa instance berada dalam keadaan.
standby
-
Memverifikasi bahwa instance dikelola olehAWS Systems Manager.
Pengujian
Otomatisasi membuat Amazon Machine Image (AMI) dari instance target dan meluncurkan instance pengujian dari yang baru dibuatAMI. Fase ini adalah bagian dari hanya Clone&Migrate
alur kerja.
Jika instans pengujian melewati semua pemeriksaan status, otomatisasi akan dijeda dan persetujuan dari prinsipal yang ditunjuk diminta melalui pemberitahuan Amazon Simple Notification Service (Amazon SNS). Jika persetujuan diberikan, otomatisasi mengakhiri instance pengujian, menghentikan instance target, dan melanjutkan migrasi, sementara yang baru AMI dibuat dibatalkan pendaftaran di akhir alur kerja. Clone&Migrate
catatan
Sebelum memberikan persetujuan, sebaiknya verifikasi bahwa semua aplikasi yang berjalan pada instance target telah ditutup dengan anggun.
Kloning dan Migrasi
Otomatisasi membuat yang lain AMI dari instance target, dan meluncurkan instance baru untuk diubah ke jenis Nitro instance. Otomatisasi melengkapi prasyarat berikut sebelum melanjutkan migrasi. Jika salah satu pemeriksaan gagal, otomatisasi berakhir. Fase ini juga hanya bagian dari Clone&Migrate
alur kerja.
-
Menghidupkan atribut jaringan yang disempurnakan (ENA).
-
Menginstal driver ENA versi terbaru jika belum diinstal, atau memperbarui versi driver ENA ke versi terbaru. Untuk memastikan kinerja jaringan maksimum, memperbarui ke versi driver ENA terbaru diperlukan jika jenis Nitro instans adalah generasi ke-6.
-
Memverifikasi bahwa modul NVMe 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 UUID masing-masing. Sebelum memodifikasi konfigurasi, otomatisasi membuat cadangan file di jalur/etc/fstab*
. -
Mematikan penamaan antarmuka yang dapat diprediksi dengan menambahkan
net.ifnames=0
opsi keGRUB_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 instans diubah ke jenis Nitro instans yang Anda tentukan. Otomatisasi menunggu instance yang baru dibuat untuk meneruskan semua pemeriksaan status setelah memulai sebagai jenis Nitro instans. Otomatisasi kemudian menunggu persetujuan dari prinsipal yang ditunjuk untuk membuat instance yang berhasil AMI diluncurkan. Nitro Jika persetujuan ditolak, otomatisasi berakhir, membiarkan instance yang baru dibuat berjalan, dan instance target tetap dihentikan.
Ganti Volume Amazon EBS root
Jika Anda memilih FullMigration
sebagaiOperationType
, otomatisasi akan memigrasikan instans Amazon EC2 target ke jenis Nitro instans yang Anda tentukan. Otomatisasi meminta persetujuan dari prinsipal yang ditunjuk untuk mengganti volume akar Amazon EBS dari instans Amazon EC2 target dengan volume akar instans Amazon EC2 yang dikloning. Setelah migrasi berhasil, instans Amazon EC2 yang dikloning dihentikan. Jika otomatisasi gagal, volume root Amazon EBS asli dilampirkan ke instans Amazon EC2 target. Jika volume Amazon EBS root yang dilampirkan ke instans Amazon EC2 target memiliki tag dengan aws:
awalan yang diterapkan, FullMigration
operasi tidak didukung.
Sebelum Anda mulai
Instance target harus memiliki akses internet outbound. Ini untuk mengakses repositori untuk driver dan dependensi sepertikernel-devel,,,,gcc,patch,, rpm-build wgetdracut, make dan. linux-headers unzip Manajer paket 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 di Panduan Pengembang Layanan Pemberitahuan Sederhana Amazon.
Runbook ini mendukung sistem operasi berikut:
-
RHEL7.x - 8.5
-
Amazon Linux (2018.03), Amazon Linux 2
-
Debian Server
-
Ubuntu Server 18.04 LTS, 20.04 LTS, dan 20.10 STR
-
SUSE Linux Enterprise Server(SUSE12SP5, SUSE15SP2)
Jenis dokumen
Otomatisasi
Pemilik
Amazon
Platform
Linux
Parameter
-
AutomationAssumeRole
Jenis: String
Deskripsi: (Opsional) Amazon Resource Name (ARN) dari peran AWS Identity and Access Management (IAM) yang memungkinkan Systems Manager Automation untuk melakukan tindakan atas nama Anda. Jika tidak ada peran yang ditentukan, Systems Manager Automation menggunakan izin pengguna yang memulai runbook ini.
-
Pengakuan
Jenis: String
Deskripsi: (Diperlukan) Baca rincian lengkap dari tindakan yang dilakukan oleh runbook otomatisasi ini, dan masukkan
Yes, I understand and acknowledge
untuk melanjutkan dengan menggunakan runbook. -
Persetujuan
Jenis: String
Deskripsi: (Diperlukan) ARN 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 instans yang baru AMI dibuat dan migrasi akan dihapus jika otomatisasi gagal.
Nilai yang valid: Benar | Salah
Default: BETUL
-
MinimumRequiredApprovals
Jenis: String
Deskripsi: (Opsional) Jumlah minimum persetujuan yang diperlukan untuk terus menjalankan otomatisasi saat persetujuan diminta.
Nilai yang valid: 1-10
Default: 1
-
NitroInstanceType
Jenis: String
Deskripsi: (Diperlukan) Jenis Nitro instans yang ingin Anda ubah instans. Jenis instans yang didukung termasuk M5, M6, C5, C6, R5, R6, dan T3.
Default: m5.xlarge
-
OperationType
Jenis: String
Deskripsi: (Diperlukan) Operasi yang ingin Anda lakukan.
FullMigration
Opsi melakukan tugas yang sama denganClone&Migrate
dan juga menggantikan volume root 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: Clone&Migrate | FullMigration
-
SNS TopicArn
Jenis: String
Deskripsi: (Diperlukan) ARN topik Amazon SNS untuk pemberitahuan persetujuan. Topik Amazon SNS digunakan untuk mengirim pemberitahuan persetujuan yang diperlukan selama otomatisasi.
-
TargetInstanceId
Jenis: String
Deskripsi: (Diperlukan) ID instans Amazon EC2 untuk bermigrasi.
Izin IAM yang diperlukan
AutomationAssumeRole
Parameter membutuhkan 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 instans Amazon EC2 target didukung di Availability Zone yang sama dengan instans target. -
getXenInstanceTypeDetails
- Mengumpulkan rincian tentang jenis contoh sumber. -
checkIfInstanceHypervisorIsNitroAlready
- Memeriksa apakah instance target sudah berjalan sebagai tipe Nitro instance. -
checkIfTargetInstanceLifecycleIsSpot
- Memeriksa apakah opsi pembelian dari instance target adalah Spot. -
checkIfOperatingSystemIsLinux
- Memeriksa apakah target contoh OS adalah Linux. -
verifySSMConnectivityForTargetInstance
- Memverifikasi bahwa contoh target dikelola oleh Systems Manager. -
checkIfEphemeralVolumeAreSupported
- Memeriksa apakah jenis instance saat ini dari contoh target mendukung volume toko contoh. -
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 instance pengujian dari pengujian AMI menggunakan konfigurasi yang sama dengan instance target. -
cleanupTestInstance
- Mengakhiri contoh uji. -
endOfTestBranch
- Akhir cabang Pengujian. -
checkIfTestingBranchSucceeded
- Memeriksa status cabang Pengujian. -
approvalToStopTargetInstance
- Menunggu persetujuan dari kepala sekolah yang ditunjuk untuk menghentikan contoh target. -
stopTargetEC2Instance
- Menghentikan contoh target. -
forceStopTargetEC2Instance
- Force menghentikan instance target hanya jika langkah sebelumnya gagal menghentikan instance. -
startOfCloneAndMigrateBranch
- Cabang ke Clone&Migrate alur kerja. -
createBackupImage
- Menciptakan AMI contoh 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 driver NVMe diinstal pada instance yang baru dibuat, dan menginstal driver jika diperlukan. -
checkAndModifyFSTABEntries
- Memeriksa apakah nama perangkat digunakan/etc/fstab
dan menggantinya dengan UUID jika diperlukan. -
stopClonedInstance
- Menghentikan instance yang baru dibuat. -
forceStopClonedInstance
- Force 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 jenis Nitro instance yang Anda tentukan. -
startClonedInstance
- Memulai instance yang baru dibuat yang tipe instansinya Anda ubah. -
approvalForCreatingImageAfterDriversInstallation
- Jika instans berhasil dimulai sebagai jenis Nitro instans, otomatisasi menunggu persetujuan dari prinsipal yang diperlukan. Jika persetujuan diberikan, AMI dibuat untuk digunakan sebagai EmasAMI. -
createImageAfterDriversInstallation
- Menciptakan AMI untuk digunakan sebagai EmasAMI. -
endOfCloneAndMigrateBranch
- Akhir Clone&Migrate cabang. -
cleanupTestImage
- Deregisters yang 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
- Deregisters yang AMI dibuat untuk pengujian. -
onFailureApprovalToStartTargetInstance
- Jika otomatisasi gagal, tunggu persetujuan dari prinsipal yang ditunjuk untuk memulai instance target. -
onFailureStartTargetInstance
- Jika otomatisasi gagal, mulai contoh target.
Izin IAM yang diperlukan
AutomationAssumeRole
Parameter membutuhkan 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 instans Amazon EC2 yang Anda tentukan. Jika runbook menemukan otomatisasi lain yang sedang berlangsung menargetkan instance yang sama, otomatisasi akan berakhir. -
getTargetInstanceProperties
- Mengumpulkan rincian dari contoh target. -
checkRootVolumeTags
- Menentukan apakah volume root instans Amazon EC2 target berisi tag yang AWS dicadangkan. -
cloneTargetInstanceAndMigrateToNitro
- Memulai otomatisasi anak menggunakanAWS-CloneXenInstanceToNitro
runbook. -
branchOnTheOperationType
- Cabang pada nilai yang Anda tentukan untukOperationType
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 prinsipal, otomatisasi berlanjut 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
- Mulai alur kerja cabang Ganti Root EBS Volume. -
checkIfTargetInstanceIsManagedByCFN
- Menentukan apakah contoh target dikelola oleh AWS CloudFormation tumpukan. -
branchOnCFNStackStatus
- Cabang berdasarkan status CloudFormation tumpukan. -
approvalForRootVolumesReplacement(WithCFN)
- Jika instance target diluncurkan olehCloudFormation, otomatisasi menunggu persetujuan setelah instans yang baru diluncurkan berhasil dimulai sebagai jenis Nitro instans. Ketika 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 jenis Nitro instance. Ketika persetujuan diberikan, volume Amazon EBS dari instans target diganti dengan volume root dari instans yang baru diluncurkan. -
assertIfTargetEC2InstanceIsStillStopped
- Memverifikasi bahwa instance target dalamstopped
keadaan sebelum mengganti volume root. -
stopTargetInstanceForRootVolumeReplacement
- Jika instance target berjalan, otomatisasi menghentikan instance sebelum mengganti volume root. -
forceStopTargetInstanceForRootVolumeReplacement
- Angkatan menghentikan contoh target jika langkah sebelumnya gagal. -
stopClonedInstanceForRootVolumeReplacement
- Menghentikan instans yang baru dibuat sebelum mengganti volume Amazon EBS. -
forceStopClonedInstanceForRootVolumeReplacement
- Force menghentikan instance yang baru dibuat jika langkah sebelumnya gagal. -
getBlockDeviceMappings
- Mengambil pemetaan perangkat blok untuk target dan instance yang baru dibuat. -
replaceRootEbsVolumes
- Menggantikan volume root dari instance target dengan volume root dari instance yang baru dibuat. -
EndOfReplaceRootEBSVolumeBranch
- Akhir Ganti Akar EBS Volume alur kerja cabang. -
checkENAAttributeForTargetInstance
- Memeriksa apakah atribut jaringan yang disempurnakan (ENA) diaktifkan untuk instans Amazon EC2 target. -
enableENAAttributeForTargetInstance
- Mengaktifkan atribut ENA untuk instans Amazon EC2 target jika diperlukan. -
setNitroInstanceTypeForTargetInstance
- Mengubah instance target ke jenis Nitro instance yang Anda tentukan. -
replicateRootVolumeTags
- Mereplikasi tag pada volume Amazon EBS root dari instans Amazon EC2 target. -
startTargetInstance
- Memulai instans Amazon EC2 target setelah mengubah jenis instans. -
onFailureStopTargetEC2Instance
- Menghentikan instans Amazon EC2 target jika gagal memulai sebagai jenis Nitro instans. -
onFailureForceStopTargetEC2Instance
- Paksa menghentikan instans Amazon EC2 target jika langkah sebelumnya gagal. -
OnFailureRevertOriginalInstanceType
- Mengembalikan instans Amazon EC2 target ke jenis instans asli jika instans target gagal dimulai sebagai Nitro jenis instans. -
onFailureRollbackRootVolumeReplacement
- Mengembalikan semua perubahan yang dilakukan olehreplaceRootEbsVolumes
langkah jika diperlukan. -
onFailureApprovalToStartTargetInstance
- Menunggu persetujuan pokok yang ditunjuk untuk memulai instans Amazon EC2 target setelah mengembalikan perubahan sebelumnya. -
onFailureStartTargetInstance
- Memulai instans Amazon EC2 target. -
terminateClonedEC2Instance
- Mengakhiri instans Amazon EC2 yang dikloning setelah mengganti volume Amazon EBS root.