CloudFront の使用方法 - Amazon CloudFront

CloudFront の使用方法

CloudFront を使用すると、さまざまな目標を達成するのに役立ちます。このセクションでは、詳細情報へのリンクとともに、可能性についてのアイデアをいくつか示します。

静的ウェブサイトのコンテンツ配信の加速

CloudFront は、世界中のビューワーへの静的コンテンツ (たとえば、イメージ、スタイルシート、JavaScript など) の配信を高速化します。CloudFront を使用することで、AWS バックボーンネットワークと CloudFront エッジサーバーの利点を活用して、ウェブサイトを閲覧する訪問者に高速かつ安全で、信頼性に優れたエクスペリエンスを提供できます。

Amazon S3 バケットを使用すると、静的コンテンツを簡単に格納し、配信することができます。CloudFront と S3 を組み合わせて使用すると、オリジンアクセスコントロールを使用して Amazon S3 コンテンツへのアクセスを簡単に制限できるなど、多くの利点があります。

CloudFront と Amazon S3 を併用する方法の詳細 (すぐに使用開始するための AWS CloudFormation テンプレートなど) については、「安全な静的ウェブサイトの開始方法」参照してください。

オンデマンドビデオおよびライブストリーミングビデオの配信

CloudFront では、録画済みのファイルとライブイベントの両方のメディアを世界中のビューワーにストリーム配信するためのいくつかのオプションが提供されています。

  • オンデマンドビデオ (VOD) ストリーミングで CloudFront を使用して、MPEG DASH、Apple HLS、Microsoft Smooth Streaming、CMAF などの一般的な形式であらゆるデバイスにストリーミングできます。

  • ライブストリームをブロードキャストする場合は、フラグメントを正しい順序で配信するマニフェストファイルに対する複数のリクエストを結合して、オリジンサーバーの負荷を軽減できるように、メディアフラグメントをエッジにキャッシュすることができます。

CloudFront でストリーミングコンテンツを配信する方法の詳細については、「CloudFront を使用したビデオオンデマンドおよびライブストリーミングビデオ」を参照してください。

システム処理全体で特定のフィールドを暗号化する

CloudFront を使用して HTTPS を設定する場合、すでにオリジンサーバーへのセキュアなエンドツーエンド接続が存在します。フィールドレベルの暗号化を追加する場合、HTTPS セキュリティに加えて、システムの処理中に特定のデータにオリジンの特定のアプリケーションのみがアクセスできるように、そのデータを保護できます。

フィールドレベルの暗号化を設定するには、CloudFront にパブリックキーを追加し、そのキーを使用して暗号化する一連のフィールドを指定します。詳細については、「フィールドレベル暗号化を使用した機密データの保護」を参照してください。

エッジのカスタマイズ

エッジでサーバーレスコードを実行することには、ビューワーのコンテンツとエクスペリエンスをカスタマイズして、待ち時間を短縮することができる様々な可能性があります。たとえば、メンテナンスのためにオリジンサーバーがダウンしているときにカスタムエラーメッセージを表示することができるため、ビューワーには一般的な HTTP エラーメッセージは表示されません。または、CloudFront がリクエストをオリジンに転送する前に、コンテンツにアクセスするユーザーを認証および管理する関数を使用できます。

Lambda@Edge と CloudFront を併用すると、CloudFront が配信するコンテンツをさまざまな方法でカスタマイズできます。Lambda@Edge の詳細、および CloudFront で関数を作成してデプロイする方法の詳細については、「Lambda@Edge を使用してエッジでカスタマイズする」を参照してください。独自のソリューションのためにカスタマイズできる多くのコードサンプルについては、Lambda@Edge 関数の例 を参照してください。

Lambda@Edge カスタマイズを使用したプライベートコンテンツの供給

Lambda@Edge を使用すると、署名付き URL や署名付き Cookie の使用に加えて、独自のカスタムオリジンからプライベートコンテンツを供給する CloudFront ディストリビューションを設定するのに役立ちます。

CloudFront を使用してこのプライベートコンテンツを供給するには、次のことを実行します。