Amazon CloudFront Origin Shield の使用 - Amazon CloudFront

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon CloudFront Origin Shield の使用

CloudFront Origin Shield は、オリジンの負荷を最小限に抑え、可用性を向上させ、運用コストを削減するのに役立つ CloudFront キャッシュインフラストラクチャの追加レイヤーです。 CloudFront Origin Shield を使用すると、次の利点が得られます。

キャッシュヒット率の向上

Origin Shield は、オリジンの前に追加のキャッシュレイヤーを提供するため、 CloudFront ディストリビューションのキャッシュヒット率を向上させるのに役立ちます。Origin Shield を使用すると、 のすべての CloudFrontキャッシュレイヤーからオリジンへのすべてのリクエストが Origin Shield を通過し、キャッシュヒットの可能性が高まります。 CloudFront は Origin Shield からオリジンへの単一のオリジンリクエストで各オブジェクトを取得でき、 CloudFront キャッシュの他のすべてのレイヤー (エッジロケーションとリージョン別エッジキャッシュ) は Origin Shield からオブジェクトを取得できます。

オリジンの負荷を軽減

Origin Shield を使用すると、オリジンに送信される同じオブジェクトへの同時リクエストの数をさらに減らすことができます。Origin Shield のキャッシュにないコンテンツへのリクエストは、同じオブジェクトに対する他のリクエストと統合され、オリジンに送信されるリクエストは 1 件のみになります。オリジンで処理するリクエスト数を減らすと、ピーク負荷や予期しないトラフィックの急増時にオリジンの可用性を維持でき、パッケージ化、画像変換、データ転送アウト (DTO) などの just-in-timeコストを削減できます。

ネットワークパフォーマンスの向上

オリジンに対するレイテンシーが最も低い AWS リージョンで Origin Shield を有効にすることで、最良のネットワークパフォーマンスが得られます。AWS リージョンのオリジンの場合、 CloudFront ネットワークトラフィックはオリジンまで高スループット CloudFront ネットワーク上に留まります。外のオリジンの場合AWS、 CloudFront ネットワークトラフィックはオリジンへの接続レイテンシーが低い Origin Shield に到達するまで CloudFront ネットワーク上に残ります。

Origin Shield の使用には追加料金が発生します。詳細については、「 のCloudFront 料金」を参照してください。

Origin Shield のユースケース

CloudFront Origin Shield は、次のような多くのユースケースに役立ちます。

  • 異なる地理的リージョンにビューワーが分散している場合

  • ライブストリーミングまたは on-the-fly画像処理の just-in-time パッケージを提供するオリジン

  • オンプレミスのオリジンに、容量または帯域幅の制約がある場合

  • ワークロードが複数のコンテンツ配信ネットワーク (CDN) を使用する場合

Origin Shield は、動的コンテンツがオリジンにプロキシ化される場合、コンテンツのキャッシュ可能性が低い安倍、コンテンツのリクエスト頻度の低い場合など、上記以外の状況には適さないことがあります。

以下のセクションでは、以下のユースケースにおける Origin Shield の利点について説明します。

異なる地理的リージョンにビューワーが分散している場合

Amazon では CloudFront、キャッシュから処理 CloudFront できるリクエストはオリジンに送信されないため、本質的にオリジンの負荷が軽減されます。エッジロケーション のグローバル CloudFrontネットワークに加えて、リージョン別エッジキャッシュは中間層のキャッシュレイヤーとして機能し、地理的に近いリージョンのビューワーにキャッシュヒットを提供し、オリジンリクエストを統合します。 https://aws.amazon.com/cloudfront/features/#Amazon_CloudFront_Infrastructureビューワーリクエストは、まず近くの CloudFront エッジロケーションにルーティングされ、オブジェクトがそのロケーションにキャッシュされていない場合、リクエストはリージョン別エッジキャッシュに送信されます。

ビューワーのリージョンが地理的に異なる場合、リクエストは異なるリージョン別エッジキャッシュを介してルーティングされ、それぞれから同じコンテンツに対するリクエストがオリジンに送信される可能性があります。Origin Shield を使用すると、リージョン別エッジキャッシュとオリジンの間にキャッシュのレイヤーが追加されます。すべてのリージョン別エッジキャッシュからのリクエストはすべて、Origin Shield を通過し、オリジンの負荷をさらに軽減します。次の図にその概念を示します。次の図で、オリジンは AWS Elemental MediaPackage です。

Origin Shield を使用しない場合

Origin Shield を使用しない場合は、次の図に示されているように、同じコンテンツに対するリクエストをオリジンが重複して受け取る可能性があります。


                     CloudFront Origin Shield を使用しない場合、オリジンは重複するリクエストを受け取る可能性があります。

Origin Shield を使用する場合

Origin Shield を使用すると、次の図に示されているように、オリジンの負荷を軽減できます。


                     CloudFront Origin Shield を使用すると、オリジンが受け取る重複リクエストの数を減らすことができます。

複数の CDN を使用する場合

ライブビデオイベントや人気のあるオンデマンドコンテンツを配信するには、複数のコンテンツ配信ネットワーク (CDN) を使用することがあります。複数の CDN の使用には利点もありますが、同じコンテンツに対して多数の重複リクエストをオリジンが受け取る可能性があります。それぞれのリクエストは、異なる CDN から送信されることも、同じ CDN 内の異なる場所から送信されることもあります。これらの冗長リクエストは、オリジンの可用性に悪影響を及ぼしたり、 just-in-time パッケージ化やインターネットへのデータ転送 (DTO) などのプロセスの運用コストが増加したりする可能性があります。

Origin Shield と他の CDNsのオリジンとして CloudFront ディストリビューションを使用すると、次の利点が得られます。

  • オリジンで受信される冗長リクエストが少なくなるため、複数の CDN を使用した場合の悪影響を軽減できます。

  • CDN 全体で共通のキャッシュキーを使用し、オリジン向けの機能を一元管理できます。

  • ネットワークパフォーマンスの向上。他の CDNsからのネットワークトラフィックは近くの CloudFront エッジロケーションで終了し、ローカルキャッシュからヒットが発生する可能性があります。リクエストされたオブジェクトがエッジロケーションキャッシュにない場合、オリジンへのリクエストは Origin Shield に到達するまで CloudFront ネットワーク上に留まり、オリジンへの高スループットと低レイテンシーを実現します。リクエストされたオブジェクトが Origin Shield のキャッシュ内にある場合、オリジンへのリクエストは完全に回避されます。

重要

マルチ CDN アーキテクチャでオリジンシールドを使用し、割引料金を利用する場合は、[お問い合わせ] または AWS 営業担当者を通じて詳細をご確認ください。追加料金が適用される場合があります。

以下の図は、複数の CDN で人気のあるライブビデオイベントを提供する場合に、この設定がオリジンへの負荷を最小限に抑える方法を示しています。次の図で、オリジンは AWS Elemental MediaPackage です。

Origin Shield を使用しない場合 (複数の CDN を使用)

Origin Shield を使用しない場合は、次の図に示されているように、同じコンテンツに対する多数の重複リクエストを (それぞれ異なる CDN から) オリジンが受け取る可能性があります。


                     CloudFront Origin Shield を使用しない場合、オリジンは多数の重複リクエストを受信し、それぞれが異なる CDN から送信される可能性があります。

Origin Shield を使用する場合 (複数の CDN を使用)

Origin Shield を他の CDNsのオリジン CloudFront として使用すると、次の図に示すように、オリジンの負荷を軽減できます。


                     CloudFront Origin Shield では、他の CDNsのオリジン CloudFront として、オリジンが受け取る重複リクエストが少なくなります。

Origin Shield の AWS リージョンの選択

Amazon CloudFront は、 にリージョン別エッジキャッシュ CloudFront があるAWSリージョンで Origin Shield を提供しています。Origin Shield を有効にするときは、Origin Shield の AWS リージョンを選択します。オリジンに対するレイテンシーが最も低い AWS リージョンを選択するようにしてください。Origin Shieldは、AWS リージョン内にあるオリジンにも、AWS 外のオリジンにも使用できます。

AWS リージョン内のオリジン

オリジンが AWSリージョンにある場合は、まず、オリジンが が次のリージョンで Origin Shield. CloudFront offers Origin Shield CloudFront を提供するAWSリージョンにあるかどうかを確認します。

  • 米国東部 (オハイオ) – us-east-2

  • 米国東部 (バージニア北部) – us-east-1

  • 米国西部 (オレゴン) – us-west-2

  • アジアパシフィック (ムンバイ) – ap-south-1

  • アジアパシフィック (ソウル) – ap-northeast-2

  • アジアパシフィック (シンガポール) – ap-southeast-1

  • アジアパシフィック (シドニー) – ap-southeast-2

  • アジアパシフィック (東京) – ap-northeast-1

  • 欧州 (フランクフルト) – eu-central-1

  • 欧州 (アイルランド) – eu-west-1

  • 欧州 (ロンドン) – eu-west-2

  • 南米 (サンパウロ) – sa-east-1

オリジンが が Origin Shield CloudFront を提供する AWSリージョンにある場合

オリジンが が Origin Shield CloudFront を提供する AWSリージョンにある場合 (上記のリストを参照)、オリジンと同じリージョンで Origin Shield を有効にします。

オリジンが が CloudFront Origin Shield を提供する AWSリージョンにない場合

オリジンが が Origin Shield CloudFront を提供する AWSリージョンにない場合は、次の表を参照して、Origin Shield を有効にするリージョンを決定します。

オリジンの場所

Origin Shield を有効にするリージョン

米国西部 (北カリフォルニア) – us-west-1

米国西部 (オレゴン) – us-west-2

アフリカ (ケープタウン) – af-south-1

欧州 (アイルランド) – eu-west-1

アジアパシフィック (香港) – ap-east-1

アジアパシフィック (シンガポール) – ap-southeast-1

カナダ (中部) – ca-central-1

米国東部 (バージニア北部) – us-east-1

欧州 (ミラノ) – eu-south-1

欧州 (フランクフルト) – eu-central-1

欧州 (パリ) – eu-west-3

欧州 (ロンドン) – eu-west-2

欧州 (ストックホルム) – eu-north-1

欧州 (ロンドン) – eu-west-2

中東 (バーレーン) – me-south-1

アジアパシフィック (ムンバイ) – ap-south-1

オリジンが 外にある場合AWS

Origin Shield は、オンプレミスのオリジン、または AWS リージョン外のオリジンにも使用できます。その場合は、オリジンに対するレイテンシーが最も低い AWS リージョンで Origin Shield を有効にします。オリジンに対するレイテンシーが最も低い AWS リージョンがわからない場合は、以下の提案を参考にして判断することができます。

  • 上記の表を参照し、オリジンの地理的位置に基づいて、オリジンに対するレイテンシーが最も低いと思われる AWS リージョンを見計らいます。

  • オリジンに地理的に近いいくつかの異なる AWS リージョンで Amazon EC2 インスタンスを起動し、ping を使用してテストを数回実行して、これらのリージョンとオリジンの間の典型的なネットワークレイテンシーを測定できます。

Origin Shield の有効化

Origin Shield を有効にすると、キャッシュヒット率の向上、オリジンへの負荷の軽減、パフォーマンスの強化を図ることができます。Origin Shield を有効にするには、 CloudFront ディストリビューションのオリジン設定を変更します。Origin Shield は、オリジンのプロパティです。 CloudFront ディストリビューション内のオリジンごとに、そのオリジンに最適なパフォーマンスを提供するAWSリージョンで Origin Shield を個別に有効にできます。

Origin Shield はAWS CloudFormation、 CloudFront コンソール、、または CloudFront API を使用して有効にできます。

Console
既存のオリジンに対して Origin Shield を有効にするには (コンソール)
  1. にサインインAWS Management Consoleし、 で CloudFront コンソールを開きますhttps://console.aws.amazon.com/cloudfront/v4/home

  2. 更新するオリジンがあるディストリビューションを選択します。

  3. [Origin and Origin Groups (オリジンおよびオリジングループ)] タブを選択します。

  4. 更新するオリジンを選択し、[編集] を選択します。

  5. [Origin Shield を有効にする] で、[はい] を選択します。

  6. [Origin Shield Region] (Origin Shield のリージョン) には、Origin Shield を有効にする AWS リージョンを選択します。リージョンの選択については、「Origin Shield の AWS リージョンの選択」を参照してください。

  7. ページの最下部で [はい、編集します] を選択します。

ディストリビューションのステータスが [デプロイ済み] であれば、Origin Shield の準備が完了しています。これには数分かかります。

新しいオリジンの Origin Shield を有効にするには (コンソール)
  1. にサインインAWS Management Consoleし、 で CloudFront コンソールを開きますhttps://console.aws.amazon.com/cloudfront/v4/home

  2. 既存のディストリビューションに新しいオリジンを作成するには、次の操作を行います。

    1. オリジンを作成するディストリビューションを選択します。

    2. [オリジンの作成] を選択し、ステップ 3 に進みます。

    新しいディストリビューションに新しいオリジンを作成するには、次の操作を行います。

    1. [Create Distribution] を選択します。

    2. [ウェブ] セクションで、[今すぐ始める] を選択します。[オリジン設定] セクションで、次の操作をステップ 3 から行います。

  3. [Origin Shield を有効にする] で、[はい] を選択します。

  4. [Origin Shield Region] (Origin Shield のリージョン) には、Origin Shield を有効にする AWS リージョンを選択します。リージョンの選択については、「Origin Shield の AWS リージョンの選択」を参照してください。

    新しいディストリビューションを作成する場合は、そのページの他の設定を使用して、ディストリビューションの設定を続けて行います。詳細については、「ディストリビューションを作成または更新する場合に指定する値」を参照してください。

  5. [作成] (既存のディストリビューションに新しいオリジンを作成する場合) を選択するか、[ディストリビューションの作成] (新しいディストリビューションに新しいオリジンを作成する場合) を選択して、変更内容を保存します。

ディストリビューションのステータスが [デプロイ済み] であれば、Origin Shield の準備が完了しています。これには数分かかります。

AWS CloudFormation

AWS CloudFormation で Origin Shield を有効にするには、AWS::CloudFront::Distribution リソースの Origin プロパティタイプに OriginShield プロパティを使用します。OriginShield プロパティは、既存の Origin に追加することも、新しい Origin を作成するときに含めることができます。

次の例は、米国西部 (オレゴン) リージョン (OriginShield) で us-west-2 を有効にするための構文を YAML 形式で示しています。リージョンの選択については、「Origin Shield の AWS リージョンの選択」を参照してください。この例では、Origin リソース全体ではなく、AWS::CloudFront::Distribution プロパティタイプのみを示しています。

Origins: - DomainName: 3ae97e9482b0d011.mediapackage.us-west-2.amazonaws.com Id: Example-EMP-3ae97e9482b0d011 OriginShield: Enabled: true OriginShieldRegion: us-west-2 CustomOriginConfig: OriginProtocolPolicy: match-viewer OriginSSLProtocols: TLSv1

詳細については、「 AWS CloudFormationユーザーガイド」の「リソースとプロパティのリファレンス」セクションのAWS::CloudFront::Distribution 「オリジン」を参照してください。

API

AWS SDKsまたは AWS Command Line Interface (AWS CLI) を使用して CloudFront API で Origin Shield を有効にするには、 OriginShieldタイプを使用します。OriginShield は、OriginDistributionConfig 内で指定します。OriginShield タイプの詳細については、「Amazon CloudFront API リファレンス」の次の情報を参照してください。

これらのタイプと操作を使用するための具体的な構文は、使用する SDK、CLI、API クライアントによって異なります。詳細については、SDK、CLI、またはクライアントのリファレンスドキュメントを参照してください。

Origin Shield のコストの見積もり

Origin Shield の料金は、増分レイヤーとして Origin Shield に送信されるリクエストの数に基づいて計算されます。

オリジンにプロキシ化される動的 (キャッシュ不可能な) リクエストの場合、Origin Shield は常に増分レイヤーとなります。動的リクエストでは、HTTP メソッド PUTPOSTPATCH、および DELETE を使用します。

動的リクエストに対する Origin Shield の料金を見積もるには、次の式を使用します。

動的リクエストの総数 x 10,000 リクエストあたりの Origin Shield 料金 / 10,000

キャッシュ可能なリクエスト (HTTP メソッド GETHEADOPTIONS) の場合、Origin Shield は増分レイヤーになることがあります。Origin Shield を有効にするときは、Origin Shield の AWS リージョンを選択します。Origin Shield と同じリージョン内のリージョン別エッジキャッシュに本来送信されるリクエストの場合、Origin Shield は増分レイヤーになりません。このようなリクエストに対して Origin Shield の料金は発生しません。Origin Shield とは異なるリージョンのリージョン別エッジキャッシュに送信されてから Origin Shield に送信されるリクエストの場合、Origin Shield は増分レイヤーになります。このようなリクエストに対しては、Origin Shield の料金が発生します。

キャッシュ可能なリクエストに対する Origin Shield の料金を見積もるには、次の式を使用します。

キャッシュ可能なリクエストの総数 x (1 – キャッシュヒット率) x 異なるリージョンのリージョン別エッジキャッシュから Origin Shield に送信されるリクエストの割合 x 10,000 リクエストあたりの Origin Shield 料金 / 10,000

Origin Shield の 10,000 リクエストあたりの料金の詳細については、CloudFront 「 の料金」を参照してください。

Origin Shield の高可用性

Origin Shield は、Amazon CloudFrontのリージョン別エッジキャッシュ を利用します。これらのエッジキャッシュはそれぞれ、少なくとも 3 つのアベイラビリティーゾーンと Amazon EC2 Auto Scaling インスタンスのフリートを使用して、AWS リージョン内に構築されます。 CloudFront ロケーションから Origin Shield への接続では、リクエストごとにアクティブなエラー追跡も使用され、プライマリ Origin Shield ロケーションが使用できない場合は、セカンダリ Origin Shield ロケーションにリクエストを自動的にルーティングします。

Origin Shield が他の CloudFront 機能とやり取りする方法

以下のセクションでは、Origin Shield が他の CloudFront機能とやり取りする方法について説明します。

Origin Shield と CloudFront ログ記録

Origin Shield がいつリクエストを処理したかを確認するには、以下のいずれかを有効にする必要があります。

Origin Shield からのキャッシュヒットは、 CloudFront ログOriginShieldHitx-edge-detailed-result-typeフィールドに として表示されます。Origin Shield は、Amazon CloudFrontのリージョン別エッジキャッシュ を活用します。リクエストが CloudFront エッジロケーションから Origin Shield として動作するリージョン別エッジキャッシュにルーティングされた場合、リクエストは としてではなく、 としてログHitに として報告されますOriginShieldHit

Origin Shield とオリジングループ

Origin Shield はCloudFront オリジングループ と互換性があります。Origin Shield はオリジンのプロパティであるため、オリジンがオリジングループの一部であっても、リクエストは常に各オリジンの Origin Shield を通過します。特定のリクエストについて、 はプライマリオリジンの Origin Shield を介してオリジングループ内のプライマリオリジンにリクエストを CloudFront ルーティングします。そのリクエストが失敗した場合 (オリジングループのフェイルオーバー基準に基づく)、 はセカンダリオリジンの Origin Shield を介してセカンダリオリジンにリクエストを CloudFront ルーティングします。

Origin Shield と Lambda@Edge

Origin Shield は Lambda@Edge 関数の機能性には影響しませんが、これらの関数が実行される AWS リージョンに影響を及ぼす可能性があります。Lambda@Edge と共に Origin Shield を使用する場合、オリジン向けのトリガー (オリジンリクエストとオリジンレスポンス) は、Origin Shield が有効になっている AWS リージョンで実行されます。ビューワー向けトリガーは影響を受けません。