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

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

新規登録して質問してみよう
ただいま回答率
85.48%
AWS(Amazon Web Services)

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

Q&A

解決済

1回答

1552閲覧

AWSでロードバランサの設定および確認方法について

arcanum_jp

総合スコア94

AWS(Amazon Web Services)

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

0グッド

0クリップ

投稿2018/11/10 07:24

こんにちは、AWSで1台のEC2に対してロードバランサを設定してアクセスしたいと思っています。
理由としてはロードバランサにAWSで発行される証明書を設定するためです。

まずテストとして、ロードバランサ無しで80番ポートでEC2まで届くものを作成しようと思い以下のような構成にしました


インターネットゲートウエイ:ig-test:
vpcの項目にvpc-testを指定


ルートテーブル:route-test
以下を追加

  • 送信先:0.0.0.0/0
  • ターゲット:ig-test

VPC:vpc-test
ルートテーブルにroute-testが指定


サブネット
2つ作り、

  • sb-public:vpc-testに紐付け

-- アベイラビリティゾーン:ap-northeast-1b

  • sb-private:vpc-testに紐付け

-- アベイラビリティゾーン:ap-northeast-1c


EC2:
セキュリティグループ:security-ec2
(80番ポートだけ開けてます)
80番ポート待ち受けのWebサーバを設定


この状態で、確認としてブラウザからhttp://EC2に設定書いてあるIPでアクセスし、普通にアクセスできたので次にロードバランサ を設定してみました


ロードバランサ:lb-arcanum

  • リスナ:80,443をセット
  • スキーム:インターネット向け
  • アベイラビリティゾーン

-- vpc: vac-test
-- サブネットで作成したアベイラビリティゾーン
-- セキュリティ設定の構成:以前に取っておいた証明書をセット
-- セキュリティグループ、80, 443をリスンした、security-lb
-- ターゲットグループ:作成したEC2に80番ポート


この状態で確認方法として、同じくブラウザからEC2に設定されたIP直打ちでWEBサーバーにアクセスしています。
ロードバランサが正しくルーティングしているか確認のため、ロードバランサのセキュリティグループから
80番ポートを削除し、ブラウザからIP直打ちで80番ポートにアクセスし、返ってきます。(画面に表示される)

更に、ロードバランサのセキュリティグループの設定としてインバウンドもアウトバウンドも全て削除したものを設定しても同様になります

また、ロードバランサ自身のリスン設定として80番ポートも削除してみても同じ結果となります。
予想としてロードバランサにリクエストが届いていないのかなと思っています。

AWSのコンソール上からはVPCの設定から対象のEC2まで追う事ができ、何かしらの設定が足りないのかなと思っています。

認識として、VPCに入ったきたリクエスト(80番ポート)はロードバランサに投げられ、先ほど80番ポートはセキュリティグループで閉じてますので、EC2のWEBサーバーにはアクセスできないと思っていましたが、何の設定が間違っているかもうわからず質問しました

よろしくお願いします

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

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

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

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

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

guest

回答1

0

ベストアンサー

何点か確認させてください。

  1. ロードバランサーでSSLオフロードを行いたいということだと思いますので、ALBかCLBだと思いますがどちらを選択されたのでしょうか?
  2. ロードバランサーのテストですが、ブラウザからアクセスしたのはロードバランサーのパブリックDNSに対してでしょうか?
  3. 質問文中にある次の「80番ポートを削除し、ブラウザからIP直打ちで80番ポートにアクセスし、返ってきます。(画面に表示される)」の”返ってきます”とありますが、レスポンスが返ってくるという意味であれば、そのときのHTTPステータスはなんですか?

以上よろしくお願いいたします。

追記

ALBのパブリックDNSは、下図のALBの説明タブで確認できるDNS名で確認できます。
ブラウザのアドレスバーにこのDNS名を指定すれば、ALBのターゲットに登録したEC2へアクセスが振り分けられると思います。
図1

なお、ALBのターゲットに登録したインスタンスのステータスが"healthy"になっていることを確認してください。
(この図の例では、AZ-AとAZ-Cにそれぞれ1つずつインスタンスを登録しています。)
図2

投稿2018/11/10 07:55

編集2018/11/10 11:03
rubytomato

総合スコア1752

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

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

arcanum_jp

2018/11/10 08:12

ありがとうございます。 >1) ロードバランサー。。略。。。ALBかCLBだと思いますがどちらを選択されたのでしょうか? ALBです。 >2) ロードバランサーのテストですが、。。。略。。。のパブリックDNSに対してでしょうか? EC2インスタンスに設定してある「IPv4パブリックIP」です。 なにやらこの時点で自分がものすごい間違いを犯しているような気がしてきました 申し訳ありません、ロードバランサーのパブリックDNSとは何でしょうか? >3) 質問文中にある次の「80番ポートを。。。略。。。、レスポンスが返ってくるという意味であれば、そのときのHTTPステータスはなんですか? 200です。
rubytomato

2018/11/10 11:03

コメントありがとうございます。ロードバランサーのパブリックDNSについて回答欄に追記しましたのでご確認ください。
arcanum_jp

2018/11/11 01:42

なるほどありがとうございます。 図で示していただいたおかげで大変助かりました。 まず、80番ポートでの接続の確認の件ですが、  ①ロードバランサ側のパブリックDNSで接続が確認できた  ②ロードバランサ側のセキュリティグループから80番ポートを削除すると接続できない事が確認できた  ③ロードバランサのリスナから80番ポートを削除すると接続できない事が確認できた  ④上記①~③のあいだ、EC2インスタンスは直打ちで接続可能   ※自分は①~③のあいだ、④の方法で確認を行おうとしていた。 と言う事で一旦、ロードバランサ自身は動いていいる事は確認できたのかと思います。 ターゲットのインスタンスステータスがhealthyかどうか?については以下でした。 検証には、以下の環境を使用しています。  (1)ロードバランサ側のセキュリティグループは以下の設定です   ・INBOUNDは80番ポート、OUTBOUNDは全てを開けています  (2)ロードバランサ側のリスナは80番ポートをリスンしています  ①のケースではhealthy  ②のケースではhealthy  ③のケースではunused ③のケースではロードバランサのリスナ設定が無いのでunusedなのかと思い、とりあえず443をリスンするようにしたところ、一応healthyにはなりました。 ちなみに、EC2側のセキュリティグループから80番ポートを削除すると、unhealthyになりますし、ロードバランサ側のOUTBOUNDをなしにすると同じくunhealthyになります。 思い返してみれば、開発においてもステージング環境などでロードバランサで振り分けているけど、テストの都合上、実際のサーバーのIP直打ちで確認することもあるので、まず自分の確認方法がまちがっていたんだなと思いました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問