Я знаю, что на этот вопрос был частично дан ответ во многих местах, но ответы такие... по всей карте, датированы и плохо объяснены. Я ищу рекомендации по состоянию на февраль 2016 г.
Настройка:
Служба приложения RESTful на основе PHP, которая находится в экземпляре EC2. Экземпляр EC2 использует S3 для загруженных пользовательских данных (файлов изображений) и RDS MySql для своей БД (эти два момента не особенно важны).
Мы разрабатываем в PHPStorm, а наша система контроля версий — GitHub. При развертывании мы просто используем встроенное в PHPStorm развертывание SFTP для загрузки файлов непосредственно в экземпляр EC2 (у нас есть один экземпляр для нашей промежуточной среды, а другой — для нашей производственной среды). Я развертываю Staging очень часто. Может быть 20 раз в день. Я просто нажимаю на файл в PHPStorm и говорю «развернуть в Staging», что делает передачу SFTP. Или я могу просто щелкнуть весь проект и нажать «развернуть в Staging» — определенные папки и файлы исключаются из загрузки, что является частью конфигурации развертывания PHPStorm.
Недавно я разместил наш инстанс EC2 за балансировщиком нагрузки. Я сделал это, чтобы воспользоваться бесплатным SSL-предложением Amazon через диспетчер сертификатов, который не поддерживает отдельные экземпляры EC2.
Итак, прямо сейчас есть балансировщик нагрузки, за которым стоит только один экземпляр EC2. Я поддерживаю эластичный IP-адрес, указывающий на экземпляр EC2, чтобы иметь к нему прямой доступ (см. мой текущий метод развертывания выше).
Вопрос:
У меня еще не хватило смелости создать дополнительные (клонированные) экземпляры EC2 за моим балансировщиком нагрузки, потому что я не уверен, как мне следует развертывать их. На ум пришло несколько идей, но все они довольно хакерские.
Учитывая приведенный выше сценарий, какой в настоящее время является самым простым и лучшим способом A) быстро развернуть кодовую базу в наборе экземпляров EC2 за балансировщиком нагрузки и B) на самом деле ' клонировать мой текущий экземпляр EC2, чтобы создать дополнительные экземпляры.
Я еще не смог нарисовать четкую картину вышеизложенного в своей голове, несмотря на то, что я рассмотрел несколько (высокотехнических) предложений.
Спасибо!