Terraform: инфраструктура на уровне кода | страница 36
2. Приступаем к работе с Terraform
В этой главе вы научитесь основам применения Terraform. Этот инструмент прост в изучении, поэтому за следующие 40 страниц вы пройдете путь от выполнения ваших первых команд до развертывания кластера серверов с балансировщиком нагрузки, который распределяет между ними трафик. Такая инфраструктура будет хорошей отправной точкой для запуска масштабируемых высокодоступных веб-сервисов. В следующих главах мы продолжим улучшать этот пример.
Terraform умеет инициализировать инфраструктуру как в публичных облаках, вроде Amazon Web Services (AWS), Azure, Google Cloud и DigitalOcean, так и в частных облачных платформах и системах виртуализации вроде OpenStack и VMWare. Практически во всех примерах кода в книге будет использоваться AWS. Это хороший выбор для изучения Terraform по следующим причинам.
• AWS, вне всяких сомнений, является самым популярным провайдером облачной инфраструктуры. Его доля на рынке облачных решений составляет 45 %, что больше, чем у трех ближайших конкурентов (Microsoft, Google и IBM), вместе взятых (http://bit.ly/2kWCuCm).
• AWS предоставляет широчайший спектр надежных и масштабируемых сервисов с облачным размещением, включая Amazon Elastic Compute Cloud (Amazon EC2), который можно использовать для развертывания виртуальных серверов, Auto Scaling Groups (ASGs), упрощающий управление кластером виртуальных серверов, и Elastic Load Balancers (ELBs), с помощью которого можно распределять трафик между виртуальными серверами кластера25.
• В первый год использования AWS предлагает щедрый бесплатный тариф (https://aws.amazon.com/free/), который позволяет выполнить все эти примеры без денежных затрат. Если вы уже исчерпали свои бесплатные кредиты, работа с примерами из этой книги будет стоить не дороже нескольких долларов.
Не нужно волноваться, если вы прежде не использовали AWS или Terraform. Этот учебник подойдет для новичков в обеих технологиях. Я проведу вас через такие этапы, как:
• подготовка вашей учетной записи в AWS;
• установка Terraform;
• развертывание одного сервера;
• развертывание одного веб-сервера;
• развертывание конфигурируемого веб-сервера;
• развертывание кластера веб-серверов;
• развертывание балансировщика нагрузки;
• удаление ненужных ресурсов.
Пример кода
Напоминаю, что все примеры кода из этой книги доступны по адресу github.com/brikis98/terraform-up-and-running-code.
Подготовка вашей учетной записи в AWS
Если у вас нет учетной записи в AWS, пройдите на страницу aws.amazon.com и зарегистрируйтесь. Сразу после регистрации вы входите в систему в качестве