AWS провайдер
Тема дорожной карты · Terraform
Провайдер AWS — это официальный плагин HashiCorp Terraform, транслирующий объявления HCL-ресурсов в вызовы AWS API, обеспечивая IaC-управление EC2, S3, RDS, VPC, IAM, Lambda и сотнями других сервисов AWS. Он настраивается в блоке required_providers через source = "hashicorp/aws", а учётные данные передаются через переменные окружения, профиль AWS или IAM-роль, принимаемую во время terraform init. После запуска terraform plan можно точно проверить, какие ресурсы AWS будут созданы, изменены или удалены, прежде чем подтвердить действия через terraform apply. Провайдер AWS поддерживает несколько регионов и аккаунтов AWS в рамках одной конфигурации через алиасинг провайдеров, что делает его краеугольным камнем любого IaC-рабочего процесса AWS с Terraform или OpenTofu.
Как это работает
AWS провайдер — плагины, транслирующие HCL в API-вызовы к таргету (AWS, Yandex Cloud, GitHub, Cloudflare, DNS-провайдеры, k8s, Helm). У каждого провайдера свои типы ресурсов и data-источников. Провайдеры пинятся в required_providers, скачиваются terraform init в .terraform/providers/. Несколько провайдеров сосуществуют; алиасы (provider "aws" { alias = "us" }) конфигурируют несколько экземпляров одного провайдера (multi-region).
Когда применять
Всегда официальный провайдер вашей платформы (Yandex Cloud, AWS, Cloudflare). Для RF-инфры — Yandex Cloud + selectel-провайдеры. Микс провайдеров в одном конфиге — когда приложение через облака. Алиасы — для multi-region/multi-account. Избегайте community-провайдеров для критичного state без чтения исходников — баги провайдера могут корраптить state.
Типичные ошибки
Ловушки AWS провайдер: расхождение версий провайдера между членами команды (lockfile не закоммичен); provider "aws" {} без явного region → деплой не туда; авторизация провайдера через статичные ключи в *.tf (коммит, leak, сожаление — используйте env vars или assumed roles); слишком много провайдеров в одном root-модуле (init минутами).