mikhailadvani.ec2-start-stop

ec2-start-stop

用于启动/停止 EC2 实例,并根据条件关联/解除关联弹性 IP。

需求

  • Python 2.7
  • boto
  • 拥有 EC2FullAccess 权限的 AWS 访问密钥

角色变量

  • 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 设定。

示例剧本

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

作者信息

该角色由 Mikhail Advani 于2016年创建。

推特账号: @mikhail_advani

关于项目

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

安装
ansible-galaxy install mikhailadvani.ec2-start-stop
许可证
mit
下载
74
拥有者