Рубрики
Uncategorized

AWS EC2 — Как автоматизировать остановку/запуск По id, Мгновенный тип или платформа

Amazon EC2 (Elastic Compute Cloud) — это облачный сервис, который позволяет создавать виртуальные машины … Tagged с AWS, DevOps, Cloud.

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»