Ansible:将正在运行的 EC2 实例添加到 Auto-scaling 组
Posted
技术标签:
【中文标题】Ansible:将正在运行的 EC2 实例添加到 Auto-scaling 组【英文标题】:Ansible : Add running EC2 instances to Auto-scaling group 【发布时间】:2019-11-02 10:28:21 【问题描述】:我正在处理一个 Ansible 项目,我想在其中向我的 Auto-scaling 组添加一个由 tag-Name 找到的现有 EC2 实例。我能够通过 AMI 或终止旧实例找到它。但我只是在寻找一种将它们添加到自动缩放组的方法,例如在 Web 管理控制台中。我只需右键单击实例,选择设置,将其附加到自动缩放组。下面的代码都在一个文件中。
查找 EC2 实例:
- hosts: localhost
connection: local
gather_facts: no
tasks:
- ec2_remote_facts:
region: eu-central-1
filters:
"tag:Name": Ubuntu_From_AMI
register: ec2found
- name: Add found instances to group
add_host: hostname=" item.public_ip_address " groups=ec2instances
with_items: " ec2found.instances "
这是我添加自动缩放组的方式:
- hosts: localhost
connection: local
gather_facts: no
tasks:
- name: Add auto-scaling groups.
ec2_asg:
name: magento_scaling_group
load_balancers: 'LB_NAME'
availability_zones: [ 'eu-central-1a', 'eu-central-1b', 'eu-central-1c' ]
launch_config_name: " lc.name "
min_size: 0
max_size: 5
desired_capacity: 0
vpc_zone_identifier: [ 'subnet-e712ad8c', 'subnet-e12e8dac', 'subnet-28e91a55' ]
tags:
- environment: production
propagate_at_launch: no
有可能吗?谢谢你。
【问题讨论】:
【参考方案1】:基于the current list of modules,似乎没有这样的功能。您需要create a new module 或只是作弊并在正常的command:
调用中使用aws cli
。如果您选择创建新模块,请考虑将其作为 PR 提交给 Ansible 项目,以便其他人从您的工作中受益。
【讨论】:
最终使用 AWS CLI。谢谢你。 :-)以上是关于Ansible:将正在运行的 EC2 实例添加到 Auto-scaling 组的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 Ansible 在 AWS EC2 实例上部署 Consul