AWS Lambda — это сервис для запуска кода без управления серверами. Вы загружаете функцию, задаёте триггер, а AWS сам масштабирует выполнение. Для новичков это один из самых быстрых способов понять serverless-подход на практике.
Что такое AWS Lambda
Lambda выполняет код по событию:
- HTTP-запрос через API Gateway
- загрузка файла в S3
- сообщение из SQS
- расписание по cron
- события из других сервисов AWS
Вы платите только за время выполнения и количество вызовов, а не за постоянно работающий сервер 💸
Первая функция в AWS Lambda: пошагово
-
1. Откройте AWS Console
Перейдите в сервис Lambda и нажмите Create function.
-
2. Выберите способ создания
Оставьте вариант Author from scratch.
Заполните:
- Function name — например,
hello-lambda - Runtime — удобно выбрать Python 3.x
- Architecture —
x86_64по умолчанию подходит
IAM-роль можно оставить автоматически создаваемую:
Create a new role with basic Lambda permissions. - Function name — например,
-
3. Создайте функцию
Нажмите Create function.
AWS развернёт базовую функцию с примером кода. -
4. Добавьте код
Для Python пример может быть таким:
def lambda_handler(event, context): return { 'statusCode': 200, 'body': 'Hello from AWS Lambda!' }Здесь:
event— входные данные от триггераcontext— служебная информация о запускеstatusCodeиbody— типичный ответ для интеграций с HTTP
-
5. Нажмите Deploy
После изменения кода обязательно жмите Deploy, иначе новая версия не сохранится 🚀
-
6. Протестируйте функцию
Нажмите Test → создайте тестовое событие.
Можно оставить шаблон по умолчанию и просто запустить функцию.Если всё настроено верно, увидите:
- статус выполнения
Succeeded - ответ функции
- логи выполнения
- статус выполнения
-
7. Проверьте CloudWatch Logs
Во вкладке Monitor можно перейти в CloudWatch Logs. Это важно для отладки: если функция не запускается или падает с ошибкой, причина почти всегда видна там 🔍
Что важно знать новичку
- Timeout — максимальное время выполнения функции
- Memory — влияет не только на RAM, но и на производительность
- Permissions — если Lambda работает с S3, DynamoDB или SQS, роли нужно расширять
- Cold start — первый запуск после простоя может быть чуть медленнее
Когда использовать Lambda
- backend API
- автоматизация обработки файлов
- ETL-задач
- webhook-обработчиков
- фоновых задач по событию ⚙️
Не лучший выбор — для долгих процессов, постоянных соединений и тяжёлых приложений с предсказуемой высокой нагрузкой.
Итог
Первая AWS Lambda-функция создаётся за несколько минут: выбрать runtime, вставить код, задеплоить и протестировать. Это простой вход в AWS и serverless-разработку, особенно если нужно быстро запускать обработчики без настройки серверов ✅
👀 Заодно посмотрите подборку каналов про IT — там много полезного по AWS, backend, DevOps и serverless.