在增加terraform的EC2资源和应用Ansible中的更改方面存在一些问题。我现在有一个基本的模板:在Terraform中增加EC2资源计数并应用Ansible
resource "aws_instance" "linux_node" {
count = 2
ami = "ami-6df1e514"
instance_type = "t2.micro"
key_name = ""
vpc_security_group_ids = [""]
iam_instance_profile = ""
user_data = "${file("userdata.sh")}"
tags {
Name = "linux-node"
}
provisioner "local-exec" {
command = "sleep 120; ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook --private-key ~/.ssh/aws-patrick-oregon.pem -i '${aws_instance.linux_node.public_ip},' ../install_packages.yml"
}
}
的问题,当我增加数到任何超过1,我得到aws_instance.linux_node.public_ip
一个错误的错误说:
* aws_instance.linux_node[1]: 1 error(s) occurred:
* Resource 'aws_instance.linux_node' not found for variable 'aws_instance.linux_node.public_ip'
我认为它的茎从括号[1]。我想知道如何编写一个有说服力的命令,以便在更改EC2实例时进行更改。
Suplemental提醒,但我注意到您正在做一些可能通过使用Ansible/terraform解决方案的EC2中的Auto Scaling(https://aws.amazon.com/autoscaling/)来支持的内容。您可以考虑评估Auto Scaling是否可以减轻您正在做的一些工作。 –