インターネット→ALB→EC2の通信がうまくいかないとき

ALB配下のEC2にブラウザからドメイン名でアクセスしたけど
できない時用に
問題の切り分け方をメモ

まずEC2をALBから切り離し、接続状態を確認していく

1.ブラウザからwebサーバへのアクセスを確認する
http://グローバルIPアドレス
http://ドメイン
の両方。

グローバルIPアドレスでのアクセスができない場合はEC2のセキュリティーグループを確認し
インバウンドルールでIPv4のTCP80からのアクセスを許可しているか確認する

ドメイン名でアクセスできない場合は
Route53でEC2のグローバルIPアドレスドメイン名を紐付けるAレコードが登録されているか確認する

2.1の確認が終わったらALBとEC2を紐付ける
ALBのターゲットグループで紐付けたEC2がhealthyになっているか確認する
unhealthyの場合はALBからEC2にTCP80でアクセスできるようになっているか確認する

3.2の確認が終わったらRoute53でAレコードの設定を行う
EC2のグローバルIPアドレスドメイン名を紐付けるAレコードを
ALBとドメイン名を紐づけるAレコードに変更する
ALBはIPアドレスではなくエイリアス名(dualstack.alb…)で登録する

レコード更新後に
ターミナルで「dig ドメイン名 A」を実行し、
「ANSWER SECTION」にグローバルIPアドレスが出てくるか確認する

4.3の確認が終わったらALBのセキュリティーグループ設定を行う
ALBのセキュリティーグループを確認し
インバウンドルールでIPv4のTCP443からのアクセスを許可する

以下のコマンドを実施して200が返ってきたらOK

curl -i https://ドメイン