⚙️

5分でわかる!AWS CloudFront入門!

2024/02/03に公開

はじめに

macbookでのブログ投稿が3回目となりました。

購入当時は不慣れなあまり「どうやって記事を書こうかな?」と思いつつ、色々抵抗があったため、結局WindowsPCで記事を投稿していました。

昨年末、長い間使っていたWinPCに別れを告げたため、強制的にmacbookを使う環境となりました。「環境を作るって大事だな」と改めて思いました。

今日のお題は AWS CloudFront です。

CloudFrontとは?

クラウドフロントとは、CDNの機能を持つサービスです。

CDN (Contents Delivery Network:コンテンツ配信ネットワーク) とは、Webサイトやアプリケーションのコンテンツをより高速にお届けするための仕組みです。

例えば、イタリア産のワインを購入する際、イタリアから購入するよりも近所のスーパーで同じワインを購入した方が早く購入することができますよね。

ネットワークもこれと同じで、遠く離れた国にあるサーバーのコンテンツを取得するよりも、東京のサーバーにコピペされたコンテンツを取得した方が高速になります。

この近所のスーパーのことを、エッジロケーションと言います。

CloudFrontとは、コンテンツをエッジロケーションに配信して、それをキャッシュすることで読み込みのパフォーマンスを向上するためのサービスです。

ちなみに、このエッジロケーションは2023年7月時点でグローバルで400箇所以上あります。

ハンズオン

S3にバケットを作成し、静的なコンテンツを配置します。その後、CloudFrontを設定してコンテンツを取得してみたいと思います。

それではハンズオンです。

S3でバケットを作成する

まずはバケット名をwine-20240203とします。

S3を知らない方こちらへ。
https://zenn.dev/collabostyle/articles/f43ebf5550fcab

静的なページを用意して、アップロードします。

CloudFrontを設定

CloudFrontで「ディストリビュージョンを作成」をクリックします。

Origin domainに作成したS3を選択し、Origin access control settingsを選択します。(その下のOAIからでも可)

OACを作成します。この設定により、S3をpublicにしなくてもコンテンツにアクセスできるようになります。

WAFを設定します。

ディストリビュージョンを作成すると、S3のバケットポリシーを変更するようにメッセージが表示されます。ポリシーをコピーします。

S3のバケットポリシーを編集します。

CloudFrontのディストリビュージョン名をコピーします。

https://xxxxx.cloudfront.net/wine.html のようにオブジェクトにアクセスすると、表示されます。

ちなみに、S3のオブジェクトURLに接続するとアクセス拒否されます。

以上となります。

おまけ

「お気に入り」を利用すると、コンソールが使いやすくなります。

星マークをクリック

コラボスタイル Developers

Discussion