- s3.tf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
resource "aws_s3_bucket" "hoge" { bucket = "hoge" } resource "aws_s3_bucket_website_configuration" "hoge" { bucket = aws_s3_bucket.hoge.bucket index_document { suffix = "index.html" } } resource "aws_s3_bucket_policy" "hoge" { bucket = aws_s3_bucket.hoge.id policy = data.aws_iam_policy_document.hoge.json } data "aws_iam_policy_document" "hoge" { statement { sid = "Allow CloudFront" effect = "Allow" principals { type = "AWS" identifiers = [aws_cloudfront_origin_access_identity.hoge.iam_arn] } actions = [ "s3:GetObject" ] resources = [ "${aws_s3_bucket.hoge.arn}/*" ] } } |
- cloudfront.tf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
resource "aws_cloudfront_distribution" "hoge" { origin { domain_name = aws_s3_bucket.hoge.bucket_regional_domain_name origin_id = aws_s3_bucket.hoge.id s3_origin_config { origin_access_identity = aws_cloudfront_origin_access_identity.hoge.cloudfront_access_identity_path } } enabled = true default_root_object = "index.html" default_cache_behavior { allowed_methods = ["GET", "HEAD"] cached_methods = ["GET", "HEAD"] target_origin_id = aws_s3_bucket.hoge.id forwarded_values { query_string = false cookies { forward = "none" } } viewer_protocol_policy = "redirect-to-https" min_ttl = 60 default_ttl = 60 max_ttl = 60 compress = true } restrictions { geo_restriction { restriction_type = "whitelist" locations = ["JP"] } } viewer_certificate { cloudfront_default_certificate = true } } resource "aws_cloudfront_origin_access_identity" "hoge" {} |
S3のエンドポイントは制限し、CloudFrontのみのドメインでアクセスを絞っている。
Was this helpful?
0 / 0
1989年生まれのFindy/SRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWSでのインフラ構築、Docker開発環境の提供、IaC、新技術の検証、リファクタリング、セキュリティ強化、分析基盤の運用などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTA/TechBullで未経験者にインフラのコーチング/コミュニティマネージャーとして立ち上げと運営をしている。また、過去「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。