0
我正在尝试使用Ansible提供多个AWS EC2计算机。我想使“availabilityZone”和“tag_name”为动态。请找到下面的任务。如果我将计数更改为2,我应该可以在不做任何修改的情况下运行相同的任务来创建两个实例。使用Ansible提供多个EC2实例
- name: Provision an instance
ec2:
key_name: "{{ keyPairName }}"
instance_type: m3.medium
image: "{{ amiId }}"
region: us-east-1
zone: us-east-1{{ item.0 }}
group_id: "{{ securityGroup }}"
vpc_subnet_id: "{{ subnet }}"
wait: true
count: 1
instance_tags:
Name: esl-master{{ item.1 }}-{{ deployenv }}
register: ec2_master
with_together:
- [ 'a', 'b', 'c' ]
- [ 1, 2, 3 ]
when: isMaster
通过上面的配置,我得到了下面的错误。
failed: [localhost] (item=[u'b', 2]) => {"failed": true, "item": ["b", 2], "msg": "Instance creation failed => InvalidParameterValue: Value (us-east-1b) for parameter availabilityZone is invalid. Subnet 'subnet-f22551d9' is in the availability zone us-east-1a"}
failed: [localhost] (item=[u'c', 3]) => {"failed": true, "item": ["c", 3], "msg": "Instance creation failed => InvalidParameterValue: Value (us-east-1c) for parameter availabilityZone is invalid. Subnet 'subnet-f22551d9' is in the availability zone us-east-1a"}
有没有更好的方法做到这一点,因为我想利用'Zone'参数?
谢谢你的回复。在我的情况下,我只有一个子网ID – Vinil
[每个子网必须完全位于一个可用区内,不能跨区域。](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html) - - 你能决定你想要什么吗? – techraf
我所希望的是将所有区域和子网信息作为列表或逗号分隔值传递。看起来这个选项不存在。我将不得不经过一个序列。谢谢 – Vinil