我正在使用Terraform在位于中国的AWS宁夏地区创建Elastic Beanstalk环境。
让我感到困惑的一件事是如何获得SSLCertificateArns
的价值?
setting {
namespace = "aws:elbv2:listener:443"
name = "SSLCertificateArns"
value = "arn:aws:acm:cn-northwest-1:012345678912:certificate/????????-????-????-????-????????????" # Where to get this value?
}
AWS中国目前不提供证书管理器服务。
我使用“加密”创建了证书,然后通过单击传统负载均衡器的SSL Certificate
列来上传证书:
答案 0 :(得分:0)
从ELB配置上载证书时,它将保存在IAM证书列表中,而不是ACM中。 您应该可以使用以下命令查看证书:
aws iam list-server-certificates
https://docs.aws.amazon.com/cli/latest/reference/iam/list-server-certificates.html
答案 1 :(得分:0)
您可以使用aws_iam_server_certificate
根据证书的名称前缀来获取ARN:
data "aws_iam_server_certificate" "my-domain" {
name_prefix = "my-domain.org"
latest = true
}
resource "aws_elb" "elb" {
name = "my-domain-elb"
listener {
instance_port = 8000
instance_protocol = "https"
lb_port = 443
lb_protocol = "https"
ssl_certificate_id = "${data.aws_iam_server_certificate.my-domain.arn}"
}
}