mikhailadvani.ec2-start-stop

ec2-start-stop

EC2インスタンスの開始/停止を行い、条件に応じてElastic IPを同じインスタンスに関連付けたり、関連付け解除したりする役割です。

要件

  • Python 2.7
  • boto
  • EC2フルアクセス権を持つAWSアクセスキー

役割変数

  • AWS_ACCESS_KEY_ID: EC2フルアクセス権を持つアクセスキーを環境変数として設定します。以下のサンプルを参照してください。
  • 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。Elastic IPを関連付けるかどうか。インスタンスを開始する際に関連付け、停止する際に関連付け解除されます。再利用と解放はそれぞれreuse_existing_ip_allowedとrelease_on_disassociationに基づきます。

例プレイブック

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年にMikhail Advaniによって作成されました。

Twitterハンドル: @mikhail_advani

プロジェクトについて

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

インストール
ansible-galaxy install mikhailadvani.ec2-start-stop
ライセンス
mit
ダウンロード
74
所有者