web-dev-qa-db-ja.com

複数のスタック間でAWSRDSインスタンスを共有するための最良の方法は何ですか?

1つの大きなRDSインスタンスを作成し、それをOpsWorksスタック間で共有して、データベースリソースを複数のアプリケーション間でプールできるようにしたいと思います。アプリのデータソースを構成するためのOpsWorksドキュメントへの参照は次のとおりです。

http://docs.aws.Amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-all-app-types

(データソースの下の)RDSオプションを使用して、既存のRDSインスタンスを選択しようとしました。ただし、Opsworksは、現在別のスタックに接続されていないインスタンスのみを表示します。

私が考えることができる唯一のオプションは、[データソース]で[なし]を選択し、データベース設定のデプロイJSONを手動で構成することです。このアプローチの欠点の1つは、接続が「自動」ではないため、機能が失われるかどうかがわかりません。また、データベースのユーザーとパスワードをスタックJSONに保存する必要がありますが、これは自動接続よりも安全性が低い可能性があります。

アドバイスをいただければ幸いです。

2
TomDavies

これが私が使用することになった解決策です。

  1. アプリのデータソースタイプとして「なし」を選択します。

  2. 次のデプロイカスタムJSONデータベース設定を各アプリのスタック設定に追加します。

 
 {
 "deploy":{
 "YOURAPP":{
 "database":{
 "adapter": "mysql2"、
 "Host": "Host"、
 "port": "3306"、
 "database": "DATABASE"、
 "username": "USERNAME" 、
 "password": "PASSWORD"、
 "reconnect": "false" 
} 
} 
} 
} 
0
TomDavies