Найти тему
DevOps Qazaqstan

Как DevOps-инженер работал с AWS с помощью ChatGPT

«ChatGPT сейчас повсюду, и я решил попробовать его в своей повседневной работе. Итак, я попытался». Это перевод статьи Vilius Kukanauskas с Medium — дальше с его слов.

Первым делом мне нужно было создать новый репозиторий CodeCommit в учетной записи AWS для автоматического развертывания.

Звучит не очень, но вся наша среда была настроена на работу с GitLab. Учетная запись AWS была исключением, поскольку сам GitLab должен был быть развернут из этой учетки :)

Проблема заключалась в том, что у нас был только федеральный доступ, и из-за настроек безопасности у нас, как у разработчиков, не было возможности управлять нашими учетными данными. У меня не было доступа к моему секретному ключу и не было возможности создать учетные данные CodeCommit. Вместо того, чтобы гуглить, я просто написал в ChatGPT:

Я хочу клонировать репозиторий из учетной записи, к которой у меня есть доступ. Я получаю эту ошибку.

Вы вошли в систему, используя федеративный доступ или временные учетные данные. Единственным способом подключения для такого типа входа является использование менеджера учетных данных, входящего в состав AWS CLI, как описано ниже. Чтобы настроить соединение с использованием учетных данных SSH или Git по протоколу HTTPS, войдите в систему как пользователь IAM.
Напиши мне подробную инструкцию о том, как решить эту проблему.

Я не ожидал многого, но получил объяснение в 9 шагов, что я должен делать. Вот первые 3 шага.

-2

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

У меня нет пользователя IAM, я использую федеративный доступ

Боту этого хватило, и я получил инструкцию из 7 шагов, как решить эту проблему: Вот первые 2.

-3

Для этого решения требовался мой секретный ключ, к которому у меня также не было доступа. Вот я и подумал — буду конкретнее!

У меня есть доступ к учетной записи на уровне CLI, но нет секретного ключа доступа

На этот раз он выдал новую инструкцию, и шаги 9 и 10 мне подошли.

-4
-5

Конечно! Если я беру на себя роль, я получаю новые учетные данные, и у меня есть доступ к секретному ключу доступа! До сегодня я и не знал, что могу использовать роль в качестве имени пользователя и ключ доступа в качестве пароля, так что это уже победа для меня :)

Теперь я был заинтригован. Насколько еще бот может мне помочь? Поскольку мы использовали terraform в этом проекте, я написал следующее:

Напиши мне код terraform, который создал бы роль, нужную для твоего примера.

И бот написал!

-6

Я немного подправил его с помощью более точных запросов:

Теперь напиши этот код, чтобы он использовал идентификатор учетной записи AWS из учетной записи, к которой он сейчас подключен
-7

Чтобы было меньше хардкодинга, я хотел автоматизировать принятие роли, поэтому я попросил об этом:

Напиши башскрипт, чтобы текущий пользователь взял на себя роль
-8

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

А знаете почему? :)

-9

В общем, мне понравилось. Я чувствовал, что у меня есть личный эксперт по любым вопросам. И отныне ChatGPT — это инструмент, который я буду использовать постоянно.

Мы пока не нащюпали для себя смыслы ChatGPT, но это точно будет в будущем. А пока пользуемся стандартными практиками. Если вы хотите довериться профессионалам, то приходите к нам за помощью — мы создаём высокопроизводительные системы, повышаем стабильность существующего программного обеспечения, отслеживаем бизнес-метрики и улучшаем системы мониторинга, а также обеспечиваем техническую поддержку в режиме 24/7. Работаем и с DevOps, и с DevSecOps
Не забывайте подписываться на наш канал в ТГ, где мы публикуем технические разборы и новости рынка.