Pragmatic Terraformの写経をしていた。
7章と8章を書いて、 terraform apply
したら以下のエラーが出た。
Error: Error creating LB Listener: CertificateNotFound: Certificate 'arn:aws:acm:ap-northeast-1:882275384674:certificate/8f385a88-7438-44a1-b9ac-4d95a0c1acca' not found
status code: 400, request id: 04759268-bc20-11e9-8e88-d92bcd313ecb
on alb.tf line 102, in resource "aws_lb_listener" "https":
102: resource "aws_lb_listener" "https" {
Error: Invalid index
on route53.tf line 25, in resource "aws_route53_record" "example_certificate":
25: name = aws_acm_certificate.example.domain_validation_options[0].resource_record_name
|----------------
| aws_acm_certificate.example.domain_validation_options is empty list of object
The given key does not identify an element in this collection value.
Error: Invalid index
on route53.tf line 26, in resource "aws_route53_record" "example_certificate":
26: type = aws_acm_certificate.example.domain_validation_options[0].resource_record_type
|----------------
| aws_acm_certificate.example.domain_validation_options is empty list of object
The given key does not identify an element in this collection value.
Error: Invalid index
on route53.tf line 27, in resource "aws_route53_record" "example_certificate":
27: records = [aws_acm_certificate.example.domain_validation_options[0].resource_record_value]
|----------------
| aws_acm_certificate.example.domain_validation_options is empty list of object
The given key does not identify an element in this collection value.
SSLのDNS検証用のレコード作成に失敗している。そのため、ALBのhttpsリスナーの作成も失敗している。(httpsリスナーの作成にはssl証明書が必要)
タイポしてるのかと思ったけど、特にタイポもしていなかった。
よくわからないので、再度 terraform apply
したらなんか作成できた。
あと、route53のレコードセットにCNAMEレコードが表示されるのが微妙に時間がかかった(5分くらい)
ACMの方では証明書が発行済になっているのにroute53の方にはCNAMEレコードが存在しなかったから、「なんで発行済になれた?」と思ったが、時間が解決してくれた。