CloudFront でファイルの URL 形式をカスタマイズする - Amazon CloudFront

CloudFront でファイルの URL 形式をカスタマイズする

CloudFront がビューワーに提供するオブジェクト (コンテンツ) をオリジンに設定した後は、CloudFront がそれを提供できるように、ウェブサイトまたはアプリケーションコード内のオブジェクトを参照する正しい URL を使用する必要があります。

ウェブページやウェブアプリケーションのオブジェクトの URL で使用するドメイン名には、次のいずれかを指定できます。

  • ディストリビューションを作成するときに CloudFront が自動的に割り当てる d111111abcdef8.cloudfront.net などのドメイン名

  • example.com など、独自のドメイン名

たとえば、image.jpg というファイルを返すために、次の URL のいずれかを使用します。

https://d111111abcdef8.cloudfront.net/images/image.jpg

https://example.com/images/image.jpg

Amazon S3 バケット、またはカスタムオリジンのどちらにコンテンツを保存しても、独自のウェブサーバーと同様、同じ URL 形式を使用します。

注記

URL 形式は、ディストリビューションの [Origin Path] に指定した値によってある程度異なります。この値が CloudFront にオブジェクトの最上位ディレクトリパスを与えます。ウェブディストリビューションを作成する際のオリジンパスの設定の詳細については、「オリジンのパス」を参照してください。

URL 形式の詳細については、次のセクションを参照してください。

独自のドメイン名 (example.com) を使用する

ディストリビューションを作成するときに CloudFront が割り当てるデフォルトのドメイン名を使用する代わりに、example.com などの、より簡単に使用できる代替ドメイン名を追加できます。CloudFront で独自のドメイン名を設定すると、ディストリビューション内のオブジェクトにこのような URL を使用できます。

https://example.com/images/image.jpg

ビューワーと CloudFront の間で HTTPS を使用する予定がある場合は、「代替ドメイン名と HTTPS を使用する」を参照してください。

URL で末尾のスラッシュ (/) を使用する

CloudFront ディストリビューション内のディレクトリの URL を指定するとき、末尾のスラッシュを常に使用するか、または、全く使用しないかを選択します。たとえば、すべての URL に対して次のいずれか 1 つの形式のみを選択します。

https://d111111abcdef8.cloudfront.net/images/

https://d111111abcdef8.cloudfront.net/images

それが重要なのはなぜか。

どちらの形式でも CloudFront オブジェクトへのリンクとして機能しますが、一貫性を持たせることで、後でディレクトリを無効にするときに問題を防ぐことができます。CloudFront は、末尾のスラッシュも含め、指定されたとおりに URL を保存します。形式に一貫性がない場合、スラッシュのあるディレクトリ URL とスラッシュのないものを無効にして、CloudFront がディレクトリを削除したことを確認する必要があります。

両方の URL 形式を無効にするのは不便で、追加コストが発生することがあります。これは、両方のタイプの URL をカバーするために無効化を二重に実行する場合、1 か月の無料の無効化回数の上限に達する可能性があるためです。そして、もしそのような事態になれば、CloudFront の各ディレクトリ URL にはただ 1 つの形式しか存在しない場合でも、すべての無効化に対して支払いをする必要があります。

制限されたコンテンツの署名付き URL を作成する

アクセスを制限するコンテンツがある場合は、署名付き URL を作成できます。たとえば、認証されたユーザーのみにコンテンツを配信する場合は、指定された期間のみ、または指定された IP アドレスからのみ有効な URL を作成できます。詳細については、「署名付き URL と署名付き Cookie を使用したプライベートコンテンツを提供する」を参照してください。