Closed9

terraformでcloudfront+s3をhttps化する

not75743not75743

つまりACMを使ってcloudfront+s3の構成を作る、それをterraformでやるということですね
ACMはdataで進めたいと思います。

not75743not75743

terraform化

で思ったことがあり、ACMで発行した証明書はバージニアリージョンにあるのだが、それ以外のリソースは東京リージョンにデプロイしたい。
局所的にリージョンを変えられる?terraformくん?

not75743not75743

aliasを使う

無事うまくいった

provider "aws" {
  alias  = "virginia"
  region = "us-east-1"
}

data "aws_acm_certificate" "acm" {
  provider = aws.virginia
  domain   = "example.com"
}
not75743not75743

代替ドメインの設定

これをしないとRoute53のAレコードを作成出来ません。
CNAME(代替レコード)が設定出来ず、cloudfrontデフォルトのドメインと証明書のドメインを紐付けられないためです

resource "aws_cloudfront_distribution" "hugo_cfront" {
  enabled = true
  aliases = ["${data.aws_acm_certificate.acm.domain}"] ##########
not75743not75743

証明書指定

証明書の指定、プロトコルの指定などをします

resource "aws_cloudfront_distribution" "hugo_cfront" {
// 略
  viewer_certificate {
    cloudfront_default_certificate = false
    acm_certificate_arn      = data.aws_acm_certificate.acm.arn
    ssl_support_method       = "sni-only"
    minimum_protocol_version = "TLSv1"
  }
このスクラップは2023/06/20にクローズされました