MySQL データベース用に EC2 インスタンスと RDS を使用しています。
すべてのスクリプトで MySQL データベース接続の localhost を参照し、特定の RDS DNS ホスト アドレスに 3306 と仮定してルーティングしたいと考えています。これはどのように可能ですか?
私がこれを行っている理由は、RDS の負荷分散がまだ行われておらず、どの RDS ホストがオンになっているかを制御するための中心的な場所が必要なためです。
これはiptablesのためのものですか?
MySQL データベース用に EC2 インスタンスと RDS を使用しています。
すべてのスクリプトで MySQL データベース接続の localhost を参照し、特定の RDS DNS ホスト アドレスに 3306 と仮定してルーティングしたいと考えています。これはどのように可能ですか?
私がこれを行っている理由は、RDS の負荷分散がまだ行われておらず、どの RDS ホストがオンになっているかを制御するための中心的な場所が必要なためです。
これはiptablesのためのものですか?
重要なことは、データベース サーバーのエイリアスを作成して、後でコードを変更せずに IP アドレスを変更できるようにすることです。そのために、/etc/hosts
ファイルを使用できます。localhost
ただし、この手法を使用する場合は、設定を使用または変更しないでください。localhost
は特殊でありlocalhost
、/etc/hosts ファイル内の の定義を変更すると、悪影響が生じる可能性があります。
/etc/hosts
代わりに、データベース サーバー用に別のエントリを作成します。ファイルの形式は IP_ADDRESS NAME です。例えば:
127.0.0.1 dbserver
その後、すべてのコードdbserver
で、データベース サーバーのホスト名を参照できます。後で/etc/hosts
データベースを移動するときに、ファイル内の IP アドレスを別のアドレスに変更できます。