Terraform — AWS Secrets Manager: Извлечь логин/пароль RDS

Необходимо извлечь логин и пароль от RDS, которые хранятся в AWS Secret Manager и использовать их значения в Terraform коде. Для этого можно воспользоваться следующей конструкцией:   И использовать переменные:

Terraform — AWS SSM: Извлечь содержимое

В SSM Parameter Store содержится JSON следующего вида:   Необходимо извлечь логин и пароль, и использовать их значения в Terraform коде. Для этого можно воспользоваться следующей конструкцией:   И использовать переменные:

Terraform/Terragrunt — Пишем модуль. Часть 1

В данном примере мы создадим Terraform модуль для провайдера AWS, который будет запускаться для 3-х разных окружений при помощи Terragrunt'a.   Требования: Установленный AWS CLI Установленный Terraform (версия выше 12.0) Установленный Terragrunt  

FIX ERROR — Terraform: Blocks of type "tags" are not expected here.

При попытке сделать terraform plan или terraform apply, terraform возвращает следующую ошибку: Error: Unsupported block type Blocks of type "tags" are not expected here. Did you mean to define argument "tags"? If so, use the equals sign to assign it a value.   Решение: В terraform версиях ниже 12-ой для "tags" использовался следующий синтаксис:   … Продолжить читать "FIX ERROR — Terraform: Blocks of type "tags" are not expected here."

Terraform — Генерация файлов на основе существующей инфраструктуры

Для создания Terraform файлов на основе существующей инфраструктуры будем использовать Terraformer   В данном примере будет использоваться система macOS, так что terraformer устанавливаем с помощью homebrew:   Установку под другие ОС можно найти на странице проекта.   Создаем директорию под хранение плагинов (для работы с провайдерами)     Примеры генерации Terraform файлов AWS Находим самую … Продолжить читать "Terraform — Генерация файлов на основе существующей инфраструктуры"

FIX ERROR — Terraform: Instance Profile already exists

При попытке выполнить "terraform apply" в ходе выполнения на создании "IAM Profile" он завершается со следующей ошибкой:   Решение: При помощи AWS Cli найти IAM Profile и удалить его. Смотрим список существующих IAM Profile: Удаляем ненужный IAM Profile:

Terraform — AWS Cross Region Peering

Пример конфигурации Terraform, который создает 2 VPC в разных регионах (EU и US)  и создает между ними связность. variables.tf

Terraform — Kubernetes кластер на AWS EC2

Пример конфигурации Terraform, который создает Kubernetes кластер (Bare Metal) на AWS EC2. Создает Ingress с NodePort. И в конце выполнения вывод публичные IP адреса Ingress нод. Данный темплейт создает следующие EC2 инстансы: 1 manager 2 workers 2 ingresses variables.tf

Terraform (Google Cloud Platform) — GCN, GCF, Instance

Пример конфигурации Terraform, который создает GCN (Google Compute Network), GCF (Google Compute Firewall), Instance. Пример использования "metadata_startup_script" в Instance main.tf variables.tf

Terraform — Установка

Установка Terraform довольно проста, так как он написан на Go, достаточно скачать архив с бинарным файлом. Перейдем на страницу загрузки: https://www.terraform.io/downloads.html Скачиваем архив, извлекаем бинарный файл и перемещаем его в "/usr/bin/" (или прописываем его в PATH) Проверим: Если вы используете оболочку "bash" или "zsh", то можно добавить автодополнение для Terraform следующей командой: