2015-12-22 8 views
5

CloudFlareには、サーバーがオフラインの場合、キャッシュされたバージョンのWebサイトが表示されます。何かがひどく間違っていたり、簡単な再起動。AWS CloudFrontでリブートを続ける

私はCloudFrontで同じことをする方法の高低をネットで検索してきましたが、私はこの問題に関してどんな種類のリソースも見つけられないようです。

あなたは何か指針を持っていますか?

+0

CloudFlareに必要な機能がある場合、CloudFrontを使用する理由は何ですか? CloudFlareは一般的にCloudFrontよりも優れていることがわかりますが、いくつかの特定の使用例を除きます。 –

+0

@マークB CloudFrontで可能かどうかを確認したいだけです –

答えて

3

CloudFrontは、原点からアセットを取得し、最初のビューア要求時にエッジ位置に保存し、キャッシュされたバージョンを後続のビューア要求に戻します。

エッジ位置でオブジェクトが期限切れになった後、CloudFrontは元に再び連絡して、キャッシュに最新バージョンのオブジェクトがあるかどうかを判断し、最新バージョンを取得します。現時点でオリジンサーバーが利用できない場合、CloudFrontはキャッシュされた[失効した]バージョンのオブジェクトをビューアに返します。

こちらのCloudFrontのドキュメント - http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HTTPStatusCodes.html#HTTPStatusCodes-no-custom-error-pagesをご覧ください。

+0

はい私はこれらの事実を認識していますフォールバックとしてどのようにトラフィックをそこにルーティングしますか? –

+0

私はあなたの質問を理解しているかわかりません。トラフィックをどこにルーティングするのですか? –

+0

私の最初の質問は、サーバーがダウンしているときにCloudFrontにトラフィックをルーティングする方法です。 –

3

CloudFront へのトラフィックを常に指してください。 CloudFrontは、必要に応じてサーバーからコンテンツを引き出します(つまり、CloudFrontには既に十分なキャッシュされたページまたは別のリソースがある場合、キャッシュされたコピーが提供されます)。再起動のためにサーバーがダウンしている場合、または何か問題が生じ、CloudFrontにページのキャッシュコピーがある場合、CloudFrontは新鮮度にかかわらず、キャッシュされたコピーを提供します。

サーバーがダウンする前に特定のリソースがCloudFrontのキャッシュに保存されていることを確認する必要がある場合は、そのページをWebブラウザでヒットしてください。これにより、CloudFrontはそのページをキャッシュから提供したり、元のサーバーから取得したりすることができます。どちらの場合でも、結果はページがCloudFrontにキャッシュされていることになります。

+0

したがって、ヘルスチェックに基づいてトラフィックを条件付きでルーティングする方法はありませんか? –

+1

あなたのウェブサイトがwww.xyz.comだとします。 www.xyz.comのDNSエントリは何かを指す必要があります。 DNSを動的に切り替えることで、ホスティングプロバイダを指していて、CloudFrontを指している次の瞬間は実行可能な選択肢ではありません。 DNSの伝播時間は通常、サーバーの再起動に要する時間よりも長くなっています。したがって、www.xyz.comは、常にヘルスチェックを行うべきものを指すべきです。あなた自身のヘルスチェックサーバーを追加してwww.xyz.comを指し示すこともできますが、CloudFrontは既に説明したようにヘルスチェックを実行しているので、CloudFrontでwww.xyz.comを指すだけです。 – George

2

クラウドフロントは静的コンテンツをキャッシュするだけです。それはCDN以上のものではありません。

サーバーを再起動する必要がある場合は、標準のWebスタックと見なします。その場合は、複数のマシンでELBを使用する必要があります。クラウドフロントが大部分の仕事をしていると思うなら、おそらくマイクロインスタンスを手に入れることができます。

静的なウェブサイトをお持ちの場合は、S3を使用してください。それは再起動しません、あなたは簡単にクラウドフロント経由でCDNすることができます。 ELBの必要はありません