mikhailadvani.ec2-start-stop

ec2-start-stop

Rola do uruchamiania/zatrzymywania instancji EC2 oraz warunkowego przypisywania/odpowiązywania elastowych adresów IP.

Wymagania

  • Python 2.7
  • boto
  • Klucze dostępu do AWS z uprawnieniami EC2FullAccess

Zmienne Roli

  • AWS_ACCESS_KEY_ID: Klucz dostępu z uprawnieniami EC2FullAccess, ustawiony jako zmienna środowiskowa, jak pokazano w poniższym przykładzie.
  • AWS_SECRET_ACCESS_KEY: Odpowiedni tajny klucz dostępu do AWS_ACCESS_KEY_ID.
  • EC2_REGION: Region AWSTwojej infrastruktury.
  • action: start/stop. Określa, czy instancje mają być uruchomione czy zatrzymane. Domyślnie: start.
  • reuse_existing_ip_allowed: tak/nie. Zezwolenie na ponowne użycie nieprzypisanych adresów IP przypisanych do Twojego konta. Domyślnie: tak.
  • release_on_disassociation: tak/nie. Zwolnienie adresu IP przy odpięciu. Domyślnie: tak.
  • roles_directory: roles. Katalog, w którym znajduje się rola. Domyślnie: roles.
  • instances.tags: Tagowanie instancji, które chcesz uruchomić/zatrzymać.
  • instances.elastic_ip: tak/nie. Określa, czy chcesz przypisać elastowy adres IP. Elastowy adres IP będzie przypisany podczas uruchamiania i odłączony przy zatrzymaniu. Ponowne użycie i zwolnienie zależy od reuse_existing_ip_allowed i release_on_disassociation odpowiednio.

Przykładowy 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}

Licencja

MIT

Informacje o Autorze

Rola została stworzona w 2016 roku przez Mikhail Advani.

Twitter: @mikhail_advani

O projekcie

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

Zainstaluj
ansible-galaxy install mikhailadvani.ec2-start-stop
Licencja
mit
Pobrania
74
Właściciel