AR ホームベーカリー

オイラのアウトプット用ホームベーカリー!

Error: adding LB Listener Certificate: UnsupportedCertificate

Terraform を複数環境に対応させる作業をしていたタイミングで、apply 時に「ALB に証明書を追加する動作」が失敗するようになった。

エラーは以下。

Error: adding LB Listener Certificate: UnsupportedCertificate: The certificate 'arn:aws:acm:ap-northeast-1:123456789012:certificate/00000000-0000-2222-1111-123456789012' must have a fully-qualified domain name, a supported signature, and a supported key size.
    status code: 400, request id: 00000000-4444-3333-2222-098765432109

  with aws_lb_listener_certificate.attach_certs,
  on alb.tf line 114, in resource "aws_lb_listener_certificate" "attach_certs":
 114: resource "aws_lb_listener_certificate" "attach_certs" {

ローカル名の attach_certs から分かる通り、証明書の追加設定で失敗している。

なんでじゃろな? と悩んでいたのだけど、こういうことらしい。

stackoverflow.com

Error messages can be a bit misleading at times. You may receive this error if the certificate is still pending validation.

エラーメッセージは時に誤解を招くことがあります。 証明書が検証待ちの場合、このエラーを受け取る場合があります。

はえーなるほど! となり、マネジメントコンソールを確認したら、該当の証明書はその時点では利用可能になっていた。 実際失敗した所から最後 apply を投げたら、今度は無事完走した。 (その後 destroy -> apply したところ、失敗しなかった)

ということで、実行タイミングでコケるから注意しようね! というオチだった。

こういう自体を防ぐために depends_on なりでリソースに対する関連性を記述しろ、ということなのかもしれないけど、めちゃめちゃ複雑になりがちなので僕はあまり利用していない。