0

私はS3 bucketを起点にAWS CloudFront distributionから.json.gzを得たウェブサイトs3post.cfを持っています。CloudFrontが別のアクティブなディストリビューションにフェールオーバーしているかどうかをチェックする方法は?

another bucketでそのバケットのクロスリージョンレプリケーションを有効にし、もう1つをCloudFront distributionに設定しました。

  • 秒分布backup.s3post.cfはそのCloudFrontの配信のドメイン名への単純なルーティングポリシーを持っている -

    は、ルート53で、私は最初のバケットcloudfront.s3post.cfとセットアップにファイルをCloudFrontのフェイルオーバーを関連するヘルスチェックを作成しました。

  • 最初の配布post.s3post.cfには、前述のhealthcheckに関連するプライマリフェールオーバーポリシーがあります。
  • post.s3post.cfには、backup.s3post.cf(2番目の配布)をエイリアスとして使用するセカンダリフェールオーバーポリシーもあります。

この設定をテストするために、ヘルスチェックファイルからパブリックアクセス許可を削除しました。ヘルスチェックは失敗し、私のサイトはまだ生きています。しかし、両方のバケットにある.json.gzファイルはパブリックなので、フェールオーバーが成功したかどうかはわかりません。

post.s3post.cfが実際にbackup.s3post.cfにフェイルオーバーしたかどうかをテストするにはどうすればよいですか? .json.gzファイルを削除することはできません。クロスリージョンレプリケーションのために、2番目のバケットでも削除されています。

答えて

1

CloudFrontのアクセスログを確認すると、リクエストがまだプライマリディストリビューションから配信されていることがわかります。あなたがしようとしているのは、CloudFrontが特定の要求を処理する配布を決定する方法を考慮していません.DNSではありません。

CloudFrontのは、配信サービス各着信要求を決定するために、ブラウザによって送信されたのみHost:ヘッダを使用します。

限り、DNS CNAMEがに任意の CloudFrontの配信を解決するよう、要求はまだCloudFrontの到着 - しかし、CloudFrontのは、単に任意のWebサーバやプロキシのように、解決パスを知らないまま。ブラウザが望むと思うサイトはどれですか? - アドレスバーにホスト名が表示されています。これは、DNSの構成方法に関係なく、要求を処理するディストリビューションです。

この戦略は機能しません。

+0

あなたはそうです。その戦略は氾濫した。私はこれを達成する方法はありますか?私は基本的にフェールオーバーのシナリオを実装したいと思います.S3バケットがCloudFrontを介してファイルを提供する場合、別の地域のバックアップS3バケットが起動します。どんな提案も本当に役立ちます。 –

+0

これは、EC2のリバースプロキシサーバーで、フェイルオーバー領域内のヘッダーのリライトを処理することで実現できますが、現在、ネイティブサービスのソリューションはありません。独自のコンポーネントをいくつか用意する必要があります。 –

関連する問題