もくじ
- CloudFront 経由で S3 のファイルにアクセスできるようにする
- 独自ドメインで CloudFront にアクセスできるようにする
- CloudFront 経由の時だけ S3 のファイルにアクセスできるようにする
準備
- S3に画像ファイルをアップロードしておく
- 画像ファイルに
公開する設定をしておく - ブラウザから画像ファイルのリンクにアクセスして画像が表示されることを確認しておく
| 種別 | URL | アクセス可否 |
|---|---|---|
| S3公開リンク | http://s3-<リージョン>.amazonaws.com/<バケット名>/<ファイル名> | ○ |
| CloudFrontドメイン | http://<ドメイン名>.cloudfront.net/<ファイル名> | 未設定 |
| 独自ドメイン | http://<ドメイン名>/<ファイル名> | 未設定 |
1. CloudFront 経由で S3 のファイルにアクセスできるようにする
設定:CloudFront
CloudFrontのコンソールでDistributionを作成する
Origin Domain NameにS3のバケットを指定する
補足:
テキストボックスをクリックすると選択候補のリストが表示される
StatusがDeployedになるまで待つ
アクセス確認
ブラウザからCloudFrontドメインのURLにアクセスして、ファイルにアクセスできるようになったことを確認する
| 種別 | URL | アクセス可否 |
|---|---|---|
| S3公開リンク | http://s3-<リージョン>.amazonaws.com/<バケット名>/<ファイル名> | ○ |
| CloudFrontドメイン | http://<ドメイン名>.cloudfront.net/<ファイル名> | ○ |
| 独自ドメイン | http://<ドメイン名>/<ファイル名> | 未設定 |
2. 独自ドメインで Cloud Front にアクセスできるようにする
設定:CloudFront
CloudFrontのコンソールでDistribution設定を変更する
Altername Domain Nameにドメイン名を指定する
補足:
今回はファイルに「http://image.<独自ドメイン>/<ファイル名>」でアクセスできるように、
Altername Domain Nameには**image.<独自ドメイン>**を指定した
設定:Route53
Route53のコンソールで**image.<独自ドメイン>**のレコードを作成する
Alias TargetにはCloudFrontのDistributionを指定する
補足:
テキストボックスをクリックすると選択候補のリストが表示される
アクセス確認
ブラウザから独自ドメインのURLにアクセスして、ファイルにアクセスできるようになったことを確認する
| 種別 | URL | アクセス可否 |
|---|---|---|
| S3公開リンク | http://s3-<リージョン>.amazonaws.com/<バケット名>/<ファイル名> | ○ |
| CloudFrontドメイン | http://<ドメイン名>.cloudfront.net/<ファイル名> | ○ |
| 独自ドメイン | http://<ドメイン名>/<ファイル名> | ○ |
3. Cloud Front 経由の時だけ S3 のファイルにアクセスできるようにする
設定:CloudFront
CloudFrontのコンソールでRestrict Bucket Accessを設定する
確認:S3
S3のコンソールでバケットポリシーが設定されてることを確認する
設定:S3
S3のコンソールでパブリックアクセスを禁止しておく
補足:
CloudFrontでRestrict Bucket Accessを設定しても、S3でパブリックアクセスが許可されていると公開リンクからファイルへアクセスすることが可能なため、上記の操作を行い準備で有効化した「公開する」設定を無効化する必要がある
アクセス確認
ブラウザからS3公開リンクにアクセスして、ファイルにアクセスできなくなったことを確認する
| 種別 | URL | アクセス可否 |
|---|---|---|
| S3公開リンク | http://s3-<リージョン>.amazonaws.com/<バケット名>/<ファイル名> | × |
| CloudFrontドメイン | http://<ドメイン名>.cloudfront.net/<ファイル名> | ○ |
| 独自ドメイン | http://<ドメイン名>/<ファイル名> | ○ |























