Engine Yard にはいくつかの環境があります。それぞれが同じアプリケーションを実行しますが、運用、ステージングなどの異なる段階で実行されます。合計で約 10 の環境です。ここで、本番データベースを毎晩ダンプし、残りの環境で復元して最新のデータを取得したいと考えています。
問題は、ある環境のインスタンスが他の環境のインスタンスにアクセスできないことです。私たちに適した接続方法は 2 つあります。
- SSH。
--host
へのパラメータとして RDS ホストを指定しますmysqldump
。RDS ホストはenvironment.random_string.region.rds.amazonaws.com
、通常の EC2 ホスト名とは対照的な形式です。
どちらもそのままでは機能しません。簡単な解決策は、アクセスが必要なすべてのサーバーで RSA キーを生成し、authorized_hosts
アクセスを許可する必要があるすべてのサーバーにそれらを追加することです。ただし、このソリューションはスケーラブルではありません。環境を追加または再作成すると、プロセスを繰り返す必要があります。
より良い解決策はありますか?