質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.36%

  • AWS(Amazon Web Services)

    1305questions

    Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Route53とCloudFrontを使ったマルチリージョン構成の構築ができない

受付中

回答 1

投稿 2017/11/24 14:20

  • 評価
  • クリップ 0
  • VIEW 51

kingdom

score 0

前提・実現したいこと

AWSを使って、リージョンを跨いだサーバーレス構成を作りたいと思っています。
以下のようなイメージです。
[Route53]-CloudFront(A)-APIGateway(A)-Lambda(東京)
[Route53]-CloudFront(B)-APIGateway(B)-Lambda(ソウル)

CloudFrontのディストリビューション、APIGatewayもそれぞれ別のものを作っています。
Lambdaはリージョン毎に作っています。

Route53は1つで、DNSフェイルオーバー機能を使って、CloudFront(A)側が停止した場合、Route53からの接続先がCloudFront(A)→(B)と切り替わるようにしたいです。

Route53は以下の設定にしています。

--------------------------------------------------------------------------------
Name     Type       Value            ポリシー
--------------------------------------------------------------------------------
A.net    CNAME      CloudFront(A)のドメイン名  FailOver(Primary)
A.net    CNAME      B.net             FailOver(Secondary)
B.net    A(Alias)  CloudFront(B)のドメイン名

また、各CloudFrontのCNAMEは以下のとおりです。
CloudFront(A)→A.net
CloudFront(B)→B.net
※CloudFrontのCNAMEは重複不可だったので、B.netを経由するようにしています。

発生している問題・エラーメッセージ

CloudFront(A)を停止しても、CloudFront(B)に切り替わらない。
CNAME・Aレコードなどの設定にこだわりはないので、目的が達成できる方法を知りたいです。

該当のソースコード

言語なし

試したこと

Route53のレコードセットを色々と変えてはみたのですが、うまくいきませんでした。
CloudFrontのCNAMEを以下のようにもしてみたのですが、ちゃんと動いてはくれませんでした。
CloudFront(A)→A.net
CloudFront(B)→*.net

補足情報(言語/FW/ツール等のバージョンなど)

より詳細な情報

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

DNSフェイルオーバーしないのは、ヘルスチェックに失敗しないからだと思われます。
「CloudFront(A)側が停止」がどういう状態を指しているのかわかりませんが(APIGateway(A) の停止?)、その状態のときに Route 53 のヘルスチェックに失敗するようになっていますでしょうか?

以下も参考になるかもしれません。

投稿 2017/11/25 16:44

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/26 22:30

    コメントありがとうございます。

    CloudFront(A)が停止の状態としては、以下を試していました。
    ・CloudFrontディストリビューションを停止した状態
    ・APIGatewayのステージのパスを指定して、ステージを削除した状態orAPIGateway自体を削除した状態

    結果、いずれもヘルスチェックの結果はUnhealthyとはなっています。
    A.netが指しているLambdaで"A"を返すようにしており、B.netが指すLambdaは”B"を返すようにしているのですが、このタイミングでA.netにアクセスしても、"A"が返ってきてしまい、"B"が返ってきません。
    B.netのTypeをA(Alias)ではなくCNAMEにもしてみましたが、結果は変わりませんでした。

    頂いたURLの情報を見てもう少し検討してみます。ありがとうございます。

    キャンセル

  • 2017/11/27 11:33

    > このタイミングでA.netにアクセスしても、"A"が返ってきてしまい

    それって、キャッシュではないですか?
    ブラウザか、CloudFront が生きていれば CloudFront がキャッシュを返しているか。

    キャンセル

  • 2017/11/27 12:21

    ブラウザで確認する前に、dig, nslookup などで DNS を確認してみてください。
    Route 53 で Primary が Unhealthy のときに、A.net を問い合わせると何が返るのか。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

ただいまの回答率

91.36%

関連した質問

  • 受付中

    Twig URLの取得

    Twigを使い、現在アクセスしているURLを取得したいです。 (PHPでかくところの$_SERVER["REQUEST_URI"];のような‥) 公式をみても探せませんでし

  • 受付中

    【AWS】ELBに対してHTTPS通信ができない

    前提・実現したいこと ■環境 Google Chrome AWS Linux ■事象 前提として、お名前.comでドメイン取得し、Route53にドメインを移管するところ

  • 受付中

    ドメイン移行に伴うゾーン編集

    こんにちは。お世話になります。 こちらでお伺いすることか微妙なのですが、既存のさくらインターネット契約の独自ドメインがあります。 カラーミーショップでのECサイト制作に伴いまし

  • 受付中

    CNAMEの設定、確認について

    前提・実現したいこと とあるサービスサイトを利用しています。 現在はデフォルトのドメインだがカスタムドメインに変更したい。 username.サービスサイト名.com ↓

  • 解決済

    一つのLaravelのプロジェクトで複数のサブドメインのサイトを管理したい

    一つのLaravelのプロジェクトで複数のサブドメイン形式のサイトを管理したいと考えています。 具体的にはfc2というブログサービスがあった場合、 https://fc2.co

  • 解決済

    お名前.comで取得したドメインをAWS・EC2で使いたい

    前提・実現したいこと お名前.comで取得したドメインをAWS・EC2で使いたいです。 AWSのIPアドレス? http://13.113.191.191/ 取得したドメイ

  • 受付中

    ドメイン移管について

    前提・実現したいこと enomからROUTE53へドメイン移管 ※enomは移管後解約 お名前からROUTE53へDNSレコードの引き継ぎ ※お名前共用サーバーはメールサーバーとし

  • 受付中

    AWS CloudFrontの設定について

    下記の記事を読んで、手順通り作業をしたのですが、 cloudfront用に設定したドメイン(ex.xxxx.jp)でアクセスすることができませんでした。 どなた xxxx.jp

同じタグがついた質問を見る

  • AWS(Amazon Web Services)

    1305questions

    Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。