Bir RDS örneğini yeniden adlandırabilir miyim?


11

Rastgele (yararsız) DB Eşgörünüm isimleri ile RDS MySQL örneklerinin bir koleksiyonunu devralmıştım .

Hangi projeye ait olduklarını bulmak için genellikle etiketler bölümüne girmem gerekir.

Bir RDS'de değiştirebileceğim ayarlardan biri DB Instance Identifier.

Bunu değiştirirsem, isim değişikliğinin yanında ne olacak? Kimsenin kodunu etkiler mi? Yoksa zararsız bir değişiklik mi?

Bunlar, indirmeyi göze alamayacağım canlı sistemler.

Yanıtlar:


10

Evet, bir RDS örneğini yeniden adlandırabilirsiniz ... kendi sorumluluğunuzdadır.

Bir DB örneğini yeniden adlandırdığınızda, URL DB örneğine atadığınız adı içerdiğinden, DB örneği için [DNS] uç noktası [ana bilgisayar adı] değişir.

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

Uygulama kodunuz bu nedenle yapılandırma değişikliklerinin koordine edilmesini gerektirir.

Diğer çıkarımlar için yukarıdaki bağlantıya bakınız. Bu, desteklenen ve genellikle güvenli bir işlemdir, ancak yalnızca bakım pencerenizde, çünkü DNS değiştirildiğinde ve uygulama kodunuz yeni veritabanı ana bilgisayar adıyla çevrildiğinde mutlaka kısa bir kesinti olacaktır.


3

Evet, RDS örneğinin adını değiştirebilirsiniz, ancak LIVE Production ortamında bunu yapmak kesinlikle önerilmez. RDS sunucusuna (uygulama sunucusu gibi) aktif olarak erişen diğer kaynakları etkileyebilecek EndPoint'i değiştirir.

Bu, muhtemelen kodunuzda veya yapılandırmalarınızda bir özellik / env değişkeni değişikliği gerektirir (bu, ideal olarak config yönetimi aracılığıyla config'in yayınlanmasıyla sonuçlanır)

Daha az RTO ile kesintileri (Gelecekte) ve kullanıma sunma değişikliklerini önlemek için, RDS sunucunuz için Route53'te bir ara DNS girişi (CNAME) oluşturabilir ve uygulamanızdaki ara URL'yi kullanabilirsiniz. RDS sunucu adı değiştiğinde, yeni RDS Bitiş Noktasının DNS CNAME'ini değiştirebilirsiniz. NOT: Ad değişikliği sırasında RDS sunucunuz birkaç dakika boyunca kullanılamaz (eski adla) ve bu durum kesintiye neden olabilir

Bununla birlikte, sorununuz için bir çözüme (RDS adlarının değiştirilmesi) zaten önyargılısınız. Fakat

Gerçek probleminiz için birden fazla çözüm var (her proje için RDS sunucularını yönetme)

A. AWS Konsolunu mümkün olduğunca kullanmaktan kaçının. Neden AWS CLI'ye (etiketleri çekebilir) bakmaya ve tüm RDS sunucularını listelemek için bir sarıcı Python / Bash betiği yazmaya başlamıyorsunuz - Proje Adları ile bu çıktıdan anlık görüntü alma, yedekleme vb. Ayrıca mysql --login-path (DB yönetimi için mysql kullanıyorsanız) https://opensourcedbms.com/dbms/passwordless-authentication-using-mysql_config_editor-with-mysql-5-6/ .

B. (Maliyet agnostik yaklaşım) RDS Adlarını değiştirmeye yine de karar verdiyseniz, herhangi bir etki yapmadan yapabileceğiniz bir şey vardır.

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)

NOT Yukarıdaki tüm yaklaşımlar, uçuş içi işlemler nedeniyle veri bütünlüğünü ve yanlış veri güncellemelerini garanti etmez. Bu nedenle, tüm işlemleri durdurmak her zaman daha iyidir (tüm uygulamaların bir bakım sayfasına erişmesini ve dağıtımını durdurarak işlemleri gerçekleştirerek)


Girişinizi takdir ediyorum, ancak garip (işe yaramaz) isimlerin özellikle CLI kullanmaktan geldiğini fark ettim. Konsoldan bir RDs örneği oluşturmak onlara anlamlı adlar verir.
Danny Schoemann

CLI'den faturalandırma analizi yapmak ve kullanım grafiklerini izlemek de çok zor (imkansız?).
Danny Schoemann

1
# 1 Ohh, oluşturma için Cloudformation'a (RDS adlarını tanımlayabileceğiniz) göz atabilirsiniz, CLI dediğimde RDS listesini okumaya atıfta bulunduğumu (grep kullanımında kolay ayrıştırma için --output=text. # 2 ve faturalandırma analizi için evet, konsol Eğer finans kişiye fatura-rol ve elle ters bir IAM kullanıcı oluşturmayı düşünmelisiniz, bir zorunluluktur.
Ameen İbrahim rafik - 'HAVA'
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.