Tutorial: Memulihkan klaster DB Amazon Aurora dari snapshot klaster DB - Amazon Aurora

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

Tutorial: Memulihkan klaster DB Amazon Aurora dari snapshot klaster DB

Skenario umum saat bekerja dengan Amazon Aurora adalah memiliki instans DB yang jarang Anda gunakan, tetapi tidak selalu Anda perlukan. Misalnya, Anda mungkin menggunakan klaster DB untuk menyimpan data untuk laporan yang hanya dijalankan setiap tiga bulan. Salah satu cara untuk menghemat biaya pada skenario tersebut adalah dengan mengambil snapshot klaster DB setelah laporan selesai. Kemudian, Anda menghapus klaster DB, dan memulihkannya saat Anda perlu mengunggah data baru dan menjalankan laporan selama kuartal berikutnya.

Saat memulihkan klaster DB, masukkan nama snapshot klaster DB yang akan digunakan untuk memulihkan. Kemudian, masukkan nama untuk klaster DB baru yang dibuat dari operasi pemulihan. Untuk informasi lebih mendetail tentang cara memulihkan klaster DB dari snapshot, lihat Memulihkan dari snapshot klaster DB.

Dalam tutorial ini, kami juga mengupgrade klaster DB yang dipulihkan dari Aurora MySQL versi 2 (kompatibel dengan MySQL 5.7) ke Aurora MySQL versi 3 (kompatibel dengan MySQL 8.0).

Memulihkan klaster DB dari snapshot klaster DB menggunakan konsol Amazon RDS

Saat Anda memulihkan klaster DB dari snapshot menggunakan AWS Management Console, instans DB primer (penulis) juga dibuat.

catatan

Saat instans DB primer sedang dibuat, instans ini muncul sebagai intans pembaca, tetapi setelah pembuatan, intans ini menjadi instans penulis.

Untuk memulihkan klaster DB dari snapshot klaster DB
  1. Masuk ke AWS Management Console dan buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.

  2. Di panel navigasi, pilih Snapshot.

  3. Pilih snapshot klaster DB tempat asal pemulihan.

  4. Untuk Tindakan, pilih Pulihkan snapshot.

    Memulihkan opsi snapshot di menu Tindakan di konsol RDS

    Halaman Pulihkan snapshot muncul.

  5. Pada Pengaturan instans DB, lakukan tindakan berikut:

    1. Gunakan pengaturan default untuk mesin DB.

    2. Untuk Versi yang tersedia, pilih versi MySQL-8.0 yang kompatibel, seperti Aurora MySQL 3.02.0 (kompatibel dengan MySQL 8.0.23).

    Halaman pulihkan snapshot
  6. Di bagian Pengaturan, untuk ID klaster DB masukkan nama unik yang ingin digunakan untuk klaster DB yang dipulihkan, misalnya my-80-cluster.

  7. Di bagian Konektivitas, gunakan pengaturan default untuk berikut ini:

    • Cloud privat virtual (VPC)

    • Grup subnet DB

    • Akses publik

    • Grup keamanan VPC (firewall)

  8. Pilih Kelas instans DB.

    Untuk tutorial ini, pilih Kelas runtutan (termasuk kelas t), lalu pilih db.t3.medium.

    catatan

    Sebaiknya Anda menggunakan kelas instans DB T hanya untuk server pengembangan dan pengujian, atau server non-produksi lainnya. Untuk detail lebih lanjut tentang kelas instans T, lihat Jenis kelas instans DB.

    Konfigurasi instans
  9. Untuk Autentikasi basis data, gunakan pengaturan default.

  10. Untuk Enkripsi, gunakan pengaturan default.

    Jika klaster DB sumber untuk snapshot dienkripsi, instans DB yang dipulihkan juga dienkripsi. Anda tidak dapat membuatnya tidak terenkripsi.

  11. Luaskan Konfigurasi tambahan di bagian bawah halaman.

    Konfigurasi tambahan
  12. Buat pilihan berikut:

    1. Untuk tutorial ini, gunakan nilai default untuk grup parameter klaster DB.

    2. Untuk tutorial ini, gunakan nilai default untuk grup parameter DB.

    3. Untuk Ekspor log, pilih semua kotak centang.

    4. Untuk Perlindungan penghapusan, pilih kotak centang Aktifkan perlindungan penghapusan.

  13. Pilih Pulihkan instans DB.

Halaman Basis Data menampilkan klaster DB yang dipulihkan, dengan status Creating.

Klaster DB yang dipulihkan pada halaman Basis Data

Saat instans DB primer sedang dibuat, instans ini muncul sebagai intans pembaca, tetapi setelah pembuatan, intans ini menjadi instans penulis.

Memulihkan klaster DB dari snapshot klaster DB menggunakan AWS CLI

Memulihkan klaster DB dari snapshot menggunakan AWS CLI terdiri dari dua langkah:

Memulihkan klaster DB

Gunakan perintah restore-db-cluster-from-snapshot. Opsi berikut diperlukan:

  • --db-cluster-identifier – Nama klaster DB yang dipulihkan.

  • --snapshot-identifier – Nama snapshot DB tempat asal pemulihan.

  • --engine – Mesin basis data klaster DB yang dipulihkan. Ini harus kompatibel dengan mesin basis data klaster DB sumber.

    Pilihannya adalah sebagai berikut:

    • aurora-mysql – Aurora MySQL 5.7 dan 8.0 yang kompatibel.

    • aurora-postgresql – Aurora PostgreSQL yang kompatibel.

    Dalam contoh ini, kami menggunakan aurora-mysql.

  • --engine-version – Versi klaster DB yang dipulihkan. Dalam contoh ini, kami menggunakan versi MySQL-8.0 yang kompatibel.

Contoh berikut memulihkan klaster DB yang kompatibel dengan Aurora MySQL 8.0 yang bernama my-new-80-cluster dari snapshot klaster DB bernama my-57-cluster-snapshot.

Untuk memulihkan klaster DB
  • Gunakan salah satu perintah berikut ini.

    Untuk Linux, macOS, atau Unix:

    aws rds restore-db-cluster-from-snapshot \ --db-cluster-identifier my-new-80-cluster \ --snapshot-identifier my-57-cluster-snapshot \ --engine aurora-mysql \ --engine-version 8.0.mysql_aurora.3.02.0

    Untuk Windows:

    aws rds restore-db-cluster-from-snapshot ^ --db-cluster-identifier my-new-80-cluster ^ --snapshot-identifier my-57-cluster-snapshot ^ --engine aurora-mysql ^ --engine-version 8.0.mysql_aurora.3.02.0

Output-nya menyerupai berikut.

{ "DBCluster": { "AllocatedStorage": 1, "AvailabilityZones": [ "eu-central-1b", "eu-central-1c", "eu-central-1a" ], "BackupRetentionPeriod": 14, "DatabaseName": "", "DBClusterIdentifier": "my-new-80-cluster", "DBClusterParameterGroup": "default.aurora-mysql8.0", "DBSubnetGroup": "default", "Status": "creating", "Endpoint": "my-new-80-cluster.cluster-############.eu-central-1.rds.amazonaws.com", "ReaderEndpoint": "my-new-80-cluster.cluster-ro-############.eu-central-1.rds.amazonaws.com", "MultiAZ": false, "Engine": "aurora-mysql", "EngineVersion": "8.0.mysql_aurora.3.02.0", "Port": 3306, "MasterUsername": "admin", "PreferredBackupWindow": "01:55-02:25", "PreferredMaintenanceWindow": "thu:21:14-thu:21:44", "ReadReplicaIdentifiers": [], "DBClusterMembers": [], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sg-########", "Status": "active" } ], "HostedZoneId": "Z1RLNU0EXAMPLE", "StorageEncrypted": true, "KmsKeyId": "arn:aws:kms:eu-central-1:123456789012:key/#######-5ccc-49cc-8aaa-############", "DbClusterResourceId": "cluster-ZZ12345678ITSJUSTANEXAMPLE", "DBClusterArn": "arn:aws:rds:eu-central-1:123456789012:cluster:my-new-80-cluster", "AssociatedRoles": [], "IAMDatabaseAuthenticationEnabled": false, "ClusterCreateTime": "2022-07-05T20:45:42.171000+00:00", "EngineMode": "provisioned", "DeletionProtection": false, "HttpEndpointEnabled": false, "CopyTagsToSnapshot": false, "CrossAccountClone": false, "DomainMemberships": [], "TagList": [] } }

Membuat instans DB primer (penulis)

Untuk membuat instans DB primer (penulis), gunakan perintah create-db-instance. Opsi berikut diperlukan:

  • --db-cluster-identifier – Nama klaster DB yang dipulihkan.

  • --db-instance-identifier – Nama instans DB primer.

  • --db-instance-class – Kelas instans dari instans DB primer. Dalam contoh ini, kami menggunakan db.t3.medium.

    catatan

    Sebaiknya Anda menggunakan kelas instans DB T hanya untuk server pengembangan dan pengujian, atau server non-produksi lainnya. Untuk detail lebih lanjut tentang kelas instans T, lihat Jenis kelas instans DB.

  • --engine – Mesin basis data instans DB primer. Ini harus berupa mesin basis data yang sama dengan yang digunakan klaster DB yang dipulihkan.

    Pilihannya adalah sebagai berikut:

    • aurora-mysql – Aurora MySQL 5.7 dan 8.0 yang kompatibel.

    • aurora-postgresql – Aurora PostgreSQL yang kompatibel.

    Dalam contoh ini, kami menggunakan aurora-mysql.

Contoh berikut membuat instans DB primer (penulis) bernama my-new-80-cluster-instance dalam klaster DB yang kompatibel dengan Aurora MySQL 8.0 yang dipulihkan bernama my-new-80-cluster.

Untuk membuat instans DB primer
  • Gunakan salah satu perintah berikut ini.

    Untuk Linux, macOS, atau Unix:

    aws rds create-db-instance \ --db-cluster-identifier my-new-80-cluster \ --db-instance-identifier my-new-80-cluster-instance \ --db-instance-class db.t3.medium \ --engine aurora-mysql

    Untuk Windows:

    aws rds create-db-instance ^ --db-cluster-identifier my-new-80-cluster ^ --db-instance-identifier my-new-80-cluster-instance ^ --db-instance-class db.t3.medium ^ --engine aurora-mysql

Output-nya menyerupai berikut.

{ "DBInstance": { "DBInstanceIdentifier": "my-new-80-cluster-instance", "DBInstanceClass": "db.t3.medium", "Engine": "aurora-mysql", "DBInstanceStatus": "creating", "MasterUsername": "admin", "AllocatedStorage": 1, "PreferredBackupWindow": "01:55-02:25", "BackupRetentionPeriod": 14, "DBSecurityGroups": [], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sg-########", "Status": "active" } ], "DBParameterGroups": [ { "DBParameterGroupName": "default.aurora-mysql8.0", "ParameterApplyStatus": "in-sync" } ], "DBSubnetGroup": { "DBSubnetGroupName": "default", "DBSubnetGroupDescription": "default", "VpcId": "vpc-2305ca49", "SubnetGroupStatus": "Complete", "Subnets": [ { "SubnetIdentifier": "subnet-########", "SubnetAvailabilityZone": { "Name": "eu-central-1a" }, "SubnetOutpost": {}, "SubnetStatus": "Active" }, { "SubnetIdentifier": "subnet-########", "SubnetAvailabilityZone": { "Name": "eu-central-1b" }, "SubnetOutpost": {}, "SubnetStatus": "Active" }, { "SubnetIdentifier": "subnet-########", "SubnetAvailabilityZone": { "Name": "eu-central-1c" }, "SubnetOutpost": {}, "SubnetStatus": "Active" } ] }, "PreferredMaintenanceWindow": "sat:02:41-sat:03:11", "PendingModifiedValues": {}, "MultiAZ": false, "EngineVersion": "8.0.mysql_aurora.3.02.0", "AutoMinorVersionUpgrade": true, "ReadReplicaDBInstanceIdentifiers": [], "LicenseModel": "general-public-license", "OptionGroupMemberships": [ { "OptionGroupName": "default:aurora-mysql-8-0", "Status": "in-sync" } ], "PubliclyAccessible": false, "StorageType": "aurora", "DbInstancePort": 0, "DBClusterIdentifier": "my-new-80-cluster", "StorageEncrypted": true, "KmsKeyId": "arn:aws:kms:eu-central-1:534026745191:key/#######-5ccc-49cc-8aaa-############", "DbiResourceId": "db-5C6UT5PU0YETANOTHEREXAMPLE", "CACertificateIdentifier": "rds-ca-2019", "DomainMemberships": [], "CopyTagsToSnapshot": false, "MonitoringInterval": 0, "PromotionTier": 1, "DBInstanceArn": "arn:aws:rds:eu-central-1:123456789012:db:my-new-80-cluster-instance", "IAMDatabaseAuthenticationEnabled": false, "PerformanceInsightsEnabled": false, "DeletionProtection": false, "AssociatedRoles": [], "TagList": [] } }