AWS EC2がどのWebサイト・URLを担当しているか特定する方法
会社のAWS環境でEC2一覧を見たとき、「このEC2はどのWebサイトで使われているのか?」を調べる方法です。
ゴールは以下の情報を特定することです。
- 対象EC2が担当しているURL・ドメイン
- 社内向け・社外向けのどちらなのか
- どの経路でEC2にアクセスしているのか
例:
https://example.com → CloudFront → ALB → EC2
EC2の基本情報を確認(調査の準備)
EC2 → Instances → 対象EC2
確認する項目:
- Name・Tags:システム名の手がかり
- Private IP:内部通信の確認に使用
- Public IP:外部公開の手がかり
- VPC ID:所属ネットワークを確認
ここではまだURLは確定しません。
Target Groupから確認(EC2の接続先を探す)
EC2 → Target Groups → 対象Target Group → Targets
- 対象EC2のInstance IDまたはPrivate IPを探す
- 登録されているTarget Groupを特定する
- 関連するALBを確認する
ここでわかること:
ALB → Target Group → EC2
まだURLがわからなければ次へ進みます。
ALBから確認(URLを特定できる可能性)
EC2 → Load Balancers → 対象ALB → Listeners → Rules
- Host条件にドメインがあるか確認
- 転送先Target Groupが対象EC2に紐づいているか確認
- ALBのSchemeを確認
- internet-facing:インターネット向け
- internal:VPC内部向け
例:
example.com → ALB → Target Group → EC2
ここでドメインが判明した場合も、DNS設定を確認して実際の接続経路と一致するか調べます。
Route 53・CloudFrontから確認(URLを確定する)
Route 53 → Hosted zones → 対象ドメイン
- A・CNAME・Aliasレコードを確認
- ALBやEC2のIPアドレスとの紐づきを確認
- Private Hosted Zoneの場合は内部向けDNSとして確認
CloudFrontを利用している場合:
CloudFront → Distributions → 対象Distribution
- Alternate domain names:利用ドメイン
- Origins:接続先ALBなど
- Behaviors:URLパスごとの転送先
例:
https://example.com → CloudFront → ALB → Target Group → EC2
ここでURLとEC2までの接続経路が一致すれば、設定上の紐づけを特定できます。
※社内向けURLの場合、社内DNSやVPN経由のアクセス設定も確認します。
EC2内部から確認(URLが特定できない場合)
ALBやDNSから特定できない場合は、EC2内部のWebサーバー設定を確認します。
Nginx:
sudo nginx -T 2>/dev/null | grep server_name
Apache:
sudo apachectl -S
設定されているドメイン名から、担当URLの手がかりを探します。
ただし、設定が存在するだけでは実際にアクセスされているとは限りません。
最終確認(ここがゴール)
以下を確認できれば調査完了です。
- 対象EC2に紐づくURL・ドメインが判明した
- URLからEC2までの接続経路が確認できた
- 社内向け・社外向けの公開範囲が確認できた
- 必要に応じて実際のアクセスが成功することを確認した
最終的には以下のように整理します。
| 項目 | 確認結果の例 |
|---|---|
| EC2 | i-xxxxxxxx |
| 担当URL | https://example.com |
| 公開範囲 | 社外向け |
| 接続経路 | CloudFront → ALB → EC2 |
| 確認状況 | DNS・転送設定を確認済み |
これで、対象EC2がどのWebサイトを担当しているか説明できるようになります。