Azure модули

Тема дорожной карты · Ansible

Работа Ansible с Azure обеспечивается collection azure.azcollection, предоставляющей более 300 модулей для управления ресурсами Azure, включая виртуальные машины, виртуальные сети, учётные записи хранения, кластеры AKS и объекты Azure Active Directory. Установка collection командой ansible-galaxy collection install azure.azcollection и её Python-зависимостей (pip install -r ~/.ansible/collections/ansible_collections/azure/azcollection/requirements.txt) позволяет playbook выполнять аутентификацию через service principal, managed identity или токен Azure CLI. Ansible с Azure особенно эффективен для повседневных операций — изменения размера виртуальных машин, обновления правил NSG, ротации ключей учётной записи хранения, — где декларативный playbook предоставляет проверяемую и воспроизводимую альтернативу работе через портал. Плагин динамического inventory из azure.azcollection автоматически обнаруживает все виртуальные машины в подписке или группе ресурсов, упрощая нацеливание на инстансы по тегу, группе ресурсов или типу ОС.

Как это работает

Azure модули использует cloud-специфичные модули для создания cloud-ресурсов (VM, сети, S3-бакеты, DNS). Модули для AWS (amazon.aws), Yandex Cloud (yandex.cloud), Azure (azure.azcollection), GCP (google.cloud), Kubernetes (kubernetes.core). Ansible может быть и IaC, и инструментом конфигурации ("provision и configure"). Сообщество обычно предпочитает Terraform для provisioning + Ansible для конфигурации — разделение ответственности.

Когда применять

Ansible для provisioning — только на маленьких + динамичных нагрузках, где Terraform тяжёл. В большинстве случаев Terraform создаёт VM + выводит inventory, потом Ansible конфигурирует (типичный pipeline). add_host — для добавления свежесозданных хостов в inventory посреди play. Dynamic inventory-плагины — вместо ручных списков для облака.

Типичные ошибки

Ловушки Azure модули: Ansible для provisioning без эквивалента state-файла (не видно, что существует — Terraform трекает); resource-drift между запусками (Ansible сводит, но не enforce "удалить то, чего быть не должно"); дыры в идемпотентности некоторых cloud-модулей (двойной запуск создаёт два ресурса из-за неверного lookup key).

Связанные понятия

Полезные ресурсы