Я планирую запустить приложение PHP / MySQL с помощью Amazon Elastic Beanstalk. В настройках я могу определить, когда он должен запускать новые экземпляры автоматически (Auto-Scaling).
Однако, насколько я понимаю, это создает только новые экземпляры EC2 и не затрагивает уровень данных RDS (который я также настроил в настройках).
Есть ли способ автоматически масштабировать этот RDS с помощью автоматических реплик чтения или обновления размера базы данных, или мне нужно каким-то образом сделать это вручную?
Сегодня мы столкнулись с этой проблемой.
Мы запустили мобильное приложение, которое постоянно сообщает данные, которые должны быть сохранены в RDS MySQL, что привело к высокому снижению производительности, мы использовали db.t2.micro, чтобы воспользоваться преимуществами уровня бесплатного пользования.
Я могу подтвердить, Elastic Beanstalk не масштабирует RDS автоматически. Однако среда была переконфигурирована и настроен другой сервер для RDS, db.m3.medium, процесс прошел гладко для пользователей, база данных смогла продолжить обслуживание запросов чтения / записи, и сервер был обновлен без простоев.
Итак, есть способ выполнить ручное, но быстрое и легкое масштабирование, но нет автоматического масштабирования.
Программно, я думаю, вы можете создать сценарий для мониторинга ваших баз данных и сделать:
aws elasticbeanstalk --update-environment --environment-name <your-env-name> --option-settings Namespace=aws:rds:dbinstance,OptionName=DBInstanceClass,Value=db.m1.small
Нет, Elastic Beanstalk может создавать только новые экземпляры RDS (и я думаю, что даже это можно сделать только через веб-интерфейс). Elastic Beanstalk действительно управляет только экземплярами EC2 и не управляет напрямую RDS.
Обратите внимание, что «масштабирование» RDS не является бесшовным; изменение размера инстанса приведет к некоторому простою, поскольку базовый инстанс EC2, на котором работает RDS DB, в основном выключается и перезапускается.