我正在尝试通过获取使用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栈的端点
答案 0 :(得分:3)
请浏览terraform文档以获取您要定位的资源。
在每个文档中,都有一个名为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?