Как применять AWS EC2 с помощью Boto3 и Python

Boto3 — это Python SDK для AWS. Его можно использовать для немедленного взаимодействия с источниками AWS из скриптов Python.

В этой статье мы рассмотрим, как можно использовать Boto3 EC2 Python SDK для выполнения ряда операций на AWS EC2.

Необходимые условия

  • учетная запись AWS
  • Python v3.6 или желаемый на нашей локальной машине.
  • Редактор кода. Мы можем использовать любой текстовый редактор для работы с файлами Python.
  • Пользователь AWS IAM, идентификатор ключа доступа и секретный ключ должны быть настроены на нашем локальном компьютере с доступом к созданию и работе с экземплярами EC2.
  • Boto3 Python AWS SDK должен быть уже установлен на локальной машине. Если нет, обратитесь к этой документации по Boto

Создание экземпляров EC2 с помощью Boto3

  • Откройте редактор кода.
code ec2_create_instance.py
Войдите в полноэкранный режим Выйдите из полноэкранного режима
  • Скопируйте и вставьте сценарий Python в редактор кода и сохраните файл.

Сценарий Python создает один экземпляр AWS EC2 с идентификатором образа ami-09d56f8956ab235b3, используя тип экземпляра t2.micro.

  • Откройте командную строку и выполните скрипт ec2_create_instance. В случае успеха мы должны увидеть одно сообщение AWS EC2 Instance Launched successfully.
python ~ec2_create_instance.py
Вход в полноэкранный режим Выход из полноэкранного режима

Пометка EC2 Instance с помощью Boto3

В среде AWS организация может иметь сотни ресурсов, которыми необходимо управлять. Чтобы упростить управление ресурсами, AWS предоставляет функцию tagging, которая позволяет нам классифицировать ресурсы на основе среды, отдела или любых других критериев, специфичных для организации.

  • Откройте редактор кода.
code tag_ec2_instance.py
Войдите в полноэкранный режим Выйдите из полноэкранного режима
  • Скопируйте и вставьте сценарий Python в редактор кода и сохраните файл.

Сценарий Python помечает созданный выше ID экземпляра Name BOTO3-DEMO с помощью метода create_tags().

  • Откройте командную строку и выполните скрипт tag_ec2_instance.
python ~tag_ec2_instance.py
Войдите в полноэкранный режим Выход из полноэкранного режима

Описание EC2 Instance с помощью Boto3

Мы можем использовать describe экземпляров для поиска экземпляров EC2, соответствующих определенной архитектуре, идентификатору образа, типу экземпляра или тегам. Используя describe API и Boto3, мы можем создать сценарий Python для запроса экземпляров EC2 по тегам.

  • Откройте редактор кода.
code ec2_describe_instance.py
Войдите в полноэкранный режим Выйдите из полноэкранного режима
  • Скопируйте и вставьте сценарий Python в редактор кода и сохраните файл.

Используя метод describe_instances(), этот сценарий с помощью фильтра, описанного в JSON, обнаруживает все атрибуты, связанные со всеми экземплярами EC2 с тегом Name (tag:Name) со значением BOTO3-DEMO ('Values': ['BOTO3-DEMO'] ).

  • Откройте командную строку и выполните скрипт ec2_describe_instance.
python ~ec2_describe_instance.py
Войдите в полноэкранный режим Выход из полноэкранного режима

Запуск, остановка и завершение работы экземпляров EC2 с помощью Boto3

  • Откройте редактор кода.
code ec2_manage_instance.py
Войдите в полноэкранный режим Выйти из полноэкранного режима
  • Скопируйте и вставьте Python-скрипт в редактор кода и сохраните файл.

В Python-скрипте, основываясь на коде, мы можем остановить stop_instance(), запустить start_instance() или завершить экземпляр terminate_instance() с ID экземпляра.

  • Откройте командную строку и выполните скрипт ec2_manage_instance.
python ~ec2_manage_instance.py
Войдите в полноэкранный режим Выйдите из полноэкранного режима

Поиск конкретных сведений о нескольких экземплярах EC2 одновременно

Используя подход describe_instance(), мы можем получить конкретные уникальные атрибуты многих различных экземпляров EC2.

  • Откройте редактор кода.
code ec2_multiple_instances.py
Войдите в полноэкранный режим Выйдите из полноэкранного режима
  • Скопируйте и вставьте сценарий Python в редактор кода и сохраните файл.

Сценарий Python устанавливает клиентское соединение с AWS. После подключения он использует подход describe_instances(), как было показано ранее, для запроса различных атрибутов всех работающих экземпляров EC2. Он ограничивает результаты только запущенными экземплярами, фильтруя один из доступных атрибутов, instance-state-name, со значением running.

Чтобы вернуть только определенные атрибуты, сценарий использует цикл for для перебора всех резерваций и каждого экземпляра внутри каждой резервации, чтобы вывести InstanceID, InstanceType, PrivateIPAddress и PublicIpAddress каждого найденного экземпляра.

  • Откройте командную строку и выполните скрипт ec2_manage_instance.
python ~ec2_multiple_instances.py
Войдите в полноэкранный режим Выйти из полноэкранного режима

Чтобы узнать больше об использовании EC2 в Boto, обратитесь к документации Boto

Спасибо, что дочитали мою статью до конца. Надеюсь, сегодня вы поняли что-то уникальное. Если вам понравилась эта статья, пожалуйста, поделитесь с друзьями, а если у вас есть советы или мысли, которыми вы хотите поделиться со мной, пожалуйста, напишите в поле для комментариев.

Следуйте за мной и делитесь своими мыслями,
GitHub
LinkedIn
Twitter

Оцените статью
devanswers.ru
Добавить комментарий