Amazon EC2 (Elastic Compute Cloud) — это облачный сервис, который позволяет создавать виртуальные машины (экземпляры) и запускать их онлайн. Вы можете сделать это, используя панель панели AWS или с помощью языка программирования, поддерживаемого AWS. Например, Python.
Эта статья о языке программирования Python и его SDK, Boto3. SDK позволяет программно взаимодействовать с службами AWS. Это здорово, но время от времени вы хотите, чтобы гибкость делала вещи по -своему, что может создать некоторые трудности.
Например, BOTO3 предоставляет функции для динамического запуска и остановки экземпляра EC2. Тем не менее, вы должны предоставить экземпляр EC2 I d. Это ваш единственный выбор. Нет возможности запускать или останавливать экземпляр EC2 на основе типа экземпляра, платформы или существования конкретного тега EC2.
Предположим, что у вас есть много экземпляров EC2, работающих в вашей тестовой/производственной среде, каждый из которых со своим собственным типом экземпляра и платформой, такими как T2.micro, T4G.2xlarge, C4.2xlarge и R5.4xlarge. Вы просто хотите остановить все экземпляры C4.2xlarge на данный момент, или вы хотите остановить только экземпляры, работающие с окнами. Или, может быть, экземпляры, работающие с Windows и тип экземпляра T4G.2xlarge.
Как выполнить эту задачу только с помощью идентификатора экземпляра? Я написал Скрипт Python Чтобы помочь мне с этим. Текущая версия скрипта позволяет вам останавливаться и/или запустить экземпляры EC2 на основе следующих условий:
- Все экземпляры EC2 (поведение по умолчанию)
- По типу экземпляра
- По типу платформы
- На платформу и тип экземпляра
Все экземпляры EC2
Чтобы остановить или запустить все экземпляры EC2, следующие команды.
./stop_start_ec2.py stop id ./stop_start_ec2.py start id
По типу экземпляра
Чтобы остановить или запустить все экземпляры EC2 на основе конкретного типа экземпляра, следующие команды.
./stop_start_ec2.py stop type {instanceType} ./stop_start_ec2.py start type {instanceType}
Пример
./stop_start_ec2.py stop type t2.micro ./stop_start_ec2.py start type m5.4xlarge
По типу платформы
Чтобы остановить или запустить все экземпляры EC2 на основе типа платформы (Windows или другого), вы передаете следующие аргументы в сценарий.
Для окон
./stop_start_ec2.py stop platform windows ./stop_start_ec2.py start platform windows
Для Linux/Unix
./stop_start_ec2.py stop platform other ./stop_start_ec2.py start platform other
На платформу и тип экземпляра
Чтобы остановить или запустить все экземпляры EC2 на основе типа платформы и экземпляра, вы передаете следующие аргументы в сценарий.
Для окон
./stop_start_ec2.py stop windows {InstanceType} ./stop_start_ec2.py start windows {InstanceType}
Для Linux/Unix
./stop_start_ec2.py stop other {InstanceType} ./stop_start_ec2.py start other {InstanceType}
Пример
./stop_start_ec2.py stop windows t2.micro ./stop_start_ec2.py start other t2.micro ./stop_start_ec2.py start windows t2.small ./stop_start_ec2.py stop other c4.2xlarge
Надеемся, что этот сценарий пригодится вам в вышеупомянутом случае. Следите за обновлениями скрипта, так как я добавляю новые функции. Свяжитесь со мной, если хотите внести свой вклад в код. Кроме того, оставьте комментарий или звезду на репозитете GIT, если вы найдете сценарий полезным Анкет
Примечание : Перед использованием сценария в производстве попробуйте сначала в своей среде разработки/тестирования.
Спасибо за чтение!
Если вам понравилась эта статья, не стесняйтесь поделиться ею в социальных сетях 🙂
Скажи привет: LinkedIn | Twitter | Поливод
Блог: Dev | Hashnode
GitHub: hseera
Оригинал: «https://dev.to/aws-builders/stop-start-ec2-by-id-type-or-platform-4e32»