2015-10-13 4 views
0

Есть ли в любом случае я могу обновить свое приложение в EC2 без простоя? Или что-то вроде приостановки, но не перезапускаAWS EC2 обновление без простоя

+0

вопрос слишком широк. вы должны подробно рассказать о том, как выглядит приложение и как вы пытаетесь развернуть – Mircea

ответ

1

Если у вас есть только один экземпляр EC2, и ваше приложение является веб-приложением, вы можете подключиться к своему приложению и использовать любой веб-прокси для переключения между контейнером докера с нулевым временем простоя.

Пусть говорят ваше приложение в Докер контейнере:

Internet --> Nginx Proxy --> Container A 

При обновлении приложения, необходимо развернуть его на новый контейнер B:

Internet --> Nginx Proxy --> Container A 
          Container B 

реконфигурирования прокси для переключения к контейнерной B, в Nginx, вы можете service nginx reload не убивая Nginx:

Internet --> Nginx Proxy  Container A 
         `--> Container B 

Удалить старый контейнер A:

Internet --> Nginx Proxy --> Container B 

И у вас есть нулевое время простоя.

Посмотрите также на мой ответ в https://stackoverflow.com/a/33085105/3427434. Сценарий там, делает то же самое, что я сказал здесь.

1

AWS Elastic Beanstalk можно использовать для достижения этой цели.

Идея, как описано here, заключается в создании новой среды с последней версией вашего приложения и после ее развертывания заменяет CNAME вашей текущей производственной среды и недавно развернутой, тем самым достигая нулевого времени простоя.

Смежные вопросы