Ganti volume root untuk EC2 instance Amazon tanpa menghentikannya - Amazon Elastic Compute Cloud

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

Ganti volume root untuk EC2 instance Amazon tanpa menghentikannya

Amazon EC2 memungkinkan Anda mengganti EBS volume Amazon root untuk instance yang sedang berjalan sambil mempertahankan yang berikut:

  • Data yang disimpan di volume penyimpanan instans — Volume penyimpanan instans tetap dilampirkan ke instans setelah volume root dipulihkan.

  • Data yang disimpan pada data (non-root) EBS volume Amazon — EBS Volume Amazon non-root tetap melekat pada instance setelah volume root dipulihkan.

  • Konfigurasi jaringan — Semua antarmuka jaringan tetap melekat pada instance dan mereka mempertahankan alamat IP, pengidentifikasi, dan lampiran mereka. IDs Ketika instans menjadi tersedia, semua lalu lintas jaringan yang tertunda dibersihkan. Selain itu, instance tetap pada host fisik yang sama, sehingga tetap mempertahankan alamat dan DNS nama IP publik dan pribadinya.

  • IAMkebijakan — IAM profil dan kebijakan (seperti kebijakan berbasis tag) yang terkait dengan instans dipertahankan dan ditegakkan.

Cara kerja penggantian volume root

Saat Anda mengganti volume root untuk sebuah instance, kami membuat tugas penggantian volume root. Volume root asli dilepaskan dari instans, dan volume root baru dilampirkan ke instans sebagai gantinya. Pemetaan perangkat blok instans diperbarui untuk mencerminkan ID volume root pengganti.

Saat Anda mengganti volume root untuk sebuah instance, Anda harus menentukan sumber snapshot untuk volume baru. Berikut ini adalah opsi yang memungkinkan.

Opsi ini menggantikan volume root saat ini dengan volume yang didasarkan pada snapshot yang digunakan untuk membuatnya.

Pertimbangan untuk menggunakan status peluncuran

Volume root pengganti mendapatkan tipe, ukuran, dan atribut pengakhiran yang sama dengan volume root asli.

Opsi ini menggantikan volume root saat ini dengan volume pengganti yang didasarkan pada snapshot yang Anda tentukan. Misalnya, snapshot spesifik yang sebelumnya Anda buat dari volume root ini. Ini berguna jika Anda perlu memulihkan dari masalah yang disebabkan oleh korupsi volume root atau kesalahan konfigurasi jaringan di sistem operasi tamu.

Volume root pengganti mendapatkan tipe, ukuran, dan atribut pengakhiran yang sama dengan volume root asli.

Pertimbangan untuk menggunakan snapshot
  • Anda hanya dapat menggunakan snapshot yang termasuk dalam garis keturunan yang sama dengan volume root saat ini.

  • Anda tidak dapat menggunakan salinan snapshot yang dibuat dari snapshot yang diambil dari volume root.

  • Setelah berhasil mengganti volume root, Anda masih dapat menggunakan snapshot yang diambil dari volume root asli untuk mengganti volume root (pengganti) yang baru.

Opsi ini menggantikan volume root saat ini menggunakan AMI yang Anda tentukan. Ini berguna jika Anda perlu melakukan penambalan atau peningkatan sistem operasi dan aplikasi. AMIHarus memiliki kode produk yang sama, informasi penagihan, jenis arsitektur, dan jenis virtualisasi sebagai instance.

Jika instance diaktifkan untuk ENA atau sriov-net, maka Anda harus menggunakan yang mendukung fitur AMI tersebut. Jika instance tidak diaktifkan untuk ENA atau sriov-net, maka Anda dapat memilih AMI yang tidak menyertakan dukungan untuk fitur tersebut, atau Anda dapat secara otomatis menambahkan dukungan jika Anda memilih AMI yang mendukung atau sriov-net. ENA

Jika instance diaktifkan untuk NitroTPM, maka Anda harus menggunakan Nitro AMI TPM yang diaktifkan. TPMDukungan Nitro tidak diaktifkan jika instance tidak dikonfigurasi untuk itu, terlepas dari AMI yang Anda pilih.

Anda dapat memilih AMI dengan mode boot yang berbeda dari instance, selama instance mendukung mode bootAMI. Jika instans tidak mendukung mode boot, permintaan gagal. Jika instance mendukung mode boot, mode boot baru disebarkan ke instance dan UEFI datanya diperbarui sesuai. Jika Anda memodifikasi urutan boot secara manual atau menambahkan kunci Boot UEFI Aman pribadi untuk memuat modul kernel pribadi, perubahan akan hilang selama penggantian volume root.

Volume root pengganti mendapatkan tipe volume yang sama dan menghapus pada atribut terminasi seperti volume root asli, dan mendapatkan ukuran pemetaan perangkat blok volume AMI root.

catatan

Ukuran pemetaan perangkat blok volume AMI root harus sama dengan atau lebih besar dari ukuran volume root asli. Jika ukuran pemetaan perangkat blok volume AMI root lebih kecil dari ukuran volume root asli, permintaan gagal.

Setelah tugas penggantian volume root selesai, informasi baru dan yang diperbarui berikut akan tercermin saat Anda menjelaskan instance menggunakan konsol, AWS CLI atau AWS SDKs:

  • AMIID Baru

  • ID volume baru untuk volume root

  • Konfigurasi mode boot yang diperbarui (jika diubah olehAMI)

  • TPMKonfigurasi Nitro yang diperbarui (jika diaktifkan oleh) AMI

  • ENAKonfigurasi yang diperbarui (jika diaktifkan olehAMI)

  • Konfigurasi sriov-net yang diperbarui (jika diaktifkan oleh) AMI

AMIID baru juga tercermin dalam metadata instance.

Pertimbangan untuk menggunakan: AMI
  • Jika Anda menggunakan AMI yang memiliki beberapa pemetaan perangkat blok, hanya volume root yang AMI digunakan. Volume lainnya (non-root) diabaikan.

  • Anda hanya dapat menggunakan fitur ini jika Anda memiliki izin untuk snapshot volume root AMI dan terkait. Anda tidak dapat menggunakan fitur ini dengan AWS Marketplace AMIs.

  • Anda hanya dapat menggunakan AMI tanpa kode produk hanya jika instance tidak memiliki kode produk.

  • Ukuran pemetaan perangkat blok volume AMI root harus sama dengan atau lebih besar dari ukuran volume root asli. Jika ukuran pemetaan perangkat blok volume AMI root lebih kecil dari ukuran volume root asli, permintaan gagal.

  • Dokumen identitas instans untuk instans diperbarui secara otomatis.

  • Jika instance mendukung NitroTPM, TPM data Nitro untuk instance disetel ulang dan kunci baru dihasilkan.

Anda dapat memilih apakah akan menyimpan volume root asli setelah proses penggantian volume root selesai. Jika Anda memilih menghapus volume root asli setelah proses penggantian selesai, volume root asli secara otomatis dihapus dan menjadi tidak dapat dipulihkan. Jika Anda memilih untuk menyimpan volume root asli setelah proses selesai, volume tetap disediakan di akun Anda; Anda harus menghapus volume secara manual saat Anda tidak lagi membutuhkannya.

Tugas penggantian volume root bertransisi melalui status berikut:

  • pending— Volume pengganti sedang dibuat.

  • in-progress— Volume asli sedang dilepas dan volume pengganti sedang dilampirkan.

  • succeeded— Volume penggantian telah berhasil dilampirkan ke instance dan instance tersedia.

  • failing— Tugas penggantian sedang dalam proses kegagalan.

  • failed— Tugas penggantian telah gagal, tetapi volume root masih terpasang.

  • failing-detached— Tugas penggantian sedang dalam proses kegagalan dan instance mungkin tidak memiliki volume root yang terpasang.

  • failed-detached— Tugas penggantian telah gagal dan instance tidak memiliki volume root yang terpasang.

Jika tugas penggantian volume root gagal, instans di-boot ulang dan volume root asli tetap melekat pada instans.

Pertimbangan

Sebelum Anda mulai, pertimbangkan hal berikut.

Persyaratan
  • Instans harus berada dalam status running.

  • Instans secara otomatis di-reboot selama proses. Isi memori (RAM) terhapus selama reboot. Tidak diperlukan boot ulang manual.

  • Anda tidak dapat mengganti volume root jika merupakan volume penyimpanan instans. Hanya instance dengan volume EBS root Amazon yang didukung.

  • Anda dapat mengganti volume root untuk semua jenis instans virtual dan instance bare metal EC2 Mac. Tidak ada jenis instans logam telanjang lainnya yang didukung.

  • Anda dapat menggunakan snapshot apa pun yang termasuk dalam garis keturunan yang sama dengan volume root instans sebelumnya.

  • Jika akun Anda diaktifkan untuk EBS enkripsi Amazon secara default di Wilayah saat ini, volume root pengganti yang dibuat oleh tugas penggantian volume root selalu dienkripsi, terlepas dari status enkripsi snapshot yang ditentukan atau volume root yang ditentukan. AMI

Hasil enkripsi

Tabel berikut merangkum kemungkinan hasil enkripsi.

Volume root asli Snapshot yang ditentukan atau AMI Enkripsi secara default Volume root pengganti Kunci enkripsi yang digunakan untuk penggantian volume root
Mengembalikan volume root pengganti ke status peluncuran awal Dienkripsi Tidak berlaku Tidak dipertimbangkan Dienkripsi KMSKunci yang sama dengan volume root asli
Tidak terenkripsi Tidak berlaku Nonaktif Tidak terenkripsi Tidak berlaku
Tidak terenkripsi Tidak berlaku Aktif Dienkripsi KMSKunci default akun untuk EBS enkripsi Amazon
Kembalikan volume root pengganti dari snapshot atau AMI Dienkripsi Tidak terenkripsi Tidak dipertimbangkan Dienkripsi KMSKunci yang sama dengan volume root asli
Dienkripsi Dienkripsi Tidak dipertimbangkan Dienkripsi KMSKunci yang sama dengan volume root asli
Tidak terenkripsi Tidak terenkripsi Nonaktif Tidak terenkripsi Tidak berlaku
Tidak terenkripsi Tidak terenkripsi Aktif Dienkripsi KMSKunci default akun untuk EBS enkripsi Amazon
Tidak terenkripsi Dienkripsi Tidak dipertimbangkan Dienkripsi Jika AMI atau snapshot dimiliki oleh akun, volume penggantian dienkripsi dengan kunci AMI atau snapshot. KMS Jika AMI atau snapshot dibagikan dengan akun, volume penggantian dienkripsi dengan kunci default akun KMS untuk enkripsi Amazon. EBS

Mengganti volume root

Saat Anda mengganti volume root untuk suatu instans, tugas penggantian volume root dibuat. Anda dapat menggunakan tugas penggantian volume root untuk memantau kemajuan dan hasil dari proses penggantian.

Console
Untuk mengganti volume root
  1. Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/.

  2. Di panel navigasi, pilih Instans.

  3. Pilih instans untuk menggantikan volume root dan pilih Tindakan, Memantau dan memecahkan masalah, Ganti volume root.

    catatan

    Tindakan Ganti volume root dinonaktifkan jika instans yang dipilih tidak dalam status running.

  4. Di layar Ganti volume root, untuk Restore, pilih salah satu opsi berikut:

    • Status peluncuran — Kembalikan volume root pengganti dari snapshot yang digunakan untuk membuat volume root saat ini.

    • Snapshot — Kembalikan volume root pengganti ke snapshot yang Anda tentukan. Untuk Snapshot, pilih snapshot yang akan digunakan.

    • Gambar - Kembalikan volume root pengganti menggunakan AMI yang Anda tentukan. Untuk Gambar, pilih yang AMI akan digunakan.

  5. (Opsional) Untuk menghapus volume root yang Anda ganti, pilih Hapus volume root yang diganti.

  6. Pilih Buat tugas pengganti.

  7. Untuk memantau tugas penggantian, pilih tab Penyimpanan untuk instance dan perluas tugas penggantian volume root terbaru.

AWS CLI
Untuk mengembalikan volume root pengganti ke status peluncuran awal

Gunakan perintah create-replace-root-volume-task. Untuk --instance-id, tentukan ID dari instans yang untuk menggantikan volume root. Hilangkan parameter --snapshot-id dan --image-id. Untuk menghapus volume root asli setelah diganti, sertakan --delete-replaced-root-volume dan tentukantrue.

$ aws ec2 create-replace-root-volume-task \ --instance-id i-1234567890abcdef0 \ --delete-replaced-root-volume true
Untuk memulihkan volume root pengganti ke snapshot tertentu

Gunakan perintah create-replace-root-volume-task. Untuk --instance-id, tentukan ID dari instans yang untuk menggantikan volume root. Untuk --snapshot-id, tentukan ID snapshot yang akan digunakan. Untuk menghapus volume root asli setelah diganti, sertakan --delete-replaced-root-volume dan tentukantrue.

$ aws ec2 create-replace-root-volume-task \ --instance-id i-1234567890abcdef0 \ --snapshot-id snap-9876543210abcdef0 \ --delete-replaced-root-volume true
Untuk mengembalikan volume root pengganti menggunakan AMI

Gunakan perintah create-replace-root-volume-task. Untuk --instance-id, tentukan ID dari instans yang untuk menggantikan volume root. Untuk--image-id, tentukan ID yang akan AMI digunakan. Untuk menghapus volume root asli setelah diganti, sertakan --delete-replaced-root-volume dan tentukantrue.

$ aws ec2 create-replace-root-volume-task \ --instance-id i-01234567890abcdef \ --image-id ami-09876543210abcdef \ --delete-replaced-root-volume true
Untuk melihat status tugas penggantian volume root

Gunakan perintah describe-replace-root-volume-tasks dan tentukan IDs tugas penggantian volume root untuk dilihat.

$ aws ec2 describe-replace-root-volume-tasks \ --replace-root-volume-task-ids replacevol-1234567890abcdef0
{ "ReplaceRootVolumeTasks": [ { "ReplaceRootVolumeTaskId": "replacevol-1234567890abcdef0", "InstanceId": "i-1234567890abcdef0", "TaskState": "succeeded", "StartTime": "2020-11-06 13:09:54.0", "CompleteTime": "2020-11-06 13:10:14.0", "SnapshotId": "snap-01234567890abcdef", "DeleteReplacedRootVolume": "True" }] }

Atau, tentukan filter instance-id untuk menyaring hasil menurut instans.

$ aws ec2 describe-replace-root-volume-tasks \ --filters Name=instance-id,Values=i-1234567890abcdef0
Tools for Windows PowerShell
Untuk mengembalikan volume root pengganti ke status peluncuran awal

Gunakan perintah New-EC2ReplaceRootVolumeTask. Untuk -InstanceId, tentukan ID dari instans yang untuk menggantikan volume root. Hilangkan parameter -SnapshotId dan -ImageId. Untuk menghapus volume root asli setelah diganti, sertakan -DeleteReplacedRootVolume dan tentukan$true.

PS C:\> New-EC2ReplaceRootVolumeTask -InstanceId i-1234567890abcdef0 -DeleteReplacedRootVolume $true
Untuk memulihkan volume root pengganti ke snapshot tertentu

Gunakan perintah New-EC2ReplaceRootVolumeTask. Untuk --InstanceId, tentukan ID dari instans yang untuk menggantikan volume root. Untuk -SnapshotId, tentukan ID snapshot yang akan digunakan. Untuk menghapus volume root asli setelah diganti, sertakan -DeleteReplacedRootVolume dan tentukan$true.

PS C:\> New-EC2ReplaceRootVolumeTask -InstanceId i-1234567890abcdef0 -SnapshotId snap-9876543210abcdef0 -DeleteReplacedRootVolume $true
Untuk mengembalikan volume root pengganti menggunakan AMI

Gunakan perintah New-EC2ReplaceRootVolumeTask. Untuk -InstanceId, tentukan ID dari instans yang untuk menggantikan volume root. Untuk-ImageId, tentukan ID yang akan AMI digunakan. Untuk menghapus volume root asli setelah diganti, sertakan -DeleteReplacedRootVolume dan tentukan$true.

PS C:\> New-EC2ReplaceRootVolumeTask -InstanceId i-1234567890abcdef0 -ImageId ami-09876543210abcdef -DeleteReplacedRootVolume $true
Untuk melihat status tugas penggantian volume root

Gunakan Get-EC2ReplaceRootVolumeTaskperintah dan tentukan IDs tugas penggantian volume root untuk dilihat.

PS C:\> Get-EC2ReplaceRootVolumeTask -ReplaceRootVolumeTaskIds replacevol-1234567890abcdef0

Atau, tentukan filter instance-id untuk menyaring hasil menurut instans.

PS C:\> Get-EC2ReplaceRootVolumeTask -Filters @{Name = 'instance-id'; Values = 'i-1234567890abcdef0'} | Format-Table