AWS представила вторую часть руководства по атрибуции затрат для Amazon Bedrock. Речь идет о механизме, который автоматически связывает каждый инференс-запрос к модели с IAM-принципалом — то есть с конкретным пользователем, сервисом или приложением, выполнившим вызов. Это позволяет отвечать на вопросы вида «сколько тратит отдел разработки на Claude Code» или «какое приложение генерирует больше всего расходов на генерацию текста».

Первая часть материала описывала, как колонка line_item_iam_principal в отчетах о затратах дает попользовательскую видимость. Вторая часть фокусируется на практической реализации: настройке экспорта данных Cost and Usage Report (CUR) 2.0 с включенной опцией Include caller identity (IAM principal) allocation data, подключении этого экспорта к Amazon Athena и использовании готовых дашбордов CUDOS. CUDOS — это набор предсобранных визуализаций, которые адаптируются под структуру конкретной организации. Athena, в свою очередь, предоставляет гибкость для произвольных SQL-запросов и интеграции с BI-инструментами.

line_item_iam_principalline_item_usage_typetotal_tokenstotal_cost
arn:aws:sts::123456789012:assumed-role/ChatApp/session-1USW2-anthropic.claude-opus-4-8-mantle-cache-write-tokens-standard1629.5$11.2029
arn:aws:sts::123456789012:assumed-role/DocProcessor/batch-7USW2-Claude4.6Sonnet-output-tokens68.579$1.131
arn:aws:sts::123456789012:assumed-role/ClaudeCode/chatUSW2-Claude4.6Sonnet-cache-write-input-token-count831.74$3.4309
arn:aws:iam::123456789012:user/aliceUSW2-Claude4.6Sonnet-input-tokens17.33$0.0572

Настройка начинается с создания CUR 2.0 экспорта в консоли AWS. Критически важный шаг — отметить чекбокс Include caller identity (IAM principal) allocation data. Без него колонка line_item_iam_principal останется пустой, и атрибуция затрат будет невозможна. Также рекомендуется выбрать почасовую гранулярность для максимальной детализации и отключить версионирование файлов, чтобы избежать дублирования данных. AWS предупреждает: включение данных IAM-принципалов увеличивает размер CUR-файлов, так как каждая строка использования разворачивается в несколько строк — по одной на каждый принципал. Для высоконагруженных систем с множеством принципалов стоит заранее продумать политики жизненного цикла S3.

Для анализа затрат требуется настроить CUR 2.0 с включенной опцией Include caller identity (IAM principal) allocation data.

Table of example query output with columns for IAM principal, usage type, and unblended cost, showing per-user Claude model token costs
Table of example query output with columns for IAM principal, usage type, and unblended cost, showing per-user Claude model token costs · Источник: AWS Machine Learning Blog

После настройки экспорта данные попадают в Athena, где их можно анализировать с помощью стандартного SQL. AWS приводит пример простого запроса, который выбирает принципалов, типы использования и стоимость для продуктов AmazonBedrock и AmazonBedrockService. Для автоматизации процесса доступен репозиторий на GitHub с agent.md, который позволяет настроить окружение через ИИ-ассистентов, таких как Claude Code или Kiro-CLI. Это снижает порог входа для команд, не знакомых с деталями настройки Athena.

В статье также описаны три уровня сложности SQL-запросов — от базового до продвинутого, которые покрывают типичные сценарии анализа: общие затраты по принципалам, разбивка по типам использования, агрегация по тегам. Для тех, кто предпочитает готовые решения, CUDOS-дашборды разворачиваются через CloudFormation и включают в себя Athena-базу данных. Это особенно удобно для организаций, которым нужны стандартные отчеты без написания собственных запросов.

Практическая значимость подхода очевидна: компании, использующие Bedrock для ИИ-приложений, получают инструмент для прозрачного распределения затрат между командами и проектами. Это важно для chargeback-процессов и оптимизации расходов. Однако стоит учитывать, что включение IAM-принципалов увеличивает объем данных, что может повлиять на стоимость хранения в S3 и время обработки запросов. AWS рекомендует планировать хранилище и использовать политики жизненного цикла для старых файлов.

В целом, решение AWS закрывает потребность в детальной атрибуции затрат на ИИ-инференс, которая становится критичной по мере роста использования генеративных моделей в корпоративной среде. Возможность видеть, кто именно генерирует расходы, позволяет принимать обоснованные решения о масштабировании и бюджетировании.