🔒

ALBにサーバ証明書を適用する

に公開
2026/07/24

背景

発行した証明書をALBに適用します。

サーバ証明書の発行と同様にTerraformで書こうとしましたが、いろいろと調べる必要がありました。その内容を記録します。

手順

1. ACM証明書の取得

既に発行済みのACM証明書をデータソースで取得します。

data "aws_acm_certificate" "acm" {
  domain = var.domain_name
}
  • domain: ACMで発行した証明書のドメイン名を指定
  • メインモジュールからvar.domain_nameとして渡す想定

2. HTTPSリスナーの設定

ALBのHTTPSリスナー(ポート443)を設定し、ACM証明書を適用します。

resource "aws_lb_listener" "this" {
  load_balancer_arn = aws_lb.this.arn
  port              = 443
  protocol          = "HTTPS"
  ssl_policy        = "ELBSecurityPolicy-TLS13-1-2-2021-06"
  certificate_arn   = data.aws_acm_certificate.acm.arn

  default_action {
    type             = "forward"
    target_group_arn = aws_lb_target_group.this.arn
  }
}
  • port: 443(HTTPS標準ポート)
  • protocol: HTTPS
  • ssl_policy: TLS 1.3と1.2に対応した推奨ポリシー
  • certificate_arn: ステップ1で取得したACM証明書のARN
  • default_action: ターゲットグループへトラフィックを転送
GitHubで編集を提案

Discussion