Рисуем AWS-архитектуры как код: обзор diagram-as-code
Знакомая ситуация: после долгой работы над инфраструктурой нужно наконец-то нарисовать архитектурную диаграмму для документации? Или, может, вы устали вручную обновлять схемы после каждого изменения в Terraform или CloudFormation? Команда AWS Labs предлагает элегантное решение — diagram-as-code, инструмент для генерации диаграмм AWS прямо из YAML-кода.
Что это за инструмент и кому он пригодится
diagram-as-code — это CLI-утилита на Go, которая превращает описание инфраструктуры в YAML в красивые диаграммы, соответствующие официальным гайдлайнам AWS. Проект особенно полезен:
- DevOps-инженерам, которые хотят автоматизировать документацию
- Архитекторам, работающим с большим количеством схем
- Командам, практикующим GitOps (диаграммы хранятся как код)
- Разработчикам, которым нужно быстро визуализировать свои решения

5 ключевых возможностей, которые вас впечатлят
-
Генерация из CloudFormation (бета) Преобразуйте ваш шаблон CFN в диаграмму одной командой:
awsdac template.yaml --cfn-templateПока функция в бета-версии, но уже экономит массу времени.
-
Гибкость настройки Хотите кастомный вывод? Легко:
awsdac infra.yaml -o custom-arch.png -
Интеграция с CI/CD Нет зависимостей от GUI — можно использовать в пайплайнах. Поддерживается как бинарник и через Docker.
-
Работа с MCP-сервером Для интеграции с AI-ассистентами и другими инструментами:
{ "mcpServers": { "awsdac-mcp-server": { "command": "/opt/homebrew/bin/awsdac-mcp-server", "args": [], "type": "stdio" } } } -
Расширяемость Можно добавлять свои ресурсы и типы связей помимо AWS.
Как это работает под капотом
Инструмент написан на Go и использует:
- Стандартные пакеты для работы с YAML
- Собственный движок для рендеринга диаграмм
- Минимальные зависимости (что важно для CI)
Архитектура позволяет легко расширять функционал через определение новых типов ресурсов в YAML.
Практические кейсы использования
-
Документируем инфраструктуру Храните диаграммы вместе с кодом инфраструктуры — они всегда будут актуальными.
-
Визуализация перед деплоем Генерируйте схему из CloudFormation до применения изменений.
-
Обучение и онбординг Новым сотрудникам проще разобраться в системе по наглядным схемам.
-
Технические презентации Красивые диаграммы для слайдов без ручной работы в Visio или Draw.io.
Плюсы и минусы
✅ Плюсы:
- Настоящий "diagram as code" — версионирование, ревью
- Соответствие стандартам AWS
- Простота интеграции в процессы
⚠️ Минусы:
- CloudFormation-фича пока в бета
- Ограниченная кастомизация стилей
- Только AWS (пока что)
Вывод: стоит ли пробовать?
Если вы работаете с AWS и устали от ручного рисования диаграмм — однозначно да. Инструмент экономит часы работы и делает документацию частью процесса разработки. Для старта хватит одного YAML-файла и команды в терминале.
Особенно рекомендую:
- Командам, практикующим Infrastructure as Code
- Архитекторам, работающим с большим количеством схем
- Всем, кто хочет автоматизировать рутинные задачи
Попробуйте сами — установка через Homebrew или Go займет минуту:
brew install awsdac
# или
go install github.com/awslabs/diagram-as-code/cmd/awsdac@latest
А вы уже используете diagram-as-code в своих проектах? Делитесь опытом в комментариях!