Развертывание приложения в экземпляре EC2 - PullRequest
0 голосов
/ 16 декабря 2018

Я работал над шаблоном формирования облака для моей среды.Я получаю

  • VPC
  • Подсеть x2
  • Группа автоматического масштабирования
  • Конфигурация запуска (экземпляры EC2 в AWS Linux AMI)
  • Балансировщик нагрузки приложения
  • Codedeploy (для развертываний)

Но у меня возникла проблема с конфигурацией CodeDeploy с Cloud Formation, поскольку не все функции доступны для экземпляров EC2.После ручной настройки CodeDeploy при развертывании возникает ошибка «слишком мало нездоровых экземпляров», после чего созданные экземпляры не уничтожаются, даже если откат включен.Сейчас я использую только один экземпляр EC2 для приложения, но планирую в будущем масштабировать.

Есть ли альтернатива для CodeDeploy?Мне интересно запустить развертывание с Jenkins Machine.

Ответы [ 2 ]

0 голосов
/ 30 декабря 2018

Убедитесь, что вы присвоили правильную роль IAM для экземпляра EC2, перейдя в «Настройки экземпляра».Это обеспечит бесперебойное развертывание без этой ошибки.

Вы также можете настроить развертывание на EC2, используя CodeDeploy через jenkins.

Шаги, которые необходимо выполнить:

AWS CodeDeploy:

  1. Создайте новое приложение CodeDeploy.
  2. Введите подходящее имя приложения и выберите «EC2 /В помещениях », как в форме вычислений.
  3. Добавьте группу развертывания под приложением.Например: «test».
  4. Выберите развертывание на месте.
  5. Добавьте роль службы как «Разработка Codedeploy».Это позволит codedeploy взаимодействовать с другими сервисами AWS.
  6. Выберите подходящую конфигурацию развертывания, предпочтительно: «OneAtATime» при развертывании на одном экземпляре EC2.
  7. Конфигурация среды: выберите экземпляр EC2, в которомвы хотите развернуть приложение

Jenkins:

  1. В Jenkins создайте задание с подходящим именем приложения.
  2. В разделе «Действия после сборки» нажмите «Добавить действие после сборки» Jenkins - конфигурация после сборки
  3. Выберите: «Развернуть приложение в AWS CodeDeploy»
  4. Введите сведения о CodeDeploy и S3 в разделе
  5. Корзина S3 будет содержать все сборки, которые используются для развертывания на EC2 с использованием Codedeploy
0 голосов
/ 16 декабря 2018

В соответствии с вашими требованиями я настоятельно рекомендую использовать aws elastic beanstalk как лучший способ развертывания кодов в aws.Поскольку мы можем управлять ими в elastic beanstalk и для развертывания кода, использование codeship также является лучшим способом управления развертыванием, интегрированным с github, вместо развертывания кода aws.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...