🔒
ALBにサーバ証明書を適用する
背景
発行した証明書を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: ターゲットグループへトラフィックを転送
Discussion