如何获得ELB的终点,使用terraform制作RDS

时间:2017-10-03 02:29:13

标签: terraform

我正在尝试通过获取使用terraform制作的ELB,RDS的端点来创建要在应用程序中使用的环境变量。

目前我正在尝试使用aws cli获取端点,如下所示,但有更简单的方法吗?

aws rds describe-db-instances --db-instance-identifier xxxx | jq '.DBInstances[].Endpoint.Address'
aws elb describe-tags --load-balancer-name xxxx | jq '.TagDescriptions[].LoadBalancerName'

例如,如何获取在terraform上创建的AWS栈的端点

1 个答案:

答案 0 :(得分:3)

请浏览terraform文档以获取您要定位的资源。

aws_db_instance

aws_elb

在每个文档中,都有一个名为Attributes Reference的部分,我个人称之为available output variables

所以如果你需要从terraform作为输出的rds端点

resource "aws_db_instance" "default" {
  allocated_storage    = 10
  storage_type         = "gp2"
  engine               = "mysql"
  engine_version       = "5.6.17"
  instance_class       = "db.t1.micro"
  name                 = "mydb"
  username             = "foo"
  password             = "bar"
  db_subnet_group_name = "my_database_subnet_group"
  parameter_group_name = "default.mysql5.6"
}

output "rds_endpoint" {
  value = "${aws_db_instance.default.endpoint}"
}

对ELB你也应该这样做。

有时,并非所有属性都在terraform文档中更新,您可以按照以下答案找到正确的输出变量

How to get an instance id / arn of an existing ec2 instance via terraform?