Я хотел бы создать один более крупный экземпляр RDS и поделиться им между стеками OpsWorks, чтобы я мог объединять ресурсы базы данных в нескольких приложениях. Вот ссылка на документы OpsWorks по настройке источников данных для приложения:
Я пробовал использовать опцию RDS (в разделе Источники данных), чтобы выбрать существующий экземпляр RDS. Однако Opsworks отображает только экземпляры, которые в настоящее время не подключены к другому стеку.
Единственный вариант, который я могу придумать, - это выбрать «Нет» в разделе «Источники данных», а затем вручную настроить развернутый JSON для параметров базы данных. Одним из недостатков этого подхода является то, что подключение не является «автоматическим», поэтому я не уверен, что какая-либо функциональность будет потеряна. Кроме того, мне пришлось бы сохранить пользователя и пароль базы данных в стеке JSON, что, возможно, менее безопасно, чем автоматическое подключение.
Любой совет приветствуется.
Вот решение, которое я в итоге использовал.
Выберите «Нет» для типа источника данных приложения.
Добавьте следующие параметры развертывания пользовательской базы данных JSON в настройки стека для каждого приложения:
{ "deploy": { "YOURAPP": { "database": { "adapter": "mysql2", "host": "HOST", "port": "3306", "database": "DATABASE", "username": "USERNAME", "password": "PASSWORD", "reconnect": "false" } } } }