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

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

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

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

ロードバランサー

ロードバランサー【負荷分散装置】は、複数のサーバへアクセス要求を分散する装置です。 要求を分散することで各サーバが快適な応答速度を保つことを目的としており、 アクセスの多い大規模サイト等は、この装置により 複数のサーバに負荷を分散する事で安定な運用が可能です。

AWS(Amazon Web Services)

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

Q&A

解決済

1回答

3650閲覧

AWSのELS(ロードバランサー)の紐付けがうまくできない

takato.work

総合スコア11

HTTPS

HTTPS(Hypertext Transfer Protocol Secure)はHypertext Transfer プロトコルとSSL/TLS プロトコルを組み合わせたものです。WebサーバとWebブラウザの間の通信を暗号化させて、通信経路上での盗聴や第三者によるなりすましを防止します。

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

ロードバランサー

ロードバランサー【負荷分散装置】は、複数のサーバへアクセス要求を分散する装置です。 要求を分散することで各サーバが快適な応答速度を保つことを目的としており、 アクセスの多い大規模サイト等は、この装置により 複数のサーバに負荷を分散する事で安定な運用が可能です。

AWS(Amazon Web Services)

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

0グッド

1クリップ

投稿2020/08/29 06:52

編集2020/08/29 06:53

状況説明

サイトのSSL化を進めるためにロードバランサーでACMの証明書を設定したのですが、サイトにアクセスしても
「503 Service Temporarily Unavailable」というエラーが出てしまいます。

どこに原因があるのかと思い、探していたところ、
EC2/ターゲットグループ/グループ名/Targetsがヘルシーになっていないことがわかりました。(画像参照)
イメージ説明

ただ、ここをhealthyにする方法がわからず、ご教授頂きたいです。

これ以外にも考えられる問題などありましたらご教授いただけると嬉しいです。
その他スクリーンショットを載せておきます

Route53のレコード
イメージ説明

EC2/インスタンス
イメージ説明

インスタンスに使われているセキュリティグループ
イメージ説明

EC2/ロードバランサーの「説明」と「リスナー」
イメージ説明
イメージ説明

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

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

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

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

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

guest

回答1

0

ベストアンサー

ヘルスチェックはELBからインスタンスに対するHTTP(S)リクエストによって行われます。
なので、ELBからインスタンスのリクエストが正常に行われずエラーになった場合はヘルスチェックに失敗します。

ヘルスチェックのステータスの説明についてはドキュメントを見てください。
Target health status

スクショを見るに、unusedになっているので下記のいずれかに該当するか確認してください、。

ターゲットがターゲットグループに登録されていないか、ターゲットグループがロードバランサーのリスナールールで使用されていないか、ロードバランサーに対して有効ではないアベイラビリティーゾーンにターゲットがあるか、ターゲットが停止または終了状態にあります。

他のスクショを見るに、ELBで使っているAvailability Zoneがap-northeast-1a,ap-northeast1cのみなのにも関わらず、EC2インスタンスがap-norhteast-1dにあるのが原因ではないですかね。
ELB側でEC2が置かれているサブネットを追加してください。
追加できない場合はそもそも別のVPCに作成していないかを確認していずれかを作り直してください。

あと、余談ですがよくあるのはunhealthyになるケースです。
今回はunhealthyではないので該当しませんが、ELBからインスタンスへのリクエストが正常に行われないケースは大まかに以下の場合です。

  1. ELBからインスタンスへネットワーク的に接続が行えていない

一番多いのは、セキュリティグループの設定不足です。ELBのヘルスチェックで設定しているポートに対するELBからの接続が可能な状態になっているか確認しましょう。
一番簡単なのはELBのセキュリティグループからの通信をEC2インスタンスのセキュリティグループ側で許可する設定にすることです。
2. EC2インスタンス側で、ヘルスチェックで指定したポートとパスへの通信が行える状態になってない
当然のことながら、ヘルスチェックのリクエストを送っても、サーバ側でそのリクエストを受け付けられる状態になっていなければエラーが起きます。

いずれの場合でも、ヘルスチェックに失敗したときに再度そのインスタンスを登録したいときは一旦ターゲットグループからそのインスタンスを外してください。
何分間かdrainingになったあとに外れるので、その後再登録すれば再度ヘルスチェックを経て登録されます。

投稿2020/08/29 16:58

yu_1985

総合スコア7427

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

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

takato.work

2020/08/29 17:30

ご回答ありがとうございます! > ELBで使っているAvailability Zoneがap-northeast-1a,ap-northeast1cのみなのにも関わらず、EC2インスタンスがap-norhteast-1dにあるのが原因ではないですかね。 ELB側でEC2が置かれているサブネットを追加してください。 追加できない場合はそもそも別のVPCに作成していないかを確認していずれかを作り直してください。 こちらを試したところhttpsで表示できました! EC2/ターゲットグループ/グループ名/Targetsもヘルシーに変わっていました!ありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問