アマゾン ウェブ サービス
アマゾン ウェブ サービス (AWS)
アマゾン ウェブ サービス (AWS) は、100 を超えるサービスとしてのプラットフォーム (PaaS) 、サービスとしてのインフラストラクチャ (IaaS) 、およびサービスとしてのソフトウェア (SaaS)を提供する大規模なクラウド コンピューティング プラットフォームです。最も注目すべき AWS の 1 つは CloudFront です。CloudFront は、ヨーロッパ、アジア、アフリカ、南アメリカ、オーストラリア、および米国にサーバーを配置した革新的なコンテンツ配信ネットワーク (CDN) です。
Amazon CloudFront とは何ですか?
Amazon CloudFront は、.html、.CSS、.js、画像ファイルなどのコンテンツのユーザーへの分散を高速化する、グローバルな拡散機能とキャッシュ機能を備えた最適化されたウェブ サービスです。 CloudFront は、エッジ ロケーションと呼ばれるデータ センターの世界的なネットワークを通じてコンテンツを配信します。ユーザーが CloudFront で提供されるコンテンツをリクエストすると、リクエストはレイテンシー (遅延時間) が最も低いエッジ ロケーションにルーティングされます。つまり、コンテンツは一貫して迅速かつ効率的に配信されます。
コンテンツがすでにエッジ ロケーションにある場合は、すぐに視聴者に届きます。それ以外の場合、CloudFront は Amazon S3 バケット (パブリック クラウド ストレージ)、ウェブ サーバー、またはメディア パッケージ チャネルなどのオリジンからそれを取得します。
- 視聴者は、www.claytabase.co.uk の Web サイトをリクエストします。
- リクエストされたオブジェクトがキャッシュされている場合、CloudFront はキャッシュからビューアーにオブジェクトを返します。
- オブジェクトが CloudFront のキャッシュにない場合、CloudFront はオリジン (S3 バケット) からオブジェクトをリクエストします。
- S3 はオブジェクトを CloudFront に返し、これによりLambda@Edge オリジン応答イベントがトリガーされます。
- Lambda@Edge関数によって追加されたセキュリティ ヘッダーを含むオブジェクトは、CloudFront のキャッシュに追加されます。
- (表示されていません) オブジェクトがビューアに返されます。同じ CloudFront エッジロケーションに来るオブジェクトに対する後続のリクエストは、CloudFront キャッシュから提供されます。
アマゾン ウェブ サービス (AWS)
AWS CloudFront のセットアップ
革新的な CDN である CloudFront を使用したコンテンツの配布は、比較的簡単なプロセスです。このセクションの手順では、CloudFront を使用して、次のことを行う基本的な構成をセットアップする方法について説明します。
- オブジェクトの元のバージョンを Amazon Simple Storage Service (Amazon S3) バケットまたはウェブサーバーに保存します
- 誰でもオブジェクトにアクセスできるようにします
- オブジェクトの URL で CloudFront ドメイン名を使用します (例: http://d111111abcdef8.cloudfront.net/index.html)
- デフォルトの 24 時間 (最小時間は 0 秒) の間、オブジェクトを CloudFront エッジ ロケーションに保持します。
CloudFront がコンテンツを配信する前に、いくつかの基本的な手順を完了する必要があります。最初のステップは、サービスにサインアップすることです。その後、コンテンツを配信する場所を CloudFront に伝える CloudFront ディストリビューションを作成するだけで済みます。
ウェブページまたはアプリケーションで CloudFront ドメイン名の URL を使用してコンテンツを参照します。
前提条件
CloudFront アカウントにログインします
アマゾン ウェブ サービス (AWS)
ステップ 1: コンテンツを Amazon S3 にアップロードし、オブジェクトのアクセス許可を付与する
コンテンツを Amazon S3 にアップロードし、全員に読み取り権限を付与するには
- AWS マネジメント コンソールにサインインし、 https://console.aws.amazon.com/s3/ で Amazon S3 コンソールを開きます。
- [バケットの作成] を選択します。
- Bucket nameには、バケット名を入力します。
- Regionには、バケットの AWS リージョンを選択します。レイテンシを最適化し、コストを最小限に抑えるために、最寄りのリージョンを選択することをお勧めします。または、規制要件に対応するために別の地域を選択することもできます。
- [バケットのパブリック アクセスをブロックする] セクションで、[すべてのパブリック アクセスをブロックする] のチェック ボックスをオフにします。
- 他のすべての設定をデフォルトのままにして、 [バケットの作成]を選択します。
- [バケット]セクションで新しいバケットを選択し、[アップロード]を選択します。
- [アップロード]ページを使用して、コンテンツを S3 バケットに追加します。シンプルな Hello World Web ページをダウンロードした場合は、index.html ファイルと CSS フォルダー (その中に style.css ファイルを含む) を追加します。
- [追加のアップロード オプション]を選択して、セクションを展開します。
- [アクセス制御リスト (ACL)]セクションで、[オブジェクト] 列の [全員 (パブリック アクセス) ] の横にある [読み取り] チェック ボックスをオンにします。
- [指定されたオブジェクトに対するこれらの変更の影響を理解しています] のチェック ボックスをオンにします。
- ページの下部にある [アップロード]を選択します。
アマゾン ウェブ サービス (AWS)
ステップ 2: CloudFront ディストリビューションを作成する
CloudFront ディストリビューションを作成するには
- https://console.aws.amazon.com/cloudfront/v3/home で CloudFront コンソールを開きます。
- [ Create Distribution]を選択し、[ Get Started]を選択します。
- [Origin Settings]の [ Origin Domain Name]で、前に作成した Amazon S3 バケットを選択します。
- Origin Settingsのその他の設定については、デフォルト値を受け入れます。
- Default Cache Behavior Settingsの設定については、デフォルト値を受け入れます。 6. キャッシュ動作オプションの詳細については、 キャッシュ動作設定を参照してください。
- [配布設定]の設定については、デフォルト値を受け入れます。 8. 配布オプションの詳細については、 配布設定を参照してください。
- ページの下部にある [ Create Distribution]を選択します。
- CloudFront がディストリビューションを作成すると、ディストリビューションの [ステータス] 列の値がIn ProgressからDeployedに変わります。通常、これには数分かかります。
アマゾン ウェブ サービス (AWS)
ステップ 3: CloudFront を介してコンテンツにアクセスする
CloudFront を介してコンテンツにアクセスするには、CloudFront ディストリビューション ドメイン名とパスを組み合わせてコンテンツにアクセスします。従来、Web サイトのメイン ページにアクセスするためのパスは /index.html です。この場合、次のような URL で CloudFront を介してコンテンツにアクセスできます。
https://d111111abcdef8.cloudfront.net/index.html