0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS】cloudFront経由でS3コンテンツをアクセスする

Last updated at Posted at 2024-11-19

S3のパブリックアクセスブロックを有効にしたい時、S3コンテンツのアクセスはCloudFront経由でアクセスする必要があります。ここではその設定方法をまとめてみます。

概要

完成図は下記のイメージです。
s3-cloudFront.drawio.png

前提

Route 53のドメインが作成されていること。

手順

  1. S3バケット作成
  2. ディストリビューションの作成
    1. オリジン
    2. キャッシュビヘイビア
    3. 設定

S3バケット作成

パブリックアクセスブロックのS3バケットを作成
スクリーンショット 2024-11-19 14.49.02.png

ディストリビューションの作成

オリジン

  1. Origin domainは先ほど作ったAmazon S3バケットから選ぶ
  2. オリジンアクセスを「Lagacy access identities」にして、バケットポリシーを自動更新にする
    スクリーンショット 2024-11-19 15.36.08.png
    オリジンアクセスアイデンティティがなければ、「新しいOAIを作成」で作る、それでS3バケットのバケットポリシーが更新される
{
    "Version": "2008-10-17",
    "Id": "PolicyForCloudFrontPrivateContent",
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity AAAAAAAAAAA"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::sample/*"
        }
    ]
}

キャッシュビヘイビア

ビューワープロトコルポリシーを設定
スクリーンショット 2024-11-19 17.57.23.png
キャッシュキーとオリジンリクエスト
スクリーンショット 2024-11-19 17.57.44.png

S3バケットのCORSの設定も必要です。

[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "GET"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": []
    }
]

設定

カスタムドメインでアクセスしたい場合、SSL証明書の設定が必要です。
スクリーンショット 2024-11-19 17.55.19.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?