Как перестать переключаться между консолью AWS и IDE
Знакомая ситуация: вы пишете код для Lambda-функции, а потом тратите десять минут на то, чтобы упаковать её, зайти в консоль AWS, загрузить zip-архив и проверить логи в CloudWatch. Это выбивает из потока. Кажется, что разработка под облако — это постоянное жонглирование вкладками браузера и терминалом.
Разработчики из Amazon, видимо, тоже устали от этого процесса и выпустили AWS Toolkit for JetBrains. Это плагин, который превращает вашу IDE в полноценный пульт управления инфраструктурой AWS. Я покопался в репозитории проекта и хочу рассказать, почему это маст-хэв, если вы плотно сидите на стеке Amazon.
Что это за зверь
По сути, это мост между вашим кодом и облаком. Плагин поддерживает практически все IDE от JetBrains, начиная с версии 2023.3: IntelliJ IDEA (конечно же), PyCharm, GoLand, WebStorm и даже Rider. Проект написан на Kotlin и активно развивается — в репозитории почти 450 открытых задач, что говорит о живом интересе комьюнити и самих разработчиков из AWS.
Главная фишка здесь не в том, чтобы просто «видеть» свои ресурсы, а в том, чтобы взаимодействовать с ними, не выходя из редактора.
Чем плагин реально помогает в работе
Я выделил несколько функций, которые экономят кучу времени каждый день.
Работа с Lambda без боли
Если вы используете AWS SAM (Serverless Application Model), плагин станет вашим лучшим другом. Можно запускать и отлаживать Lambda-функции локально в Docker-контейнере, который имитирует среду AWS. Вы ставите брейкпоинт в коде, нажимаете Debug, и вуаля — вы внутри функции, которая думает, что она в облаке.
Когда код готов, деплой происходит в пару кликов. Не нужно помнить флаги CLI или возиться с S3-бакетами для артефактов вручную.
Навигация через AWS Explorer
В IDE появляется дерево ресурсов. Оно не показывает абсолютно всё, что есть в AWS (сервисов там слишком много), но основные вещи вроде S3, Lambda, CloudWatch Logs и CloudFormation всегда под рукой. Кстати, для S3 реализован полноценный файловый менеджер: можно скачивать, загружать и удалять объекты прямо из интерфейса IDE.
Умный CloudFormation
Писать YAML-конфиги для инфраструктуры — сомнительное удовольствие. Плагин добавляет автодополнение, проверку синтаксиса на лету и документацию по наведению курсора. Но самое крутое — это просмотр изменений (Change Sets). Перед тем как применить шаблон к реальному стеку, вы видите визуальный дифф: что именно изменится, какие ресурсы удалятся, а какие обновятся. Это сильно снижает риск случайно снести базу данных в пятницу вечером.
Логи в реальном времени
Забудьте про бесконечное обновление страницы в CloudWatch Logs. В плагине можно открыть стрим логов и искать по ним прямо в IDE. Это работает быстрее, чем веб-интерфейс, и позволяет сразу сопоставить ошибку в логе с конкретной строкой кода.
Техническая сторона вопроса
Проект опенсорсный, лицензия Apache 2.0. Под капотом используется CloudFormation Language Server для работы с шаблонами и cfn-lint для статического анализа.
Интересный момент: для полноценной работы с Lambda и серверлесс-приложениями вам всё равно понадобятся установленные AWS CLI, Docker и AWS SAM CLI. Плагин выступает в роли удобного графического интерфейса над этими инструментами.
Аутентификация реализована гибко. Можно использовать статические ключи, AWS Builder ID или SSO. Если вы работаете в крупной компании с настроенным Single Sign-On, проблем с подключением быть не должно.
Кому стоит попробовать
Если вы заходите в консоль AWS чаще одного раза в день, этот плагин окупит время на свою установку за первые пару часов. Особенно он полезен:
- Бэкенд-разработчикам на Java, Python или Node.js, которые пишут микросервисы на Lambda.
- DevOps-инженерам, которые правят шаблоны CloudFormation и хотят видеть результат сразу.
- Тем, кто работает с данными в RDS или Redshift — плагин позволяет подключаться к базам через временные учетные данные IAM, не копируя пароли.
Как начать
Самый простой путь — найти AWS Toolkit в маркетплейсе плагинов вашей IDE. Если хочется чего-то экстремального, в README есть инструкция по подключению EAP-билдов (Early Access Preview). Там появляются самые свежие фичи, но и баги встречаются чаще.
Проект открыт для контрибьюторов. Если вам не хватает поддержки какого-то специфического сервиса AWS, можно завести issue или даже попробовать реализовать это самому — архитектура плагина достаточно модульная.
В целом, это добротный инструмент от первоисточника, который делает облачную разработку чуть менее «облачной» и чуть более локальной и понятной.
