Memulihkan kluster Amazon EKS - AWS Backup

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

Memulihkan kluster Amazon EKS

Anda dapat memulihkan cadangan kluster EKS menggunakan AWS Backup konsol atau CLI. Pencadangan EKS adalah titik pemulihan komposit yang mencakup status klaster EKS dan pencadangan volume persisten.

AWS Backup mendukung beberapa pengalaman pemulihan termasuk pemulihan tingkat ruang nama granular. Restore bersifat non-destruktif dan tidak akan menimpa objek Kubernetes yang ada di kluster EKS target Anda. Restore juga tidak akan menimpa versi Kubernetes dari cluster EKS target.

EKS Backup harus dikembalikan ke cluster EKS target, yang berarti cluster Amazon EKS yang telah disediakan sebelumnya. Sebagai bagian dari alur kerja pemulihan, Anda dapat memilih untuk membuat cluster EKS baru yang AWS Backup akan dibuat atas nama Anda.

catatan

AWS Backup akan memberikan serangkaian opsi terbatas untuk membuat cluster EKS baru sebagai bagian dari pemulihan. Untuk semua fungsionalitas pembuatan kluster EKS, pelanggan dapat membuat cluster EKS baru menggunakan Konsol EKS atau APIs dan memilih ini sebagai target pemulihan mereka.

Kembalikan kemampuan untuk Amazon EKS

Kembalikan jenis Kembalikan target Kembalikan perilaku
Pemulihan cluster yang ada Kembalikan ke cluster EKS sumber atau kluster EKS yang ada Memulihkan semua sumber daya Kubernetes dan volume persisten ke cluster EKS yang ada. Semua pemulihan adalah non-destruktif dan objek yang ada tidak ditimpa. Untuk objek yang dilewati, Anda dapat berlangganan Notifikasi SNS
Pemulihan cluster baru Membuat cluster Amazon EKS baru sebagai bagian dari pemulihan EKS Anda Restore membuat klaster EKS baru dan mengembalikan semua resource Kubernetes dan volume persisten ke clsuter yang baru dibuat
Pemulihan namespace Cluster Amazon EKS yang ada Memulihkan hanya namespace tertentu, sumber daya Kubernetes mereka dan pemulihan penyimpanan persisten yang sesuai adalah non-destruktif dan objek yang ada tidak ditimpa. Untuk objek yang dilewati, Anda dapat berlangganan SNS Notifcations
Pemulihan Penyimpanan Peristent Tergantung Penyimpanan Persisten Kembalikan penyimpanan persisten individu sebagai pemulihan mandiri. Lihat Memulihkan Perilaku Amazon EBS, Amazon S3, Amazon EFS.

Izin

Izin yang diperlukan bergantung pada jenis pemulihan dan tujuan target.

Pertimbangan sebelum memulihkan

Sebelum Anda memulai pekerjaan pemulihan EKS, tinjau yang berikut ini. Jika Anda memulihkan cadangan EKS yang telah disalin di seluruh akun atau wilayah, pastikan Anda memeriksa pertimbangan ini sebelum pemulihan untuk mencegah kegagalan pemulihan.

  1. Peran IAM: saat memulihkan ke cluster yang berbeda, Peran IAM digunakan dalam cluster sumber (seperti identitas Pod, IRSA. Konfigurasi penyedia OIDC dll) harus ada di akun/wilayah sebagai cluster tujuan.

  2. Pastikan Versi dan Kompatibilitas EKS: Versi API dari objek yang ingin Anda pulihkan harus versi yang sama (atau sedekat mungkin) dan didukung di cluster baru. AWS Backup akan melakukan upaya terbaik memulihkan antara versi EKS, meskipun masalah kompatibilitas mungkin muncul saat memulihkan antara versi yang berbeda secara signifikan.

  3. Mencocokkan Kelas Penyimpanan: Untuk mengembalikan ke kluster EKS yang ada, pastikan bahwa add-on Driver Penyimpanan CSI yang sesuai diinstal sebelum memulihkan

  4. Bucket S3: Saat memulihkan cluster EKS dengan Bucket S3, pastikan bucket S3 Anda berversi dan dapat diakses di akun atau wilayah tujuan.

  5. Image Repository: Saat memulihkan kluster EKS, pastikan bahwa akun atau wilayah klaster EKS tujuan memiliki akses ke gambar yang direferensikan sebagai bagian dari pemulihan. Periksa apakah registri Anda memiliki izin kebijakan lintas wilayah/akun yang memadai.

  6. Grup Keamanan: Grup keamanan harus dibuat sebelumnya untuk ALB, Identitas Pod, Grup Node EKS dll di akun target dan wilayah jika membuat klaster EKS baru sebagai bagian dari pemulihan Anda

  7. Zona Ketersediaan dan Node EBS: Availability Zone tempat Anda memulihkan volume EBS harus dipetakan ke Availability Zone dari node EKS yang ada

  8. Pemulihan non-destruktif: Semua pemulihan EKS akan bersifat non-destruktif dan tidak menimpa objek Kubernetes dari target restore.

  9. Aktifkan Log Audit EKS: Aktifkan Log Audit EKS untuk pencatatan dan pemecahan masalah tambahan sebelum memulihkan. Anda juga dapat berlangganan notifikasi SNS untuk memberi tahu objek yang dilewati atau gagal saat dipulihkan.

EKS Konfigurasi

Saat Anda memulihkan Amazon komposit AWS Backup, Anda memilih jenis pemulihan dan tujuan target. Anda dapat memilih untuk mengembalikan ke kluster EKS sumber, kluster EKS yang ada atau membuat cluster EKS baru sebagai target pemulihan. Untuk kluster EKS baru, Anda dapat memilih untuk menggunakan setelan infrastruktur yang sudah ada (misalnya VPC, subnet) sebagai cluster cadangan atau mengonfigurasi yang baru. AWS Backup akan selalu melakukan pemulihan non-destruktif yang tidak menimpa sumber daya yang ada.

Untuk pemulihan namespace, Anda dapat menentukan hingga 5 ruang nama untuk dipulihkan secara selektif. Hanya sumber daya dengan cakupan ruang nama yang dipulihkan, sementara sumber daya dengan cakupan klaster dikecualikan kecuali untuk volume persisten terkait.

Sebagai pengaturan lanjutan, Anda dapat memilih untuk mengubah urutan pemulihan Objek Kubernetes. Secara Default, AWS Backup akan mengembalikan semua objek Kubernetes dalam urutan sebagai berikut:

Sumber Daya Kubernetes Cakupan Kluster

  1. Definisi Sumber Daya Kustom

  2. Ruang nama (namespace itu sendiri, bukan sumber daya di dalam namespace itu)

  3. StorageClasses

  4. PersistentVolumes

Sumber Daya Kubernetes Cakupan Namespace

  1. PersistentVolumeClaims

  2. Rahasia

  3. ConfigMaps

  4. ServiceAccounts

  5. LimitRanges

  6. Pod

  7. ReplicaSets

Konfigurasi Penyimpanan Persisten

Sebagai bagian dari pemulihan cadangan Amazon EKS komposit, langkah kedua adalah mengonfigurasi konfigurasi Penyimpanan Persisten Anda. Ini akan bervariasi berdasarkan penyimpanan persisten yang dicadangkan sebagai bagian dari kluster EKS Anda.

Untuk Snapshot Amazon EBS, Anda harus menyediakan Availability Zone, tempat volume Amazon EBS akan dipulihkan dan dibuat. AWS Backup kemudian akan mencoba membuat pod EKS di zona ketersediaan yang sama seperti yang dipilih sehingga volume Anda dapat dipasang kembali ke cluster EKS Anda sebagai bagian dari pemulihan.

Sebagai bagian dari pemulihan, AWS Backup akan memasang kembali volume Amazon EBS dan bucket Amazon S3 Anda ke kluster EKS yang dipulihkan. Sistem file Amazon EFS mengembalikan ke awalan acak dan memerlukan pembuatan titik akses manual setelah memulihkan untuk di-remount ke cluster EKS Anda. AWS Backup tidak membuat titik akses atau memasang target atas nama Anda, lihat panduan di sini untuk titik akses dan target pemasangan.

Prosedur pemulihan Amazon EKS

Ikuti langkah-langkah ini untuk memulihkan cadangan Amazon EKS menggunakan AWS Backup konsol atau: AWS CLI

Console
Untuk memulihkan kluster Amazon EKS Anda
  1. Buka AWS Backup konsol di https://console.aws.amazon.com/backup.

  2. Di panel navigasi, pilih Brankas cadangan.

  3. Pilih brankas cadangan yang berisi cadangan Amazon EKS Anda, lalu pilih titik pemulihan untuk cadangan Amazon EKS Anda.

  4. Pilih Pulihkan.

  5. Di panel opsi Pulihkan, pilih jenis pemulihan Anda:

    • Kembalikan cluster EKS lengkap - Mengembalikan seluruh titik pemulihan komposit Amazon EKS

    • Pilih ruang nama untuk dipulihkan - Mengembalikan hingga lima ruang nama tertentu

  6. Konfigurasikan tujuan target:

    • Untuk pemulihan klaster, pilih untuk membuat cluster baru atau menggunakan cluster yang sudah ada

    • Untuk klaster baru, tentukan nama cluster, versi Kubernetes, konfigurasi VPC, peran IAM, subnet, grup keamanan tambahan, pengaturan grup node, profil fargate, dan peran IAM identitas Pod

    • Untuk cluster yang ada, pilih cluster target dari dropdown

    • Untuk pemulihan namespace, tentukan nama cluster target dan namespace

  7. Secara opsional, konfigurasikan pengaturan lanjutan untuk urutan pemulihan kustom untuk sumber daya Kubernetes.

  8. Pilih peran pemulihan IAM untuk pekerjaan itu. Jika tidak menggunakan peran default, pastikan peran yang dipilih menyertakan PassRole izin iam:.

  9. Pilih Pulihkan cadangan.

AWS CLI

Gunakan aws backup start-restore-job perintah dengan metadata khusus Amazon EKS.

Metadata yang diperlukan tergantung pada jenis pemulihan Anda. Semua operasi pemulihan memerlukan clusterName parameter.

Kembalikan titik pemulihan Amazon EKS melalui AWS CLI

Gunakan StartRestoreJob. Anda dapat menentukan metadata berikut selama Amazon EKS mengembalikan:

Metadata wajib:

  • clusterName- Nama cluster untuk mengembalikan

Metadata opsional:

  • newCluster- (true/false) Jika kita harus membuat cluster EKS baru selama pemulihan

    • Jika newCluster adalah “true”, bidang metadata berikut berlaku:

      • eksClusterVersion- Versi kluster K8 yang diinginkan jika ingin meningkatkan versi cluster selama pemulihan

      • clusterRole- ARN Peran IAM untuk dilampirkan ke cluster EKS yang dibuat

      • clusterVpcConfig- VPC/Networking konfigurasi untuk cluster EKS yang dibuat. Bidang ini memiliki bidang bersarang berikut:

        • vpcId- VPC yang terkait dengan cluster Anda

        • subnetIds- Subnet yang terkait dengan cluster Anda

        • securityGroupIds- Grup keamanan tambahan yang terkait dengan cluster Anda

      • nodeGroups- Grup Node Terkelola yang akan dibuat di Kluster EKS. The NodeGroups for restore harus memiliki semua grup node yang sama dari waktu pencadangan dan memiliki pencocokan nodeGroupId.

        • nodeGroupId- ID dari grup simpul

        • subnetIds- Subnet yang ditentukan untuk grup Auto Scaling yang terkait dengan grup node Anda

        • instanceTypes- Jika grup node tidak digunakan dengan template peluncuran, maka ini adalah jenis instance yang terkait dengan grup node

        • nodeRole- Peran IAM yang terkait dengan grup node Anda

        • securityGroupIds- Grup keamanan IDs yang diizinkan akses SSH ke node

        • remoteAccessEc2SshKey- Nama kunci EC2 SSH Amazon yang menyediakan akses untuk komunikasi SSH dengan node di grup node terkelola

      • fargateProfiles- Profil Fargate yang akan dibuat di Kluster EKS. Profil Fargate untuk pemulihan harus memiliki semua Profil Fargate yang sama dari waktu pencadangan dan memiliki nama yang cocok.

        • name- Nama profil Fargate

        • subnetIds- IDs Subnet untuk meluncurkan Pod ke

        • podExecutionRoleArn- ARN Peran IAM dari peran eksekusi Pod yang digunakan untuk Pod yang cocok dengan pemilih di profil Fargate

      • podIdentityAssociations- Asosiasi Identitas Pod yang akan dibuat di Cluster EKS

        • associationId- ID Asosiasi Identitas Pod

        • roleArn- ARN Peran IAM untuk Asosiasi Identitas Pod

  • kubernetesRestoreOrder- Ganti urutan manifes Kubernetes dipulihkan. Pesanan ini akan diutamakan daripada urutan pemulihan layanan default. Ini mengikuti formatnya:group/version/kind or version/kind:

    ["v1/persistentvolume”, “v1/pod”,” “] customresource/v2/custom

  • namespaceLevelRestore- (benar/salah) Jika Anda ingin melakukan pemulihan level namespace

  • namespaces- Daftar ruang nama untuk mengembalikan jika “ namespaceLevelRestore benar”. Dapat menyediakan hingga 5 ruang nama untuk dipulihkan

  • restoreKubernetesManifestsOnly- (true/false) Jika Anda hanya ingin mengembalikan file manifes Kubernetes dan tidak ada sistem penyimpanan persisten (EBS, S3, EFS, dll.)

  • nestedRestoreJobs- Kembalikan konfigurasi Metadata dari semua Poin Pemulihan bersarang untuk sistem PersistentVolume penyimpanan di Titik Pemulihan komposit. Ini adalah peta RecoveryPointArn: RestoreMetadata dari Titik Pemulihan itu

Kembalikan ke cluster yang ada

aws backup start-restore-job \ --recovery-point-arn "arn:aws:backup:us-west-2:123456789012:recovery-point:composite:eks/my-cluster-20240115" \ --iam-role-arn "arn:aws:iam::123456789012:role/AWSBackupServiceRolePolicyForEKSRestore" \ --metadata '{"clusterName":"existing-cluster","newCluster":false}' \ --resource-type "EKS"

Kembalikan ke cluster baru

aws backup start-restore-job \ --recovery-point-arn "arn:aws:backup:us-west-2:123456789012:recovery-point:composite:eks/my-cluster-20240115" \ --iam-role-arn "arn:aws:iam::123456789012:role/AWSBackupServiceRolePolicyForEKSRestore" \ --metadata '{"clusterName":"new-cluster","newCluster":true,"clusterRole":"arn:aws:iam::123456789012:role/EKSClusterRole","eksClusterVersion":"1.33","clusterVpcConfig":"{\"vpcId\":\"vpc-1234\",\"subnetIds\":[\"subnet-1\",\"subnet-2\",\"subnet-3\"],\"securityGroupIds\":[\"sg-123\"]}","nodeGroups":"[{\"nodeGroupId\":\"nodegroup-1\",\"subnetIds\":[\"subnet-1\",\"subnet-2\",\"subnet-3\"],\"nodeRole\":\"arn:aws:iam::123456789012:role/EKSNodeGroupRole\",\"instanceTypes\":[\"t3.small\"]}]","fargateProfiles":"[{\"name\":\"fargate-profile-1\",\"subnetIds\":[\"subnet-1\",\"subnet-2\",\"subnet-3\"],\"podExecutionRoleArn\":\"arn:aws:iam::123456789012:role/EKSFargateProfileRole\"}]"}' \ --resource-type "EKS"

Setelah memulai pekerjaan pemulihan, gunakan describe-restore-job untuk memantau kemajuan:

aws backup describe-restore-job --restore-job-id restore-job-id

Anda dapat berlangganan Acara Pemberitahuan untuk objek yang gagal dan dilewati untuk dipulihkan. Untuk informasi selengkapnya, lihat Opsi pemberitahuan dengan AWS Backup.