如何获取弹性负载均衡器的 DNS 名称?
How do I get the elastic load balancer dns name?
我已经通过 Terraform 创建了一个弹性 beantalk 环境。我想添加一条指向负载均衡器 dns 的 route53 记录,但我不知道如何从 EB 环境的输出中获取完整的 url。
aws_elastic_beanstalk_environment.xxx.load_balancers 属性 包含 名称 但不包含 FQDN。
像这样创建两个 beantalk 资源后
resource "aws_elastic_beanstalk_application" "eb_app" {
name = "eb_app"
description = "some description"
}
resource "aws_elastic_beanstalk_environment" "eb_env" {
name = "eb_env"
application = "${aws_elastic_beanstalk_application.eb_app.name}"
solution_stack_name = "64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4"
setting {
namespace = "aws:ec2:vpc"
name = "VPCId"
value = "something"
}
setting {
namespace = "aws:ec2:vpc"
name = "Subnets"
value = "somethingelse"
}
}
包含的文档 here 指定您可以使用 'cname' 输出环境的完全限定 DNS 名称
要做到这一点,您可以编写类似
的内容
output "cname" {
value = "${aws_elastic_beanstalk_environment.eb_env.cname}"
}
然后,在您调用该模块的同一目录中,您可以
cname_to_pass_to_route53 = "${module.some_eb_module.cname}"
如果 cname 不是您需要的 url 的确切版本,您可以在传入变量名称时附加或预先添加变量名称。不过它确实说的是完全限定的 DNS 名称,所以我不认为您不需要这样做。
cname_to_pass_to_route53 = "maybeHere://${module.some_eb_module.cname}/orOverHere"
我已经通过 Terraform 创建了一个弹性 beantalk 环境。我想添加一条指向负载均衡器 dns 的 route53 记录,但我不知道如何从 EB 环境的输出中获取完整的 url。
aws_elastic_beanstalk_environment.xxx.load_balancers 属性 包含 名称 但不包含 FQDN。
像这样创建两个 beantalk 资源后
resource "aws_elastic_beanstalk_application" "eb_app" {
name = "eb_app"
description = "some description"
}
resource "aws_elastic_beanstalk_environment" "eb_env" {
name = "eb_env"
application = "${aws_elastic_beanstalk_application.eb_app.name}"
solution_stack_name = "64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4"
setting {
namespace = "aws:ec2:vpc"
name = "VPCId"
value = "something"
}
setting {
namespace = "aws:ec2:vpc"
name = "Subnets"
value = "somethingelse"
}
}
包含的文档 here 指定您可以使用 'cname' 输出环境的完全限定 DNS 名称
要做到这一点,您可以编写类似
的内容output "cname" {
value = "${aws_elastic_beanstalk_environment.eb_env.cname}"
}
然后,在您调用该模块的同一目录中,您可以
cname_to_pass_to_route53 = "${module.some_eb_module.cname}"
如果 cname 不是您需要的 url 的确切版本,您可以在传入变量名称时附加或预先添加变量名称。不过它确实说的是完全限定的 DNS 名称,所以我不认为您不需要这样做。
cname_to_pass_to_route53 = "maybeHere://${module.some_eb_module.cname}/orOverHere"