RDSインスタンスの名前を変更できますか?


11

ランダムな(役に立たない)DBインスタンス名を持つRDS MySQLインスタンスのコレクションを継承しました。

私は頻繁に掘るする必要がタグそれらが属するプロジェクトを見つけるためにセクション。

RDSで変更できる設定の1つはDB Instance Identifierです。

これを変更すると、名前の変更以外にどうなりますか?誰かのコードに影響しますか?それとも無害な変更ですか?

これらは私がダウンさせるわけにはいかないライブシステムです。

回答:


10

はい、RDSインスタンスの名前を変更することができます...自分の危険で。

DBインスタンスの名前を変更すると、URLにDBインスタンスに割り当てた名前が含まれるため、DBインスタンスの[DNS]エンドポイント[ホスト名]が変更されます。

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

このため、アプリケーションコードでは、構成の変更を調整する必要があります。

その他の影響については、上記のリンクを参照してください。これはサポートされている一般的に安全な操作ですが、DNSが変更され、アプリのコードが新しいデータベースのホスト名で循環するため、必ず一時的に中断されるため、メンテナンスウィンドウでのみ行います。


3

はい、RDSインスタンスの名前を変更できますが、LIVE本番環境では変更しないことを強くお勧めします。これはEndPointを変更し、RDSサーバー(アプリケーションサーバーなど)にアクティブにアクセスする他のリソースに影響を与える可能性があります。

これにはおそらく、コードまたは構成のプロパティ/環境変数の変更が必要になります(理想的には、構成管理による構成のリリースになるでしょう)。

RTOを減らして中断(将来)および変更のロールアウトを回避するには、RDSサーバーのRoute53に中間DNSエントリ(CNAME)を作成し、アプリケーションで中間URLを使用します。RDSサーバー名が変更された場合、新しいRDSエンドポイントのDNS CNAMEを変更するだけで済みます。注:名前の変更中は、RDSサーバーが(古い名前で)数分間使用できなくなり、中断が発生する可能性があります

とはいえ、問題の解決策(RDS名の変更)に既に偏っています。だが

実際の問題には複数の解決策があります(プロジェクトごとにRDSサーバーを管理)

A. AWSコンソールの使用はできるだけ避けてください。AWS CLIを調べ始め(タグをプルできる)、ラッパーPython / Bashスクリプトを記述して、すべてのRDSサーバーを一覧表示する-プロジェクト名を使用して、この出力から、これらのサーバーを管理できます(スナップショットの作成、バックアップなど)。 。mysql --login-path(DB管理のためにmysqlを使用している場合)https://opensourcedbms.com/dbms/passwordless-authentication-using-mysql_config_editor-with-mysql-5-6/も使用でき ます

B.(コストにとらわれないアプローチ)とにかくRDS名を変更することにした場合は、影響なしに実行できることがいくつかあります。

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)

上記のすべてのアプローチは、処理中のトランザクションによるデータの整合性と不適切なデータの更新を保証するものではありません。したがって、常にすべてのトランザクションを停止することをお勧めします(メンテナンスページにアクセスしてデプロイするすべてのアプリケーションを停止し、操作を実行することにより)


奇妙な(役に立たない)名前が具体的にはCLIの使用に由来していることに気づきましたが、私はあなたの入力に感謝します。コンソールからRDインスタンスを作成すると、それらに意味のある名前が付けられます。
Danny Schoemann 2017

また、CLIから課金分析を行ったり、使用状況のグラフを見たりすることは非常に困難です(不可能ですか?)。
Danny Schoemann 2017

1
#1おお、私はCLI私はgrepを使用して簡単に解析のために(読みRDSのリストを参照して言ったときに作成するために、あなたは、(あなたがRDS名を定義することができます)Cloudformationを見てみることができます--output=text#2とはい分析を請求するために、コンソールは必須です。課金ロールを持つIAMユーザーの作成を検討し、それを財務担当者に渡す必要があります
Ameen Ibrahim Raffic-'AIR'
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.