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