Ansible:如何阻止由不同的剧本启动的EC2实例

mty*_*son 8 amazon-ec2 ansible

如果我在Ansible中启动EC2实例(或实例集),我怎么能在以后引用该实例(或集合)并终止它们?

这是整本剧本.所以,在一个剧本中,我已经启动了一个实例,然后,我想用另一个剧本终止这些实例.

谢谢.

jar*_*arv 10

你需要做这样的事情(工作示例):

terminate.yml:

 - name: terminate single instance
   hosts: all
   tasks:
     - action: ec2_facts
     - name: terminating single instance
       local_action:
         module: ec2
         state: 'absent'
         region: us-east-1
         instance_ids: "{{ ansible_ec2_instance_id }}"
Run Code Online (Sandbox Code Playgroud)

终止地址instance.example.com上的实例:

$ ansible-playbook -i instance.example.com, terminate.yml
Run Code Online (Sandbox Code Playgroud)

EC2事实模块将查询实例上的元数据服务来获得实例ID.的EC2模块用于通过其ID以终止该实例.

请注意,ec2_facts模块需要在要终止的实例上运行,您可能希望使用清单文件或动态清单来按标记查找实例,而不是通过主机名对它们进行寻址.