web-dev-qa-db-ja.com

複数のオリジンを持つAmazon Cloudfrontディストリビューションは競合しますか?

私は2つのウェブサイトに2つの異なる画像を持っています:

2つのオリジンを使用してAmazon Cloudfrontディストリビューションを作成した場合:www.siteA.comおよびwww.siteB.comその後、uniqueDistributionID.cloudfront.net/avatar.png、次にどのavatar.pngが返されますか? siteAにあるもの、またはsiteBにあるもの

なぜですか?

Cloudfrontディストリビューションの競合の可能性を理解しようとしています。

29
Rakib

いいえ、CloudfFrontには「競合」の概念がありません。複数のオリジンを含むディストリビューションがある場合、どのパスがどのオリジンに一致するかを定義する必要があるためです。

CloudFrontのパスパターンマッチングは決定的です。最適一致ではなく、最初の一致を使用します。そのパスがOriginサーバーで行き止まりであっても、最初に一致するパターンが使用されます。

CloudFrontがエンドユーザーリクエストを受信すると、リクエストされたパスは、ディストリビューションにキャッシュ動作がリストされている順序でパスパターンと比較されます。最初の一致により、どのキャッシュ動作がその要求に適用されるかが決まります。

http://docs.aws.Amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesPathPattern

更新

CloudFrontは、 Origin Groups の概念をサポートするようになりました。これにより、特定のキャッシュ動作が1つのOriginにリクエストを送信できるようになります。最初のオリジンから返された場合、CloudFrontは2番目のオリジンからコンテンツを取得しようとします。これはフェイルオーバーに使用できますが、CloudFrontが1つのオリジンを試行してから別のオリジンを試行する場合にも使用できます。オリジングループ内の2つのオリジンは、キャッシュミスごとに順番に試行されます。いずれかのOriginがキャッシュ可能な応答を返した場合、その応答はキャッシュに保存されます。

41