Назад | Перейти на главную страницу

Как лучше всего использовать один экземпляр AWS RDS в нескольких стеках?

Я хотел бы создать один более крупный экземпляр RDS и поделиться им между стеками OpsWorks, чтобы я мог объединять ресурсы базы данных в нескольких приложениях. Вот ссылка на документы OpsWorks по настройке источников данных для приложения:

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

Я пробовал использовать опцию RDS (в разделе Источники данных), чтобы выбрать существующий экземпляр RDS. Однако Opsworks отображает только экземпляры, которые в настоящее время не подключены к другому стеку.

Единственный вариант, который я могу придумать, - это выбрать «Нет» в разделе «Источники данных», а затем вручную настроить развернутый JSON для параметров базы данных. Одним из недостатков этого подхода является то, что подключение не является «автоматическим», поэтому я не уверен, что какая-либо функциональность будет потеряна. Кроме того, мне пришлось бы сохранить пользователя и пароль базы данных в стеке JSON, что, возможно, менее безопасно, чем автоматическое подключение.

Любой совет приветствуется.

Вот решение, которое я в итоге использовал.

  1. Выберите «Нет» для типа источника данных приложения.

  2. Добавьте следующие параметры развертывания пользовательской базы данных JSON в настройки стека для каждого приложения:

 
  { 
    "deploy": {
        "YOURAPP": {
          "database": {
            "adapter": "mysql2",
            "host": "HOST",
            "port": "3306",
            "database": "DATABASE",
            "username": "USERNAME",
            "password": "PASSWORD",
            "reconnect": "false"
          }
        }
      }
    }