Claude Apps Gateway: установка и настройка для AWS | Централизованное управление | AiManual
AiManual Logo Ai / Manual.
12 Июл 2026 Инструмент

Забудьте про хаос с API-ключами: как Claude Apps Gateway наводит порядок в AWS

Полный гайд по Claude Apps Gateway для AWS: связываем Claude Code и Desktop с Bedrock, управляем политиками и контролируем затраты. Пошаговая настройка PostgreS

Раздавать API-ключи разработчикам — это как дать каждому ключи от сейфа и надеяться, что они не будут брать лишнего. Рано или поздно кто-то вызовет дорогую модель с бесконечным промптом, и вы узнаете, сколько может стоить месяц работы Claude Opus. Claude Apps Gateway — это прокси-сервис от Anthropic, который встаёт между вашей инфраструктурой и клиентами вроде Claude Code или Claude Desktop, и берёт на себя маршрутизацию, авторизацию и контроль лимитов. В этой статье я разберу, как поднять такой шлюз в AWS с использованием PostgreSQL и stateless контейнера, чтобы ваша команда работала с AI не вслепую.

Что нового? В июне 2026 года Anthropic выпустила версию 2.1 Claude Apps Gateway, которая добавила нативную поддержку Amazon Bedrock в качестве backend, а также динамическое обновление policies без перезапуска контейнера. В обзоре я буду опираться именно на эту версию.

Почему это не очередной прокси, а смена парадигмы

Когда я впервые увидел демо, меня зацепила не техническая часть (хотя она крутая), а сама идея: вместо того чтобы каждый разработчик конфигурировал свой Claude Code вручную (выставлял регион, модель, лимиты), всё это выносится в единый шлюз. Разработчик просто указывает URL шлюза, а всё остальное — авторизация через IAM, выбор модели на основе тэгов, логирование каждого запроса — происходит автоматически.

Реальность без шлюза: в одном стартапе разработчики использовали прямой доступ к Bedrock с разными ролями. После того как джуниор случайно запустил кластеризацию 100 тысяч документов через Claude Opus, пришёл счёт на $12 000 за день. Шлюз бы просто не пропустил запрос, превышающий лимит.

Что умеет Claude Apps Gateway 2.1

  • Маршрутизация на основе правил — можно настроить, чтобы запросы от Claude Code шли на Claude Haiku, а от Desktop — на Sonnet. Или чтобы код-ревью всегда уходило на самую дешёвую модель.
  • Rate limiting и budget control — задаёте дневные/месячные лимиты на пользователя или на команду. При превышении — запросы встают в очередь или отклоняются.
  • Полный аудит — каждый промпт и ответ (или только метаданные) пишутся в PostgreSQL. Можно потом анализировать, кто больше всего тратит и на что.
  • Stateless контейнер — не нужно хранить сессии. База данных хранит конфигурации и логи, сам шлюз легко масштабируется горизонтально.
  • Поддержка двух backend: Claude Platform API и Amazon Bedrock — выбираете, куда направлять трафик. Можно миксовать, например, часть запросов — через Bedrock для соответствия compliance, часть — напрямую в Anthropic для нечувствительных задач.

Ключевой момент: шлюз сам по себе не генерирует ответы. Он — умный балансировщик. И это принципиально отличает его от решений типа PocketCoder-A1, который пытается экономить на подписке через собственного агента.

Сравнение: шлюз против прямого доступа

Критерий Прямой доступ к Bedrock Типичный LLM-прокси (LiteLLM, Helicone) Claude Apps Gateway 2.1
Управление пользователями Через IAM (сложно персонифицировать) Через API-ключи Встроенные группы + IAM
Cost control Только глобальные бюджеты AWS Базовая обрезка по токенам По пользователям, группам, моделям + очереди
Логирование запросов Через CloudTrail (только метаданные) Да, но кастомные интеграции Из коробки в PostgreSQL + S3
Поддержка Claude Code/Desktop Ручная настройка каждого клиента Частично (через OpenRouter API) Нативная через протокол Gateway API

Прямой доступ к Bedrock — это дикий запад. Вы получаете гибкость, но теряете контроль. Типичные прокси вроде LiteLLM решают часть проблем, но не умеют работать с кастомными конфигами Claude Code и Claude Desktop. Шлюз от Anthropic делает это без костылей. Если вы уже используете Claude Platform on AWS, IAM и биллинг, то это следующий логичный шаг.

Как это выглядит в бою: примеры использования

1 Инженерный отдел с разными уровнями доступа

У вас 10 разработчиков. Трое сеньоров пишут код с Claude Code — им нужен доступ к Sonnet без ограничений. Пять мидлов — только Haiku, с лимитом 500 запросов в день. Джуниоры — только код-ревью через Desktop, и только с использованием Claude Opus (потому что сеньоры хотят качественные ревью). Шлюз разруливает это через политики:

# policy.yaml для группы "senior"
routes:
  - model: "claude-sonnet-4-20260501"
    max_tokens_per_day: 10000000
    rate_limit: 100 rpm
  - model: "claude-opus-4-20260501"
    max_tokens_per_day: 5000000

# policy.yaml для группы "junior"
routes:
  - model: "claude-opus-4-20260501"
    max_tokens_per_day: 100000
    actions: ["review_code"]
    rate_limit: 10 rpm

2 Миграция с прямого Anthropic API на Bedrock без боли для команды

Компания переходит на AWS GovCloud, где требуется особый уровень безопасности. Разработчики привыкли к Claude Platform. Вместо того чтобы менять конфиги 50 машин, вы просто разворачиваете шлюз в GovCloud и указываете бэкенд — Bedrock. Все клиенты подключаются к одному URL. Никто не замечает подмены. Тем, кто работает с военными секретами через GovCloud, этот сценарий спасёт нервы и, возможно, карьеру.

Поднимаем шлюз в AWS: пошаговая инструкция

Для запуска потребуется аккаунт AWS, Terraform (или CloudFormation) и база PostgreSQL — можно использовать Amazon RDS или Aurora. Я покажу минимальный рабочий набор, с которым вы запустите шлюз за 20 минут. Предполагаю, что вы уже имеете доступ к Claude Code 2.0 и знаете его базовые модели.

1 Создаём базу PostgreSQL

Шлюз использует БД для хранения пользователей, политик, логов и метрик. Рекомендуется как минимум db.t4g.small для 50-100 пользователей.

aws rds create-db-instance \
  --db-instance-identifier claude-gateway-db \
  --db-instance-class db.t4g.small \
  --engine postgres \
  --master-username gateway_admin \
  --master-user-password YourStr0ngPass \
  --allocated-storage 20 \
  --vpc-security-group-ids sg-xxxxx

2 Разворачиваем ECS Fargate для stateless контейнера

Шлюз распространяется как официальный образ на ECR: public.ecr.aws/anthropic/claude-apps-gateway:2.1. Используем Fargate, чтобы не думать о серверах.

# terraform/main.tf
resource "aws_ecs_task_definition" "gateway" {
  family                   = "claude-gateway"
  requires_compatibilities = ["FARGATE"]
  network_mode             = "awsvpc"
  cpu                      = 1024
  memory                   = 2048
  container_definitions = jsonencode([
    {
      name  = "gateway"
      image = "public.ecr.aws/anthropic/claude-apps-gateway:2.1"
      environment = [
        { name = "DATABASE_URL", value = "postgres://gateway_admin:YourStr0ngPass@your-rds-endpoint:5432/gateway" },
        { name = "BACKEND", value = "bedrock" },
        { name = "BEDROCK_REGION", value = "us-east-1" },
        { name = "ADMIN_API_KEY", value = "your-admin-key" }
      ]
      portMappings = [{ containerPort = 8080 }]
    }
  ])
}

3 Настраиваем пользователей и политики через API

После развёртывания шлюз доступен по адресу ALB. Создаём первого пользователя и выдаём политику.

curl -X POST https://your-alb-url/gateway/admin/users \
  -H "Authorization: Bearer your-admin-key" \
  -H "Content-Type: application/json" \
  -d '{
    "user_id": "dev_alice",
    "group": "senior",
    "allowed_models": ["claude-sonnet-4-20260501", "claude-opus-4-20260501"]
  }'

4 Подключаем Claude Code

Каждый разработчик в своём терминале выполняет:

claude config set --api-url https://your-alb-url/gateway
claude config set --auth-token 

Всё. Дальше Claude Code шлёт запросы через шлюз, а тот решает — пускать или нет, на какую модель и с каким приоритетом.

Для Claude Desktop настройка аналогична: в файле конфигурации ~/.claude/desktop_config.json указываем apiUrl и apiKey.

💡
Если вы используете Claude Code для продактов (PRD, интервью, аналитика), то через шлюз можно создать группу "product" с отдельными лимитами и логами — чтобы знать, сколько тратят продакт-менеджеры на генерацию документации.

Кому этот гайд спасёт бюджет (а кого-то уволит)

Идеальный кандидат: команды от 5 человек, которые уже используют Claude Code или Desktop, и у которых хотя бы раз возникал вопрос «почему счёт за Anthropic вырос в 3 раза?». Если у вас стартап на 3 разработчиках — проще раздать ключи и потом разбираться. Но как только появляется разделение на группы, compliance, аудит — шлюз становится необходимым.

Кто не оценит: соло-разработчики. Для них это избыточно. А также команды, которые уже используют полноценный ML-шлюз вроде Amazon Bedrock Agents с кастомными guardrails — но там другая экосистема, не завязанная на клиенты Anthropic.

Самый жирный плюс — предсказуемость затрат. Вы точно знаете, что разработчик не сможет случайно запустить Claude Opus на обработку 10 ГБ логов, потому что лимит в политике просто не пропустит такой запрос. И это не требует от разработчика никаких дополнительных действий.

Если вы уже по горло сыты бесконтрольным расходом AI-токенов и хотите навести порядок без микроменеджмента — попробуйте развернуть шлюз на выходных. В понедельник команда даже не заметит изменений, а вы увидите первую экономию в конце месяца. И да, не забудьте настроить алерты в CloudWatch на превышение порогов — это спасёт от сюрпризов.

Подписаться на канал