LoginSignup
497
406

More than 3 years have passed since last update.

CloudFront 経由で S3 のファイルにアクセスする

Last updated at Posted at 2018-03-31

もくじ

  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

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

cf_s3_26.png

設定:S3

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

cf_s3_27.png

補足:
CloudFrontでRestrict Bucket Accessを設定しても、S3でパブリックアクセスが許可されていると公開リンクからファイルへアクセスすることが可能なため、上記の操作を行い準備で有効化した「公開する」設定を無効化する必要がある

アクセス確認

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

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

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
497
406