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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Amazon Route 53

Amazon Route 53 はAmazonが提供する、 可用性と拡張性に優れた ドメインネームシステム(DNS)サービスです。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

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

Q&A

解決済

1回答

9847閲覧

AWSで設定している特定のドメインにアクセスできない(ERR_EMPTY_RESPONSE)

CyberMergina

総合スコア295

Amazon Route 53

Amazon Route 53 はAmazonが提供する、 可用性と拡張性に優れた ドメインネームシステム(DNS)サービスです。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

AWS(Amazon Web Services)

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

0グッド

0クリップ

投稿2017/03/30 01:50

編集2017/03/30 11:26

###前提・実現したいこと
AWS上にテスト環境を追加するため、丸ごと複製していたところ、
Nodeサーバー用のドメインのみアクセスが出来ません・・・。
AWSの証明書を使用しているため、ELB上での証明書セットが必要です。

■ 構成(※1台のEC2インスタンスです)
○ httpサーバー
[Route53(a.xxx.jp|http)] -> [ELB(ポートを80にフォワード)] -> [EC2]
○ Nodeサーバー
[Route53(b.xxx.jp|tcp)] -> [ELB(ポートを12345にフォワード)] -> [EC2]

###発生している問題・エラーメッセージ
ロードしようとしている「https://xxx.jp/socket.io/socket.io.js」が
取得できず、下記エラーが発生しております。

Failed to load resource: net::ERR_EMPTY_RESPONSE

###設定

  • EC2-セキュリティグループ(本番をコピーしてる)

tcp 12345 ローカルネットワーク内のみ

  • ELB

tcp 80 -> 12345
ssl 443 -> 12345
※インスタンスも設定済み

  • Route53

b.xxx.jp A [対象のELB設定]

###試したこと

  • ELBのヘルスチェック

tcp:80 を対象にチェックし問題ないことを確認。

  • Route53のヘルスチェック

tcp://b.xxx.jp:443/ を対象にチェックし問題ないことを確認。

  • Whois情報を確認する

失敗しているドメインの方はIPアドレスがコロコロ変わる

Route53, ELB, セキュリティグループ, 証明書設定を何度か確認しましたが、
今のところ自力で上手くいかず。。。
エラー的にも名前解決出来てないのかなとか考えております。

ご助言頂けると幸いです、よろしくお願い致します。

追記

  • 別の名前(c.xxx.jp)で設定しなおしてみたところ、アクセスできました・・・

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

失敗しているドメインの方はIPアドレスがコロコロ変わる

あと少しでしたね。
ELBはIP固定ではなく、IPアドレスがランダムで変わるポリシーになっています。

よってRoute53の設定は、Aレコードで設定するのではなく、【CNAME】として【ELBのDNS名】を入力してください。


【追記】

AWSで必要なソリューション

  • VPC
  • EC2
  • ELB
  • Route53

VPC設定

1.VPCを作成する
2.インターネットゲートウェイを作成する
3.サブネットを作成する
4.サブネットのルートテーブルにインターネットゲートウェイを追加する
5.ネットワークACLの確認をする

EC2設定

1.インスタンスを生成する
2.セキュリティグループを作成する
2-1.セキュリティグループ名:ELB_SG

VPC:VPCを設定
インバウンドルール:HTTP TCP 80 カスタム 0.0.0.0/0、HTTPS TCP 443 カスタム 0.0.0.0/0

2-2.セキュリティグループ名:EC2_SG

VPC:VPCを設定
インバウンドルール:HTTP TCP 12345 カスタム「ELB_SGのID」

3.セキュリティグループをアタッチ

インスタンスにEC2_SGを割り当てる

ELB設定

1.ELBを作成する

1-1.標準のロードバランサーにする

ロードバランサーを作成する場所:VPCを設定
内部向けロードバランサーの作成:チェックしない
リスナーの設定:HTTP 80 HTTP 12345、HTTPS 443 HTTP 12345
サブネットの選択:VPCで利用しているサブネットを設定

1-2.セキュリティグループの割り当て

セキュリティグループ(ELB_SG)を選択する

1-3.セキュリティ設定の構成

証明書を選択するorアップロードする

1-4.ヘルスチェックの設定

pingプロトコル:HTTP
pingポート:12345
pingパス:任意

1-5.EC2インスタンスの追加

Route53設定

1.Hosted zonesを作成する

ゾーンの名前:xxx.jp
TypeをPublicHostedZoneにする

2.ELBのドメインをCNAMEで登録する

TypeをCNAMEにして、ValueにELBのドメイン名を入れる

投稿2017/03/30 07:08

編集2017/03/30 16:39
lazhuward

総合スコア1294

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CyberMergina

2017/03/30 08:37

ご回答いただき、ありがとうございます! ご指摘いただいた通り、【CNAME】として【ELBのDNS名】を設定してみましたが、 「b.xxx.jp’s server DNS address could not be found.」と言われてしまいました・・・ また、Aレコードで別の名前(c.xxx.jp)を付けて設定してみたところ、アクセス可能できました。 余計な設定をしてしまっているのかもしれません・・・・;
lazhuward

2017/03/30 09:14

自分の端末のターミナルで > nslookup b.xxx.jp すると、どうなりますか? 見つけられないといわれる場合は、Route53の設定が誤っています。 IPアドレスが返ってきたのであれば場合は、ELBの設定が誤っています。 後、接続方法を教えてください。 作業端末→VPC→ELB→EC2 であってますか?
CyberMergina

2017/03/30 10:23

Aレコード/CNAMEレコードどちらで設定しても(見え方は違いますが)IPアドレスが返ってきました。 > 後、接続方法を教えてください。 作業端末(Mac)からChromeブラウザで対象のWEBアプリにアクセスして確認してます。 構成は DNS -> ELB -> EC2 になります。
lazhuward

2017/03/30 10:52

なるほど。 ということは、内部向けロードバランサーの作成をしたのではないでしょうか。 もしそうなら、設定変更できませんからELBを一回削除して 【内部向けロードバランサーの作成】のチェックをいれずに 再作成してみてください。 Route53は、CNAMEのままで良いでしょう。 違うのであれば、VPC設定かセキュリティグループが誤っていると思います。
CyberMergina

2017/03/30 11:24

> ということは、内部向けロードバランサーの作成をしたのではないでしょうか。 念のため、もう一度作り直してみましたが、つながらずです・・・ 「b.xxx.jp’s server DNS address could not be found.」 先ほど見つけたのですが、EC2側のnginxにてヘッダーが壊れているとのエラーが出ておりました。 作り直してからは、EC2に届かなくなりました・・・(設定を変えてしまったかもしれません) 今は、ELB設定内に書いてあるDNS名にcurlコマンドでアクセスしてみたりしてますが、 「Empty reply from server」と返ってきました。 ELBを何度も作って⇔消して、としてるのが影響してしまってるのですかね・・・
lazhuward

2017/03/30 16:45 編集

おっと、まずいですね。 設定方法を書いておきましたので確認してみてください。 一旦、正しい構成を目標にするのではなく、WEBサイトだけ表示することを目標にしてください。 セキュリティグループも一旦ALLトラヒックで接続でき設定があっていることを確認した後に制限すればよいです。
CyberMergina

2017/03/31 01:23

ご丁寧に手順を記載頂きありがとうございます! 昨夜同時のタイミングで急につながるようになりました・・・何が原因だったのかも不明です・・・。 ただ、これまでRoute53の設定をAレコードで行っていたのでCNAMEに設定することや、 telnetコマンドで疎通確認が出来ることは新しい知見でした! 記載頂いた内容を、今後とも活用させて頂きます。 長い時間ご協力いただきありがとうございました!!
lazhuward

2017/03/31 03:06

設定があっているのであれば、おそらくRoute53のドメイン名とIPアドレスの遅延が発生していたんだと思います。 開発時はRoute53の対象ドメインの設定値、TTL (Seconds)を60秒とか小さい値でやれば良かったのではないかと思います。 接続確認がとれたらセキュリティ確保のために1日(86400秒)とかに変更すれば良いです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問