gpt4 book ai didi

amazon-ec2 - 使用 ansible 通过标签启动之前停止的 EC2 实例

转载 作者:行者123 更新时间:2023-12-03 09:46:40 26 4
gpt4 key购买 nike

我正在尝试创建一个剧本或角色,让我可以通过标签启动以前停止的 EC2 实例(例如,EC2 实例通过标签分配给 list 中的静态组)。 ec2.ini 文件已更改为还返回有关已停止实例的信息。到目前为止,我看到的唯一类似示例依赖于 ec2_facts 来获取 instance_ids

官方example在 ansible 网站上假设 regioninstance_ids 是事先已知/硬编码的。


- name: Start sandbox instances
hosts: localhost
gather_facts: false
connection: local
vars:
instance_ids:
- 'i-xxxxxx'
- 'i-xxxxxx'
- 'i-xxxxxx'
region: us-east-1
tasks:
- name: Start the sandbox instances
ec2:
instance_ids: '{{ instance_ids }}'
region: '{{ region }}'
state: running
wait: True
vpc_subnet_id: subnet-29e63245
assign_public_ip: yes
role:
- do_neat_stuff
- do_more_neat_stuff

我最好寻找一种解决方案,例如,如果可能的话,我可以从动态 list 中获取必要的变量。

最佳答案

现有的 EC2 实例可以通过下面的操作启动,无需硬编码实例标识符或 EC2 区域。


--- ec2.yml
- hosts: aws
gather_facts: false
tasks:
- name: start EC2 instance
local_action:
module: ec2
state=running
region={{ hostvars[inventory_hostname]['ec2_region'] }}
instance_ids={{ hostvars[inventory_hostname]['ec2_id'] }}
tags:
- start-instance

假设动态实例被标记,下面的命令将启动实例:

$ ansible-playbook -i inventory --limit [实例静态组名] --tags start-instance ec2.yml

关于amazon-ec2 - 使用 ansible 通过标签启动之前停止的 EC2 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28369657/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com