【AWS】CloudFront経由でS3静的ファイルにアクセスする

投稿日: 2019/06/11

AWS 



CloudFrontを使用して静的ファイルをサクッとWebに公開する手順を紹介します。



S3を作成する

事前準備として、S3を作成しておきます。

今回は、index.html を用意し、公開にしておきます。


CloudFrontを作成する

Distributionを作成する

CloudFrontのページに行き、Distributionを作成します。

今回はWebページを作成したいので、WebのほうのGet Startedをクリックします。


Distributionの設定(Origin Settings)

Origin Domain Name

S3バケットが作成されていれば、セレクトボックスに選択肢が表示されます。


Origin ID

自動的に設定されるので、そのまま。


Restrict Bucket Access

CloudFrontからのアクセスを許可するため「Yes」を選択します。


Comment

何でもよいのですが「access-identity-s3-access」としました。


Grant Read Permissions on Bucket

バケットポリシーを自動で上書くため「Yes」を選択します。



Distributionの設定(Default Cache Behavior Settings)

Viewer Protocol Policy

常時SSL化したいので「Redirect HTTP to HTTPS」を選択します。


Compress Objects Automatically

gzip圧縮したいので「Yes」を選択します。



Distributionの設定(Distribution Settings)

Price Class

デフォルトはU.S, Canada and Europeとなっているので、アジアを含む「Use U.S., Canada, Europe, Asia, Middle East and Africa」を選択します。


Default Root Object

ドメインのみにアクセスした際、index.htmlを表示して欲しいので「index.html」を設定します。



保存する

すべての入力を行った後「Create Distribution」ボタンをクリックします。

するとデプロイが始まり、15分ほどでCloudFrontのドメインにアクセスが可能となります。



CloudFront経由のみアクセスを許可する

バケットポリシーを確認する

上の手順を進めていれば「Restrict Bucket Access」で「Yes」を選択しているため、ColudFrontからアクセスが可能です。

されていない場合、バケットポリシーを確認します。


Restrict Bucket Accessの設定

バケットポリシーが設定されていない場合、Distributionsを編集します。


S3を非公開にする

S3バケットのアクセス権限を開き、Everyoneでオブジェクトへのアクセスのチェックを外します。


アクセスして確認する

実際にアクセスして確認してみましょう。

  • S3にアクセス...できない
  • CloudFrontにアクセス...できる

これでCloudFront経由でS3静的ファイルをWebに公開することができました。

次回は独自ドメインの設定を行っていこうと思います。




洋ちゃん

@c5apple

システムエンジニアをしています。二児の父です。

夢は天井から床までビッシリ並んだ本棚のある書斎を作ること!