タダです.
CloudFront の署名付き URL を使う機会があり,Terraform で関連設定を行ったことを書いていきます.今までは S3 の署名付き URL しか使ったことがなかったため備忘録としてこの記事にまとめていきます.
Terraform のコード
CloudFront の署名付き URL を使うにあたって公開鍵を登録する必要があります.ドキュメントに記載の方法で公開鍵と署名付き URL をリクエストするための秘密鍵を生成します.
$ openssl genrsa -out private_key.pem 2048 $ openssl rsa -pubout -in private_key.pem -out public_key.pem
この状態で Terraform のコードを定義します.aws_cloudfront_public_key
で公開鍵を登録,aws_cloudfront_key_group
とtrusted_key_groups
を使って署名付き URL のリクエストを行えるように制御する設定を行います.これで設定自体は以上で,あとはリクエストを行って署名付き URL を取得していく形です.
resource "aws_cloudfront_distribution" "hoge" { ~中略~ default_cache_behavior { trusted_key_groups = [aws_cloudfront_key_group.hoge_key_group.id] } } resource "aws_cloudfront_public_key" "hoge_key" { name = "hoge-key" encoded_key = file("${path.module}/public_key.pem") } resource "aws_cloudfront_key_group" "hoge_key_group" { name = "hoge-key-group" items = [aws_cloudfront_public_key.hoge_key.id] }
関連情報
まとめ
Terraform で CloudFront の署名付き URL をやるための設定をまとめました.