もくじ

  1. CloudFront 経由で S3 のファイルにアクセスできるようにする
  2. 独自ドメインで CloudFront にアクセスできるようにする
  3. CloudFront 経由の時だけ S3 のファイルにアクセスできるようにする

準備

cloudfront_s3_001.png

  • S3に画像ファイルをアップロードしておく
  • 画像ファイルに公開する設定をしておく
  • ブラウザから画像ファイルのリンクにアクセスして画像が表示されることを確認しておく

cf_s3_000.png

種別 URL アクセス可否
S3公開リンク http://s3-<リージョン>.amazonaws.com/<バケット名>/<ファイル名>
CloudFrontドメイン http://<ドメイン名>.cloudfront.net/<ファイル名> 未設定
独自ドメイン http://<ドメイン名>/<ファイル名> 未設定

1. CloudFront 経由で S3 のファイルにアクセスできるようにする

cloudfront_s3_002.png

設定:CloudFront

CloudFrontのコンソールでDistributionを作成する

cf_s3_01.png
cf_s3_02.png

Origin Domain NameにS3のバケットを指定する

補足:
テキストボックスをクリックすると選択候補のリストが表示される

cf_s3_03.png

cf_s3_04.png

StatusDeployedになるまで待つ

cf_s3_05.png

アクセス確認

ブラウザからCloudFrontドメインのURLにアクセスして、ファイルにアクセスできるようになったことを確認する

種別 URL アクセス可否
S3公開リンク http://s3-<リージョン>.amazonaws.com/<バケット名>/<ファイル名>
CloudFrontドメイン http://<ドメイン名>.cloudfront.net/<ファイル名>
独自ドメイン http://<ドメイン名>/<ファイル名> 未設定

2. 独自ドメインで Cloud Front にアクセスできるようにする

cloudfront_s3_003.png

設定:CloudFront

CloudFrontのコンソールでDistribution設定を変更する

cf_s3_11.png
cf_s3_12.png

Altername Domain Nameにドメイン名を指定する

補足:
今回はファイルに「http://image.<独自ドメイン>/<ファイル名>」でアクセスできるように、
Altername Domain Nameにはimage.<独自ドメイン>を指定した

cf_s3_13.png
cf_s3_14.png
cf_s3_15.png

設定:Route53

Route53のコンソールでimage.<独自ドメイン>のレコードを作成する

Alias TargetにはCloudFrontのDistributionを指定する

補足:
テキストボックスをクリックすると選択候補のリストが表示される

cf_s3_16.png
cf_s3_17.png

アクセス確認

ブラウザから独自ドメインのURLにアクセスして、ファイルにアクセスできるようになったことを確認する

種別 URL アクセス可否
S3公開リンク http://s3-<リージョン>.amazonaws.com/<バケット名>/<ファイル名>
CloudFrontドメイン http://<ドメイン名>.cloudfront.net/<ファイル名>
独自ドメイン http://<ドメイン名>/<ファイル名>

3. Cloud Front 経由の時だけ S3 のファイルにアクセスできるようにする

cloudfront_s3_004.png

設定:CloudFront

CloudFrontのコンソールでRestrict Bucket Accessを設定する

cf_s3_21.png
cf_s3_22.png
cf_s3_23.png
cf_s3_24.png
cf_s3_25.png

確認:S3

Route53のコンソールでバケットポリシーが設定されてることを確認する

cf_s3_26.png

設定:S3

Route53のコンソールでパブリックアクセスを禁止しておく

cf_s3_27.png

アクセス確認

ブラウザからS3公開リンクにアクセスして、ファイルにアクセスできなくなったことを確認する

種別 URL アクセス可否
S3公開リンク http://s3-<リージョン>.amazonaws.com/<バケット名>/<ファイル名> ×
CloudFrontドメイン http://<ドメイン名>.cloudfront.net/<ファイル名>
独自ドメイン http://<ドメイン名>/<ファイル名>
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.