ansible:ec2_asg模块创建额外的实例

时间:2017-10-26 06:33:02

标签: amazon-web-services amazon-ec2 ansible autoscaling

我正在使用以下任务来创建aws自动缩放组。

- name: Create auto scaling group
  ec2_asg:
    name: "{{ els_aws_asg_name }}"
    launch_config_name: "{{ rv_ec2_lc.result.launch_configuration_name }}"
    region: "{{ VPC_REGION }}"
    min_size: 1
    max_size: 5
    desired_capacity: 1
    vpc_zone_identifier: "{{ els_aws_private_vpc_subnets[0] }}"
    load_balancers: "{{ rv_ec2_elb.elb.name }}"
    notification_topic: "{{ els_aws_sns_admin }}"
    replace_all_instances: yes 
    tags:
      - Name: "{{ els_aws_asg_name }}"

但是,虽然desired_capacity设置为 1 ,但完成后我会看到 2 正在运行ec2个实例。

在运行任务之前,还有 1 实例(因此特定任务实际添加一个)。

为什么会这样?

更新

从进一步的调查结果发现,当检查aws控制台时,一个实例似乎附加在特定的自动缩放组中。所以上述行为是有道理的。

当我终止似乎附加到asg的实例时,asg会显示一个新实例。

当我终止其他实例时,asg不采取任何操作。

现在问题变成了如何在asg中附加现有的实例,因为ec2_asg似乎没有提供这样的功能。

1 个答案:

答案 0 :(得分:1)

Ansible无法将现有实例附加到ASG。唯一的方法是使用AWS控制台或CLI,这是不错的,因为你只会这样做一次。

请参阅:Attach EC2 Instances to Your Auto Scaling Group