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 を使用したプライベートコンテンツを提供する」を参照してください。