Для многих пользователей подготовка среды в AWS для размещения их веб -сайта/системы может быть сложной, особенно если они новички в облаке и что на самом деле это значит.
Кроме того, после того, как подготовка будет сделана, создание ресурсов тоже может занять некоторое время! Но что, если вы сможете сделать следующее в течение 20 -минутного окна? Проверьте список:
Создайте VPC и все необходимые для публичных и частных подсетей.
Создайте EFS и подготовьте точку доступа к этой опции хранения.
Создайте шаблон запуска, чтобы воспроизвести вашу конфигурацию в несколько EC2s в разных подсетах.
Подготовьте свой веб -сайт в качестве изображения Docker, чтобы иметь последовательную копию вашей основной проблемы (ваш сайт и его DB).
Это чувствует себя правильно? На самом деле нет, потому что это красота IAC и Terraform. Почему бы нам не пойти глубже? Приготовьте свой купальный костюм.
ПРИМЕЧАНИЕ: Это сценарий POC, и он был протестирован, да, это может быть лучше, но для цели статьи, я думаю, это хорошая отправная точка.
Что вы получите?
Проверьте изображение ниже, еще не обманывайте, дождитесь разъяснений:
После того, как вы запустите код «как он есть», вы получите балансировщик нагрузки, помещенный в одну из публичных подсети, одну машину EC2, которая развернута с помощью шаблона запуска автоматического масштабирования и EFS.
Этих вещей достаточно, чтобы запустить ваш сайт, по крайней мере, для этого варианта использования, о котором я говорю.
Но что на самом деле произошло, когда я запускаю сценарий, это следующее:
Для VPC сценарий сделает VPC, подсету (общедоступные и частные), маршрутизационные таблицы и интернет -шлюз.
Для автоматического масштабирования сценарий сделает шаблон запуска с тем, что необходимо для воспроизведения конфигурации в несколько экземпляров по мере необходимости, и убедится, что минимальные необходимые экземпляры всегда соответствуют конфигурации.
Для балансировщика нагрузки сценарий подготовит конечную точку, связанную с показателями проверки здоровья. Для EC2 сценарий запустит экземпляр из сценария конфигурации, который был прикреплен к шаблону запуска автоматического масштабирования, он установит и настраивает Docker внутри машины и вытащит проект из GitHub.
Для EFS сценарий создаст все необходимые ресурсы, такие как группа безопасности, точка доступа и вложение точки доступа для этого хранилища.
Это слишком много? Я думаю, нет, некоторым другим системам нужно намного больше. Но давайте согласимся с одной вещью, что делать все это за 20 вручную утомительно.
Шаги развертывания:
Это действительно легко и нужно несколько кликов, давайте начнем?
Прежде чем мы начнем, клонировать это Ссылка Анкет
1- У вас установлен Terraform?
Во -первых, проверьте, есть ли у вас Terraform, установленная в вашей машине.
2- Есть ли у вас полномочия AWS?
Поскольку мы собираемся развернуть эти инструкции в AWS, убедитесь, что один из этих двух вариантов доступен:
AWS CLI настроен, поэтому вы должны знать только, какой профиль будет использовать в случае размещения нескольких конфигураций.
AWS Access и Secret Keys, потому что, конечно, нам нужны учетные данные для доступа.
ПРИМЕЧАНИЕ: Проверьте Provider.tf
Как только вы решите, какое соединение использовать.
3- Некоторые необходимые команды.
Откройте окно терминала и перейдите в проект.
Потому что мы собираемся сделать новые экземпляры, и нам может потребоваться получить доступ к экземпляру, поэтому запустите эти команды.
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f $PWD/id_rsa
Примечание: не изменяйте имя ключа, если вы не перейдете в vars.ft
и изменить это там тоже.
Затем запустите эту команду, чтобы получить все необходимые модули:
terraform init
4- Запустите сценарий.
Осталось только один шаг, может быть, два, если вы хотите проверить, что произойдет.
Чтобы проверить, какие ресурсы будут созданы, запустите эту команду:
terraform plan
Чтобы принести все эти запланированные ресурсы в жизнь, запустите эту команду:
terraform apply
После того, как все ресурсы не выровнены в правильном порядке, сообщение попросит вас утвердить эти изменения, тип Да
Анкет
И теперь вы можете расслабиться, пока весь процесс не будет закончен.
ПРИМЕЧАНИЕ. После того, как сценарий Terraform будет выполнен, подождите 5–10 минут перед проверкой веб -сайта, причина в том, что инфраструктура выполнена, но сценарий экземпляра находится. EFS -монтажник требует некоторое время.
Чтобы все очистить, запустите эту команду:
terraform destroy
Важные точки:
Почему EFS в этом простом варианте использования? Поскольку я использую Docker для размещения веб -сайта и DB все вместе, и у вас есть шаблон запуска автоматического масштабирования, EFS должен обеспечить согласованность вашего DB, поскольку DB имеет объем, указанный на EFS. Любой новый экземпляр будет использовать EFS как объем.
В конце выполнения скрипта Terraform вернет ссылку ELB, и это не будет работать напрямую. Почему?? Потому что первая начальная страница WordPress будет/администратор, чтобы закончить всю необходимую конфигурацию. Итак, перейдите к
AWS Console -> EC2 -> Ваше созданное
экземпляр и посетите его публичный IP, чтобы закончить настройку. Тогда все будет хорошо.
Резюме:
Я понятия не имею, будет ли эта прецессия полезна для кого -либо, но так как я знаю, как это сделать, почему бы не поделиться этим?
Создание полной базовой среды в AWS получает смешные повороты, особенно для новых COMERS на эту платформу. Этот сценарий даст им несколько важных моментов, о которых можно подумать, использование Docker — это действительно хороший вариант, использование Terraform не сложно, и, наконец, IAC — это то, над чем им нужно работать.
Оригинал: «https://dev.to/aws-builders/how-to-deploy-a-full-environment-for-wordpress-site-via-docker-by-using-terraform-3pk3»