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
拥有者