前提・実現したいこと
現在リンク先にあるようなPrivateLinkを用いたクロスアカウントのサービスの連携を構築したいと思い作業しています。
https://qiita.com/mksamba/items/20903940b8b256ef2487
発生している問題・エラーメッセージ
PrivateLinkを用いた連携のためNLBを初めて構築している中で、ターゲット先にインターネットゲートウェイがルートに含まれていないサブネットに設置されてる2台のインスタンスへのヘルスチェックがUnhealthyになっていて原因を調べ修正してもなかなか解消されません。
<状況>
・リスナーのプロトコル・ポートはTCP・80に設定
・ターゲットグループのプロトコル・ポートはTCP・80に設定
・ヘルスチェックのプロトコル・ポートはTCP・80に設定
※ヘルスチェックを解消するためであれば変更可
[Health status] Unhealthy [Health status details] Health checks failed
試したこと
・ターゲット先インスタンスのセキュリティグループにてクライアント先のVPC CIDRとNLBヘルスチェック用のサブネットCIDRをポート80で許可(アウトバウンドも同様)
→Unhealthyのまま変わらず
・検証のため一時的にセキュリティグループを「すべてのトラフィック」を「0.0.0.0/0」で許可
→Unhealthyのまま変わらず
・インスタンスの中身に問題があることを想定し、検証のため既にALBを使用した構成でHealthyになっている別環境のインスタンスのAMIをコピーしインスタンスを立ち上げターゲットに追加
→Unhealthyのまま変わらず
・VPC到達可能性アナライザーにてNLBのENIからターゲット先インスタンスのプライベートIPまでを分析し、結果は到達可能だった
・pingをターゲット先インスタンスからNLBのENI宛とDNS名宛に投げたが返ってきませんでした
補足情報
NLBで失敗している環境で試しにALB用ターゲットグループを作ってみたがそちらもUnhealthy
追記
>(1)80ポートでチェックしていると言うことはHTTPプロトコルでターゲットにApacheもしくはnginxを入れて起動していると思うのですが、こちらのログはどうなっているのでしょうか
→Apacheが入っており調査した結果403を返しておりました。エラーログを見るとヘルスチェック用に作成した/var/www/html/index.htmlへのpermission deniedが出力されていました。
出力結果が以下のものです。(一部伏せております)
[/var/log/httpd/access_log] xxx.xxx.xxx.xxx - - [xx/xxx/2021:xx:xx:xx +0900] "GET /index.html HTTP/1.1" 403 199 "-" "ELB-HealthChecker/2.0"
[/var/log/httpd/error_log] (13)Permission denied: [client xxx.xxx.xxx.xxx:xxxxx] AH00132: file permissions deny server access: /var/www/html/index.html
回答1件
あなたの回答
tips
プレビュー