Pemulihan cepat bencana lintas wilayah dan pembacaan global latensi rendah

dengan Amazon Aurora Global Database

Dalam tutorial ini, Anda akan mempelajari cara membuat penerapan Amazon Aurora Global Database yang mencakup beberapa wilayah AWS dan mereplika data Anda tanpa berdampak pada performa. Aurora Global Database menghadirkan pemulihan bencana akibat pemadaman listrik di seluruh wilayah dan memungkinkan pembacaan global latensi rendah.

Amazon Aurora adalah database relasional yang kompatibel dengan MySQL dan PostgreSQL yang menggabungkan performa dan ketersediaan database reguler perusahaan dengan database sumber terbuka yang sederhana dan hemat biaya.

Aurora Global Database terdiri atas wilayah AWS utama —tempat pembuatan master data Anda— dan berbagai wilayah AWS sekunder hanya untuk dibaca tempat data direplika. Tulisan Anda berada di database utama namun Anda dapat membacanya dari wilayah mana pun dan memanfaatkan latensi rendah.

Tutorial ini akan menggunakan Amazon Aurora dengan Kompatibilitas MySQL. Tutorial ini tidak berada dalam tingkat gratis dan akan dikenakan biaya kurang dari USD 1 asalkan Anda mengikuti langkah-langkah dalam tutorial dan mengakhiri sumber daya Anda pada akhir tutorial.

Prasyarat

Klaster Amazon Aurora DB terdiri atas satu atau lebih instans DB dan volume klaster yang mengelola data untuk instans DB tersebut. Volume klaster Aurora adalah volume penyimpanan database virtual yang mencakup berbagai Availability Zone dan tiap Availability Zone memiliki salinan data klaster DB. Dua jenis instans DB menyusun klaster Aurora DB: instans DB Utama yang mendukung pengoperasian baca dan tulis dan Aurora Replica yang terhubung ke volume penyimpanan yang sama sebagai instans DB utama dan hanya mendukung operasi pembacaan. Tiap klaster Aurora DB bisa memiliki hingga 15 Aurora Replica yang terletak di Availability Zone terpisah. Aurora akan melakukan failover secara otomatis pada Aurora Replica jika instans DB utama menjadi tidak tersedia.

Dalam tutorial ini Anda akan membuat Aurora Global Database dengan klaster utama di sebuah wilayah dan klaster sekunder di wilayah lain. Anda bebas menentukan wilayah mana yang akan digunakan. Disarankan untuk memiliki aplikasi di tiap wilayah yang akan Anda gunakan. Misalnya, jika Aurora Global Database Anda akan memiliki klaster utama di us-east-1 dan klaster sekunder di eu-west-3, Anda harus memiliki sebuah instans di us-east-1 dan satu instans lain di eu-west-3.

Selain itu, jika ingin menghemat waktu, Anda dapat membuat Grup Keamanan untuk tiap wilayah yang memungkinkan masuknya koneksi dari instans Anda. Misalnya, Anda dapat membuat grup keamanan dengan aturan masuk jenis MYSQL/Aurora yang memungkinkan koneksi TCP pada porta 3306 dari grup keamanan instans Anda.

Terakhir, untuk menguji Aurora Global Database (lihat Langkah 8), Anda akan memerlukan klien MySQL. Jika instans aplikasi Anda menjalankan Amazon Linux, menginstal klien MySQL dapat dilakukan semudah menjalankan sudo yum install mysql, namun perintah pastinya bergantung pada OS yang Anda jalankan. Jika menjalankan Windows, Anda dapat mengunduh workbench MySQL.

Tentang Tutorial ini
Waktu 10 menit                                           
Biaya Kurang dari USD 1
Kasus Penggunaan Database
Produk Amazon Aurora, Amazon RDS
Audiens Administrator database, Pengembang
Tingkat Menengah
Terakhir Diperbarui 3 Juni 2019

Langkah 1: Mengakses konsol Amazon RDS

1.1 — Buka browser dan navigasi ke konsol Amazon RDS. Jika Anda sudah memiliki akun AWS, masuk ke konsol. Atau, buat akun AWS baru untuk memulai.

1.2 — Di sudut kanan atas, pilih wilayah tempat Anda ingin meluncurkan klaster Aurora DB utama. Untuk tujuan tutorial ini, kita akan menggunakan us-east-1 sebagai wilayah utama dan eu-west-1 sebagai wilayah sekuder.

1.3 — Klik “Buat database” di jendela Amazon Aurora.

1.4 — Gulir ke bawah dan klik “Coba sekarang” di jendela Aurora Global Database. Jika Anda tidak melihat opsi “Coba sekarang”, klik di sini.

Langkah 2: Opsi mesin

2.1 — Di jenis Mesin, pilih “Amazon Aurora”.

2.2 — Di Edisi, pilih “Amazon Aurora dengan kompatibilitas MySQL”.

2.3 — Di Versi, pilih versi MySQL terbaru.

2.4 — Di Lokasi Database, pilih “Global”.

2.5 — Pilih templat “Produksi”.

Langkah 3: Pengaturan database global

3.1 — Untuk pengidentifikasi database Global, ketik “global-database-1”.

Langkah 4: Pengaturan wilayah utama

4.1 — Untuk ukuran instans DB, pilih instans besar (berakhiran .large).

4.2 — Untuk Ketersediaan & ketahanan, pilih “Jangan buat Aurora Replica”.

Harap ingat bahwa memiliki Aurora Replica disarankan untuk lingkungan produksi, karena hal ini akan memungkinkan Anda untuk menghitung pembacaan dan melakukan failover otomatis di dalam wilayah yang sama dengan database utama. Dalam tutorial ini kita tidak akan menambahkan Aurora Replica hanya untuk menjaga agar latihan ini tetap mudah.

Langkah 5: Konektivitas

5.1 — Pilih VPC tempat Anda ingin membuat database.

Harap ingat bahwa setelah dibuat database tidak dapat dimigrasikan ke VPC lain.

5.2 — Klik “Konfigurasi konektivitas tambahan”.

5.3 — Pilih nilai default untuk grup Subnet.

5.4 — Di Dapat diakses oleh publik, pilih “Tidak”.

Ini berarti Anda harus terhubung ke database dari instans EC2 di dalam VPC yang sama.

5.5 — Di grup keamanan VPC, pilih “Buat baru”. Jika Anda ternyata memiliki grup keamanan yang memungkinkan masuknya koneksi TCP di port 3306, Anda dapat memilihnya.

5.6 — Di nama grup keamanan VPC Baru, ketik “global-database”.

5.7 — Biarkan nilai default untuk porta Database.

Langkah 6: Konfigurasi tambahan

6.1 — Biarkan nilai default untuk opsi Database, Pencadangan, Pemantauan, Ekspor log, Pemeliharaan, dan Perlindungan penghapusan.

6.2 — Klik “Buat database”.

Saat instans dibuat, Anda akan melihat banner yang menjelaskan cara mendapatkan kredensial. Ini adalah kesempatan yang baik untuk menyimpan kredensial di suatu tempat, karena inilah satu-satunya waktu ketika Anda dapat melihat kata sandinya.

6.3 — Klik “Lihat detail kredensial”.

6.4 — Simpan nama pengguna dan kata sandi.

Langkah 7: Tambahkan wilayah sekunder

7.1 — Pilih “global-database-1”.

7.2 — Klik “Tindakan > Tambahkan wilayah”.

7.3 — Dari daftar menurun, pilih wilayah.

7.4 — Ulangi langkah 4.1 hingga 5.7.

7.5 — Klik “Tambahkan wilayah”.

Setelah database tersedia, lanjutkan ke langkah 8.

Langkah 8: Uji Aurora Global Database Anda

8.1 — Klik database utama Anda.

8.2 — Salin titik akhir Penulis.

Buka dua jendela terminal, masuk ke instans Anda di wilayah utama dan sekunder, dan gunakan klien baris perintah mysql untuk terhubung ke database.

Anda kini dapat membuat database dan tabel serta menulis sejumlah catatan. Semua yang Anda tulis di klaster utama akan direplika di klaster sekunder.

8.3 — Hubungkan ke database utama Anda:

$ mysql -h endpoint -P 3306 -u admin -p

Ketika diminta kata sandi, masukkan kata sandi yang Anda simpan di langkah 6.6.

8.4 — Buat database dan tulis sejumlah data.

mysql> BUAT tutorial database;
Kueri OK, 1 baris terdampak (0,01 detik)

Pada titik ini Anda dapat menggunakan database tutorial, membuat tabel, dan menambahkan sejumlah catatan.

8.5 — Ke wilayah sekunder.

8.6 — Klik database sekunder Anda.

8.7 — Salin titik akhir Pembaca.

8.8 — Hubungkan ke database sekunder Anda:

$ mysql -h endpoint -P 3306 -u admin -p

Ketika diminta kata sandi, masukkan kata sandi yang Anda simpan di langkah 6.6.

8.9 — Baca sejumlah data:

mysql> USE tutorial;
Database berubah

Sekarang Anda dapat memverifikasi bahwa database telah direplika ke database sekunder. Jika membuat tabel, Anda dapat menulis ke klaster utama dan membaca data dari klaster sekunder.

Langkah 9: Failover pada wilayah sekunder

Klaster Aurora default memberikan Anda kemampuan failover di dalam wilayah, sedangkan Aurora Global Database memungkinkan Anda untuk melakukan failover pada klaster sekunder di wilayah lain. Ini berarti bahwa database dapat bertahan bahkan meskipun seluruh wilayah menjadi tidak tersedia.

Melakukan failover untuk Aurora Global Database melibatkan penghapusan klaster sekunder dari database global asli—jadi mengubahnya kembali menjadi klaster wilayah dengan kemampuan baca-tulis penuh—, lalu menggunakannya sebagai klaster utama di Aurora Global Database baru.

Anda dapat melakukan failover secara manual dengan mengikuti instruksi di bawah ini.

9.1 — Berhenti menulis ke database utama.

9.2 — Pilih klaster sekunder.

9.3 — Klik “Tindakan > Hapus dari Global”.

9.4 — Konfirmasikan dengan mengklik “Hapus dan promosikan”.

9.5 — Konfigurasikan aplikasi Anda untuk menulis ke klaster yang baru dipromosikan.

9.6 — Masih di wilayah sekunder, pilih klaster Wilayah.

9.7 — Klik “Tindakan > Buat global database”.

9.8 — Dari daftar menurun, pilih wilayah.

9.9 — Ulangi langkah 4.1 hingga 5.7.

Langkah 10: Pembersihan

Untuk menyelesaikan tutorial ini, Anda akan menghapus Aurora Global Database Anda. Anda dapat tetap menyimpannya, namun harap ketahui bahwa Anda akan dikenakan biaya.

Untuk menghapus Aurora Global Database Anda, ke Dasbor RDS dan ikuti instruksi ini:

10.1 — Pilih “Database” di panel kiri.

Ini akan menampilkan daftar seluruh klaster Aurora DB Anda.

10.2 — Pilih instans global database.

10.3 — Klik “Tindakan > Hapus”.

10.4 — Anda akan ditanya apakah Anda ingin membuat pencadangan akhir. Penghapusan biasanya merupakan ide yang bagus, namun tidak perlu untuk tutorial ini. Pilih “Tidak” dan klik “Hapus”.

10.5 — Pilih klaster global database.

10.6 — Klik “Tindakan > Hapus dari Global”.

10.7 — Konfirmasikan dengan mengklik “Hapus dari global”.

10.8 — Pilih klaster database wilayah.

10.9 — Klik “Tindakan > Hapus”.

10.10 — Anda akan ditanya apakah Anda ingin membuat snapshot akhir. Penghapusan biasanya merupakan ide yang bagus, namun tidak perlu untuk tutorial ini. Pilih “Tidak” dan klik “Hapus klaster DB”.

10.11 — Beralihlah ke wilayah sekunder dan lakukan langkah 10.1 hingga 10.9.

10.12 — Pilih global database.

10.13 — Klik “Tindakan > Hapus”.

10.14 — Konfirmasikan dengan mengetik “hapus saya” dan klik “Hapus”.

Status klaster Anda akan berubah menjadi “Menghapus”.

Selamat

Anda telah membuat Aurora Global Database dengan replikasi di seluruh wilayah. Anda telah mempelajari cara menghitung pembacaan ke wilayah lain untuk memanfaatkan latensi rendah dan Anda telah melakukan failover pada wilayah sekunder.

Apakah tutorial ini bermanfaat?