Production и облако · Production and cloud · урок 4 · 14 мин

AWS для AI engineer: IAM, S3, VPC, Lambda, SageMaker

AWS for AI engineers: IAM, S3, VPC, Lambda, SageMaker

ТемыОблако AWSСети

Зачем

После урока ты переведёшь свой опыт с одной GPU-машины на язык AWS: какой сервис заменяет диск, сеть, пользователей, cron, Docker Compose и сервер модели, и что каждый из них требует решить заранее. Это нужно для вопросов «have you worked with AWS?» и «design this on AWS», где сильный ответ начинается не со списка сервисов, а с ограничений: регион, права, сеть.

С одной машины в облако: таблица замен

На своей машине у тебя всё в одном корпусе: GPU, диск, сеть за маршрутизатором, пара пользователей, cron, Docker Compose. AWS разбирает это на отдельные сервисы, и у каждого свои правила.

На своей машине В AWS Главное отличие
сам компьютер с GPU EC2 (виртуальные машины) тип GPU зависит от региона
диск или NAS с весами и документами S3 (object storage) версии выключены по умолчанию
маршрутизатор, firewall, VPN VPC (своя виртуальная сеть) выход в интернет только явно
пользователи, SSH-ключи, .env IAM (личности и права) роли с временными правами
cron и маленькие скрипты Lambda (функции по событию) до 15 минут на вызов
Docker Compose EKS (управляемый Kubernetes) AWS ведёт control plane
свой сервер модели, скрипт обучения SageMaker (endpoints, training jobs) платишь за управляемость
journald, история команд CloudWatch, CloudTrail метрики и журналы / кто что вызвал

Ниже — что про каждый сервис спросят. Факты взяты со страниц docs.aws.amazon.com, открытых 10.10.2026.

Регион и EC2: где и на чём

Region (регион) — отдельная география с несколькими Availability Zones (AZ, изолированные дата-центры). На странице AWS Regions 34 региона. me-central-1 — Middle East (UAE): 3 AZ, включается вручную (opt-in); eu-central-1 — Europe (Frankfurt): 3 AZ, включён по умолчанию. Регион выбирают первым, потому что от него зависят закон о данных, latency и набор железа.

Набор GPU в регионах разный. В me-central-1 из accelerated instances есть G5, G6, G6e и P5en. По таблице спецификаций: G4dn — NVIDIA T4 16 ГиБ, G5 — A10G (22 ГиБ в таблице AWS), G6 — L4 (22 ГиБ), G6e — L40S (44 ГиБ), P5en — 8 × H200 по 141 ГиБ. Привычная тебе T4 есть во Франкфурте (G4dn), но не в ОАЭ.

Посчитаем, куда влезет модель. Qwen3-8B в BF16: 8,19 млрд параметров × 2 байта ≈ 15,3 ГиБ. На T4 (16 ГиБ) остаётся меньше 1 ГиБ — под KV cache места нет, нужна квантизация в 4 бита (≈ 4 ГиБ весов). На L4 (22 ГиБ) остаётся около 6,7 ГиБ; минус 1,5 ГиБ служебной памяти — около 5 ГиБ под KV cache. KV cache этой модели — 144 КиБ на token (36 слоёв × 8 KV heads × 128 × 2 × 2 байта), то есть около 36 000 tokens контекста на всех одновременных собеседников. Такой расчёт делают до выбора instance, а не после.

S3: диск, который помнит версии

S3 хранит объекты в buckets (корзинах): документы для RAG, веса моделей, журналы. Главное для AI engineer: versioning по умолчанию выключен и включается явно. С ним удаление ставит delete marker (метку удаления) вместо стирания, перезапись создаёт новую версию, и прежнюю всегда можно вернуть. Каждая версия — полный объект, а не разница, и оплачивается отдельно. Включённый versioning нельзя выключить, только приостановить. Зачем: восстановить случайно удалённый документ и ответить, какой документ лежал в индексе в день X.

VPC и IAM: сеть и права

VPC — логически изолированная сеть. Subnet (подсеть) живёт в одной AZ, route tables решают, куда идёт трафик, internet gateway даёт выход в интернет, VPC endpoint (PrivateLink) даёт доступ к сервисам AWS без интернета и NAT. Правильная схема для банка: pods и базы в приватных подсетях, к S3 и моделям — через endpoints, публичный выход только там, где он нужен.

IAM отвечает «кто и что может». Три правила из IAM best practices: - workloads (программы) получают временные права через роли; на EC2 и Lambda AWS сам выдаёт временные credentials, долгоживущие ключи в коде не нужны; - least privilege: только нужные действия на нужных ресурсах при нужных условиях; - SCP (service control policy) на уровне организации ставит потолок для всех аккаунтов, но сама прав не даёт.

На EKS у pod своя роль через Kubernetes ServiceAccount. Агенту дают право вызвать одну конкретную модель и читать один bucket — не больше.

Lambda, EKS, SageMaker: где выполняется код

Lambda — короткие функции без состояния: до 900 с (15 минут) на вызов, память от 128 до 10 240 МБ, CPU растёт с памятью (1 769 МБ = 1 vCPU), синхронный запрос и ответ — до 6 МБ каждый, образ container — до 10 ГБ. Хорошо для tools агента: проверить лимит карты, найти транзакцию. Плохо для модели и долгих задач: GPU нет, 15 минут — потолок.

EKS — управляемый Kubernetes. В standard-режиме AWS ведёт control plane (мозг кластера), узлы твои; в Auto Mode AWS ведёт и узлы. Всё из уроков a7-1 и a7-2 переносится сюда без изменений.

SageMaker — управляемый ML. Training jobs запускают твой скрипт или container на нужных instances (типах машин), есть managed spot (дешёвые прерываемые машины) и HyperPod для больших кластеров. Real-time endpoints держат модель с autoscaling, умеют OpenAI-совместимые API и adapter inference components — LoRA-адаптеры поверх общей базы. JumpStart — каталог открытых моделей с fine-tune и deploy в пару шагов.

Как выбирать: Bedrock, SageMaker или EKS

Порядок мыслей важнее выбора: сначала регион и закон о данных, потом какие модели и GPU там есть, потом кто будет это эксплуатировать.

Схема

Термины · Key terms

Region / Availability Zone
география AWS / изолированный дата-центр внутри неё
EC2
виртуальные машины, включая GPU-instances
S3 versioning
хранение всех версий объекта; по умолчанию выключено
VPC
изолированная виртуальная сеть в AWS
VPC endpoint (PrivateLink)
доступ к сервису AWS из своей сети без интернета
IAM role
личность с временными правами для людей и программ
least privilege
только нужные права на нужные ресурсы
SCP
потолок прав для всех аккаунтов организации; сам прав не даёт
Lambda
короткая функция по событию, до 15 минут
EKS
управляемый Kubernetes в AWS
SageMaker endpoint
управляемый сервер своей модели с autoscaling

Сделай сам

Возьми свою реальную машину и составь таблицу из шести строк: компонент у тебя → сервис AWS → одно решение, которое придётся принять (например, «S3 → включить versioning на bucket с документами»). Седьмой строкой посчитай, на какой instance в me-central-1 встанет Qwen3-8B в BF16 с запасом под 30 000 tokens KV cache.

Обсуди с тьютором: покажи таблицу и спроси, какую IAM-политику ты бы дал pod агента, которому нужен один bucket и одна модель, и где в ней было бы условие.

Проверь себя · ответ под вопросом

1Почему регион выбирают раньше, чем модель или instance?
От региона зависят закон о данных, latency для клиентов и набор доступных сервисов и GPU. Например, в me-central-1 на 10.10.2026 есть G5, G6, G6e и P5en, но нет T4 (G4dn). Сначала ограничение, потом выбор железа.
2Что даёт S3 versioning и что про него нужно помнить?
Он хранит все версии объекта: удаление ставит delete marker, перезапись создаёт новую версию, прежнюю можно вернуть. По умолчанию он выключен, включённый нельзя выключить, только приостановить. Каждая версия оплачивается как полный объект.
3Почему Lambda подходит для tools агента, но не для сервера модели?
Lambda рассчитана на короткие задачи без состояния: до 15 минут на вызов, до 10 240 МБ памяти, без GPU. Tool вроде «проверить лимит карты» укладывается в это легко. Модели нужны GPU, долгая загрузка весов и постоянная работа — это EC2, EKS или SageMaker.

Interview questions · US / UK

1You've run models on a single GPU box. How does that map to AWS, and what changes?
Strong answer: box → EC2 GPU instance chosen per Region; disk → S3 with versioning; router and firewall → VPC with private subnets and endpoints; users and keys → IAM roles with temporary credentials; cron → Lambda; Compose → EKS; model server → SageMaker endpoint or vLLM on EKS; honest that it's a mapping, not production experience.
2How do you give an agent running on EKS access to S3 and one model, without long-lived keys?
Strong answer: IAM role bound to the pod's Kubernetes ServiceAccount; temporary credentials delivered by AWS; least privilege on one bucket ARN and one model ARN with conditions; SCPs as an organisation ceiling; private access through VPC endpoints; CloudTrail records every call.
3When would you pick SageMaker over EKS to serve a fine-tuned model?
Strong answer: SageMaker when the team doesn't run Kubernetes and wants managed endpoints, autoscaling and adapter inference components; EKS when the platform is already Kubernetes or you need full control of runtime, batching and quantization; both only after checking the Region has the GPU and the data may live there.

Ключевые фразы · Say it aloud

Материалы