バケットポリシーの設定**: S3 バケットにアクセスするために、CloudFront が必要なアクセス許可を与えるためのバケットポリシーを設定します。このポリシーには、 CloudFront の Origin Access Identity (OAI) を使⽤して、CloudFront が S3 バケットにアクセスできるようにする設定が含まれます。以下はポリシー の例です: ```json { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity XXXXXXXXXXXXX" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::your-bucket/*" } ] } ``` このポリシーで `your-bucket` をバケット名に置き換えます。また、`arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity XXXXXXXXXXXXX` の部分は、実際の CloudFront OAI の ARN に置き換えます。 2. **CloudFront オリジンの設定**: CloudFront で S3 バケットをオリジンとして追加します。これにより、CloudFront は S3 バケットからコンテンツを取得します。 - CloudFront コンソールにログインし、対象のディストリビューションを選択します。 - "Origins and Origin Groups" タブに移動し、"Create Origin" をクリックします。 - "Origin Domain Name" には、S3 バケットのエンドポイント (`your-bucket.s3.amazonaws.com`) を指定します。 - "Origin Path" には必要に応じてパスを指定します。 - "Origin Protocol Policy" を "HTTP Only" または "HTTPS Only" に設定します。 - "Origin Custom Headers" には必要に応じてヘッダーを追加します。 3. **CloudFront ビヘイビアの設定**: CloudFront ビヘイビアを追加し、適切なルーティングおよびキャッシュ動作を設定します。 - "Behaviors" タブに移動し、"Create Behavior" をクリックします。 - "Path Pattern" には、コンテンツのパスパターンを指定します (例: `/*`)。 - "Origin or Origin Group" で先ほど作成した S3 オリジンを選択します。 - "Viewer Protocol Policy" を "Redirect HTTP to HTTPS" に設定します。 - "Allowed HTTP Methods" はデフォルトの設定のままにします。 - "Cached HTTP Methods" もデフォルトの設定のままにします。 これらの⼿順を実⾏すると、CloudFront が S3 バケットから⾮公開のコンテンツを配信するようになります。必要に応じて、S3 バケットのポリシー、 CloudFront オリジンの設定、およびビヘイビアの設定をカスタマイズしてください。