【发布时间】:2018-03-09 13:37:05
【问题描述】:
我正在使用 terraform 定义在东京地区(两个 AZ)的 AWS 上启动 10 个节点。因此,每个 AZ 中启动了大约 5 个节点。
resource "aws_instance" "test" {
count = "${var.dse_cass_node_count}"
ami = "${var.dse_cass_ami}"
instance_type = "${var.dse_cass_instance_type}"
key_name = "${var.dse_cass_key_name}"
subnet_id = "${element(split(",", var.dse_cass_vpc_subnets), count.index)}"
availability_zone = "${element(split(",", var.dse_cass_azs), count.index)}"
vpc_security_group_ids = ["${var.dse_sg_id}"]
tags {
Name = "${var.namespace}-${var.env_name}-${var.dse_cluster_name}-node-${count.index}"
Environment = "${var.env_name}"
DSE_Cluster_Name = "${var.dse_cluster_name}"
}
}
我想在输出中有基于 AZ 的节点 IP。现在我可以使用下面提到的定义在输出中列出所有节点的 ip,但不能基于 AZ。
output "cassandra_ips" {
value = ["${aws_instance.test.*.private_ip}"]
}
output "cassandra_ips1" {
value = ["${aws_instance.test.0.private_ip}"]
}
output "cassandra_ips2" {
value = ["${aws_instance.test.1.private_ip}"]
}
我想根据 AZ 对它们进行隔离。可以使用 Terraform 吗?我想从每个 AZ 获得一个节点的 ip。 有一些建议会很棒。提前致谢。
Terraform v0.10.5
P.S - 我希望每个 AZ 的一个节点的 ip 添加到 Cassandra 的种子列表中。
【问题讨论】:
标签: amazon-web-services amazon-ec2 amazon-cloudformation terraform