Рубрики
Uncategorized

Как развернуть полную среду для сайта WordPress через Docker с помощью Terraform?

Для многих пользователей подготовка среды в AWS для размещения их веб -сайта/системы может быть жесткой, особенно … Tagged с WebDev, Tutorial, Cloud, DevOps.

Для многих пользователей подготовка среды в 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

Важные точки:

  1. Почему EFS в этом простом варианте использования? Поскольку я использую Docker для размещения веб -сайта и DB все вместе, и у вас есть шаблон запуска автоматического масштабирования, EFS должен обеспечить согласованность вашего DB, поскольку DB имеет объем, указанный на EFS. Любой новый экземпляр будет использовать EFS как объем.

  2. В конце выполнения скрипта 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»