Как программно автоматически развернуть экземпляр Ec2? - PullRequest
1 голос
/ 11 июля 2020

У меня есть веб-сайт ab c .com, и наш веб-сайт похож на портал регистрации на турниры, и любой пользователь, заходящий на наш веб-сайт, может произвести оплату и запросить аналогичный портал под запрошенным URI сайта, скажем, xyz.com .

Итак, как только администратор получит запрос портала, если он примет запрос, будет создан новый экземпляр EC2 для URI сайта запроса, xyz.com. И этот сайт будет клоном нашего веб-сайта с созданным интерфейсом и серверной частью в этом экземпляре.

Итак, я предполагаю, что автоматическая подготовка - это термин для процесса, мне сказали использовать ansible, но он недоступен для одного разработчика.

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

Примечание: Я использую response js в качестве интерфейса и node js в качестве сервера.

Ответы [ 2 ]

1 голос
/ 12 июля 2020

Вы можете использовать Terraform или формирование облаков. Лично я предпочитаю Terraform. Поэтому, по моему мнению, самый простой подход: у вас должен быть предварительно запеченный AMI для серверов EC2, размещенных для ab c .com, и вы можете использовать тот же AMI для создания xyz.com, как я предполагаю, оба EC2 должны иметь одинаковые конфигурация. Единственным отличием будет имя DNS, которое вы можете настроить для нового приложения. Это также можно сделать с помощью терраформирования. Во время развертывания вы также можете настроить свой новый EC2 (например, добавив дополнительное программное обеспечение или данные) с помощью конфигурации пользовательских данных. Вы можете копировать ресурсы из другого хранилища, такого как S3, или вы также можете подключить любое другое хранилище. Jenkins - популярный инструмент для создания такого конвейера. Изначально усилий будет больше, но после того, как конвейер будет настроен, вам станет намного легче жить.

1 голос
/ 11 июля 2020

Я бы посоветовал вам управлять инфраструктурой как решением на основе «Инфраструктура как код» (например, CloudFormation или Terraform ).

Для них вы должны определить шаблоны или модули, содержащие определение того, как будет выглядеть инфраструктура, тогда, когда вам нужно создать новую, вы должны создать ее программно. Для CloudFormation вы можете использовать CLI или SDK для выполнения функции create-stack , передавая содержимое шаблона, который вы хотите создать.

Каждый новый сайт будет иметь свой собственный стек который содержит любые ресурсы, необходимые для его работы (серверы, группы безопасности, балансировщики нагрузки, базы данных и т. д. c).

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

Любой сервер будет происходить из предварительно созданного AMI с любой готовой конфигурацией и программным обеспечением (настройте сервер, используя Ansible, Chef или Puppet ) .

Взгляните на эти примеры стеков приложений в CloudFormation, которые могут помочь показать, как его можно использовать.

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