ec2-start-stop

ec2-start-stop

Роль для запуска/остановки экземпляров EC2 и условного присоединения/отсоединения эластичных IP к ним.

Требования

  • Python 2.7
  • boto
  • Ключи доступа AWS с правами EC2FullAccess

Переменные роли

  • AWS_ACCESS_KEY_ID: Ключ доступа с правами EC2FullAccess, установленный как переменная окружения, как показано в примере ниже.
  • AWS_SECRET_ACCESS_KEY: Соответствующий секретный ключ доступа к AWS_ACCESS_KEY_ID.
  • EC2_REGION: Регион AWS вашей инфраструктуры.
  • action: start/stop. Указывает, должны ли экземпляры быть запущены или остановлены. По умолчанию: start.
  • reuse_existing_ip_allowed: yes/no. Позволить повторно использовать неассоциированные IP, выделенные вашему аккаунту. По умолчанию: yes.
  • release_on_disassociation: yes/no. Освобождать IP при отсоединении. По умолчанию: yes.
  • roles_directory: roles. Директория, в которой присутствует роль. По умолчанию: roles.
  • instances.tags: Теги экземпляров, которые вы хотите запустить/остановить.
  • instances.elastic_ip: yes/no. Хотите ли вы, чтобы эластичный IP был ассоциирован или нет. Эластичный IP будет ассоциирован при запуске и отсоединён при остановке. Повторное использование и освобождение зависят от reuse_existing_ip_allowed и release_on_disassociation соответственно.

Пример Playbook

ansible-playbook ec2-start-stop.yml -e "action=start reuse_existing_ip_allowed=yes"

ansible-playbook ec2-start-stop.yml -e "action=stop release_on_disassociation=no"

- hosts: localhost
  connection: local
  environment:
    AWS_ACCESS_KEY_ID: "{{AWS_ACCESS_KEY_ID}}"
    AWS_SECRET_ACCESS_KEY: "{{AWS_SECRET_ACCESS_KEY}}"
    EC2_REGION: "{{EC2_REGION}}"
  roles:
  - {role: ec2-start-stop}

Лицензия

MIT

Информация об авторе

Эта роль была создана в 2016 году Михаилом Адвани.

Twitter: @mikhail_advani

О проекте

Start stop EC2 instances with optional association/disassociation of elastic IPs

Установить
ansible-galaxy install mikhailadvani/ec2-start-stop
Лицензия
mit
Загрузки
64
Владелец