Bisakah saya mengganti nama instance RDS?


11

Saya telah mewarisi kumpulan instance MySQL RDS dengan nama Instance DB yang tidak berguna .

Saya sering harus menggali bagian tag untuk mencari tahu proyek mana yang menjadi milik mereka.

Salah satu pengaturan yang dapat saya modifikasi dalam RDS adalah DB Instance Identifier.

Jika saya mengubah ini, apa yang akan terjadi selain untuk perubahan nama? Apakah ini akan memengaruhi kode siapa pun? Atau apakah itu perubahan yang tidak berbahaya?

Ini adalah sistem live yang tidak mampu saya hancurkan.

Jawaban:


10

Ya, Anda dapat mengganti nama instance RDS ... dengan risiko sendiri.

Ketika Anda mengganti nama instance DB, titik akhir [DNS] [hostname] untuk instance DB berubah, karena URL menyertakan nama yang Anda tetapkan untuk instance DB.

http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RenameInstance.html

Kode aplikasi Anda mengharuskan perubahan konfigurasi untuk dikoordinasikan, karena alasan ini.

Lihat tautan di atas untuk implikasi lainnya. Ini adalah operasi yang didukung dan umumnya aman, tetapi hanya di jendela pemeliharaan Anda, karena akan selalu ada gangguan singkat ketika DNS diubah dan kode aplikasi Anda didaur ulang dengan nama host database baru.


3

Ya, Anda dapat mengubah nama instance RDS, tetapi sangat tidak disarankan untuk melakukannya di lingkungan Produksi LANGSUNG. Ini akan mengubah EndPoint yang mungkin memengaruhi sumber daya lain yang secara aktif mengakses server RDS (seperti server aplikasi).

Ini mungkin akan memerlukan perubahan properti / env-variabel dalam kode atau konfigurasi Anda (yang idealnya akan berakhir untuk rilis konfigurasi melalui manajemen konfigurasi)

Untuk menghindari gangguan (Di masa depan) dan meluncurkan perubahan dengan RTO yang lebih rendah, Anda dapat membuat entri DNS antara (CNAME) di Route53 untuk server RDS Anda dan menggunakan URL perantara di aplikasi Anda. Ketika nama server RDS berubah, Anda bisa mengubah CNAME DNS dari titik akhir RDS yang baru. CATATAN: Selama perubahan nama server RDS Anda tidak akan tersedia (dengan nama lama) selama beberapa menit dan ini dapat menyebabkan gangguan

Yang sedang berkata, Anda sudah bias pada solusi (perubahan nama RDS) untuk masalah Anda. Tapi

Ada beberapa solusi untuk masalah Anda yang sebenarnya (mengelola server RDS untuk setiap proyek)

A. Cobalah untuk menghindari menggunakan Konsol AWS sebanyak mungkin. Mengapa Anda tidak mulai melihat ke AWS CLI (yang dapat menarik tag) dan menulis skrip pembungkus Python / Bash untuk mendaftar semua server RDS - dengan Nama Proyek, dari hasil ini Anda dapat mengelola server ini, seperti mengambil foto, membuat cadangan, dll. Anda juga dapat menggunakan mysql --login-path (Jika Anda menggunakan mysql untuk administrasi DB) https://opensourcedbms.com/dbms/passwordless-authentication-using-mysql_config_editor-with-mysql-5-6/ .

B. (Pendekatan biaya agnostik) Jika Anda memutuskan untuk mengubah Nama RDS, maka ada sesuatu yang dapat Anda lakukan tanpa dampak apa pun.

B.1 When the next code/config release happens try to bring in the intermediate DNS change into action.

B.2 (Optional) Enable Multi AZ in RDS (HA and twice the price). This will help your application to access the secondary active slave when there is any disruption due to name change. There is an option called Reboot with failover which would reboot the master while failing over to the active secondary 

B.3 Enable replication (read-replica) (this will give you a new RDS end-point). Name the read replica properly with your project names

B.4. Once replication is complete (and during your SLA / maintenance window) promote your read replica (this will break replication) and make the intermediate DNS point to the new RDS (with your proper names)

CATATAN Semua pendekatan di atas tidak akan menjamin integritas data dan pembaruan data yang tidak tepat karena transaksi dalam penerbangan. Jadi selalu lebih baik untuk menghentikan semua transaksi (dengan menghentikan semua aplikasi mengakses dan menggunakan halaman pemeliharaan dan melakukan operasi)


Saya menghargai masukan Anda, meskipun saya perhatikan bahwa nama-nama aneh (tidak berguna) datang secara khusus dari penggunaan CLI. Membuat instance RD dari konsol memberi mereka nama yang bermakna.
Danny Schoemann

juga sangat sulit (mustahil?) untuk melakukan analisis penagihan dari CLI, serta menonton grafik penggunaan.
Danny Schoemann

1
# 1 Ohh, untuk kreasi Anda dapat melihat Cloudformation (di mana Anda dapat mendefinisikan nama RDS), ketika saya mengatakan CLI, saya merujuk pada membaca daftar RDS (untuk penguraian yang mudah digunakan grep --output=text. # 2 dan ya untuk analisis penagihan, konsol adalah suatu keharusan, Anda harus mempertimbangkan untuk membuat pengguna IAM dengan peran penagihan dan menyerahkannya kepada
petugas
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.