🔰

【初学者向け】【備忘録】AWS CloudFrontとS3を連携した静的ホスティング機能

2023/10/21に公開

はじめに

Webサイトの仕組みで使用されるCloudFrontとS3を連携した静的ホスティング機能についてまとめてみました。
※学習の備忘録として残します。

こんな人におすすめ

・コストを抑えつつ、Webサイトの速度をアップさせたい方
・AWSのセキュリティ機能を最大限に活用して、サイトの安全性を高めたい方

AWS S3の静的サイトホスティングの概要と活用目的

S3の静的サイトホスティングの概要

S3の静的サイトホスティングは、静的コンテンツ(HTML, CSS, JavaScript, 画像ファイルなど)のみから成るWebサイトをインターネットに公開するためのサービスです。
AWS S3 は、ファイルの保存と管理を簡単に行える、安全で耐久性の高いストレージサービスです。
S3では、静的なWebサイトのコンテンツをバケット(ストレージの容器)に保存し、そのバケットをインターネットに公開する設定を行うことで、Webサイトとしてアクセス可能になります。この機能は、サーバサイドのプログラミングやデータベースを必要としない、シンプルなWebサイトのホスティングに適しています。

活用目的

下記3点の活用目的があると考えられます!

1. コスト削減

静的Webサイトは、サーバサイドのプログラム処理が必要ないため、ホスティングコストが比較的安価になります。これにより、企業はWebサイトの運用コストを削減できます。

2. パフォーマンスの向上

静的コンテンツは読み込みが速いため、Webサイトのパフォーマンスが向上します。これにより、ユーザに快適なブラウジング体験を提供でき、ユーザが目標のアクションを取る確率が上がります。

3. セキュリティ

静的Webサイトはサーバサイドの処理がないため、セキュリティリスクが低減されます。これにより、データ漏洩やサイバー攻撃のリスクを減らし、ビジネスとユーザのデータを保護します。

CloudFrontの概要と果たす役割

CloudFrontの概要

Amazon CloudFrontは、AWSが提供するコンテンツ配信ネットワーク (CDN) サービスです。CDNは、Webサイトのコンテンツ(画像、動画、スタイルシート、JavaScriptなど)を効率的に配信するためのネットワークです。CloudFrontを使用すると、Webサイトのパフォーマンスを向上させ、世界中で迅速にコンテンツをロードできるようになります。
CloudFrontは、世界中に分散されたデータセンター(エッジロケーション)にコンテンツをキャッシュして配信するため、ユーザがWebコンテンツにアクセスする際の待ち時間を短縮し、ページのロード速度を向上させます。これにより、ユーザエクスペリエンスが向上し、Webサイトやアプリケーションの利用率が増加する可能性があります。

果たす役割

下記3点の果たす役割があると考えられます!

1. コンテンツの高速配信

CloudFrontは、Webサイトのコンテンツを世界中に分散されたサーバからユーザに高速に届ける役割を果たします。これにより、Webページの表示速度が向上します。

2. コスト削減

効率的なコンテンツの配信によって、データ転送のコストを削減します。サーバへの負荷も軽減され、運用コストを下げる助けとなります。

3. スケーラビリティ

トラフィックの増減に応じて自動的にスケールします。大量のアクセスがあった場合でも、パフォーマンスを維持しながらコンテンツを効率的に配信することができます。

OAIの概要とCloudFrontのOAIを設定して解決できる課題

OAIの概要

OAI(Origin Access Identity)は、Amazon CloudFrontの機能で、特定のCloudFrontの配信を通じてのみ、S3バケット内のコンテンツにアクセスを許可するためのIDです。これにより、ユーザはCloudFrontを経由しないとS3バケットに直接アクセスできなくなり、コンテンツのセキュリティを高めることができます。
OAIを使用すると、S3バケットのポリシーを変更して、指定したCloudFrontの配信以外からのアクセスを拒否することができます。これにより、コンテンツの無許可のアクセスを防ぎ、配信のセキュリティと制御を強化することができます。また、CloudFrontのキャッシュ機能を活用して、コンテンツの高速配信を実現しつつ、セキュリティも確保することができます。

OAIを設定して解決できる課題

下記3点の課題が解決できると考えられます!

1. セキュリティの向上

OAIを設定すると、特定のCloudFrontディストリビューションのみがS3バケットにアクセスできるようになります。これにより、S3バケットのコンテンツが不正に公開されるリスクを軽減し、データのセキュリティを強化できます。

2. アクセス制御の精密化

OAIを使用すると、細かいアクセス制御が可能になり、どのCloudFrontディストリビューションからのリクエストを許可するか、また、どのようなリクエストを許可または拒否するかを具体的に設定できます。

3. コンテンツの保護

CloudFrontのOAI設定により、S3バケット内のコンテンツはCloudFrontを経由してのみアクセス可能となります。これにより、直接S3 URLでのアクセスを防ぎ、コンテンツを保護することができます。

終わりに

S3とCloudFrontの特性と、それらを用いた静的Webサイトホスティングのメリット、セキュリティの強化方法についてよくわかりました。
これからも、日々、学習を積み上げていきます。
最後まで読んでくださり、ありがとうございました。

Discussion