セキュリティーグループでインバウンドにdefaultが両方入っていて、アウトバウンドはすべてなのに、EC2同士でアクセスできない理由

0

■EC2でmysqlサーバであるインスタンスには 以下のセキュリティグループが付与されています インバウンド sgr-NNNNNN,すべて,すべて,sg-YYYYYYYYY,default アウトバウンド 2 個の ID,すべて,すべて,0.0.0.0/0

■EC2でWEBサーバであるインスタンスには 以下のセキュリティグループが付与されています インバウンド sgr-NNNNNN,すべて,すべて,sg-YYYYYYYYY,default アウトバウンド 2 個の ID,すべて,すべて,0.0.0.0/0

インバウンドにdefaultが両方入っていて アウトバウンドはすべてなのですから EC2同士は無制限で通信できる認識なのですが

WEBサーバからmysqlサーバにアクセスできません 試しにmysqlサーバのインバウンドに3306,TCP,0.0.0.0を加えるとアクセスできるようなので セキュリティグループが原因なのは間違いないようです

インバウンドにdefaultを両方入れておけば EC2同士は通信が自由にできる認識なのですが間違っておりますでしょうか 合っている場合はdefaultを入れているのに通信できない原因を教えてください

質問済み 1ヶ月前28ビュー
2回答
1
承認された回答

WebサーバーからDBサーバーへはパブリックIPアドレスで接続しているのでしょうか?
その場合、インバウンドルールでセキュリティグループを参照していても接続はできません。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/security-group-connection-tracking.html

ルールのソースまたは宛先としてセキュリティグループを指定する場合、ルールはセキュリティグループに関連付けられているすべてのインスタンスに影響します。インスタンスは、指定されたプロトコルとポート経由で、インスタンスのプライベート IP アドレスを使用して、指定された方向の通信を行うことができます。

profile picture
エキスパート
回答済み 1ヶ月前
  • Riku_Kobayashiさんありがとうございます!! まさに求めていた内容です、defaultはプライベートのみなのですね ずっと悩んでいたので助かりましたー!!本当にありがとうございます

    re:Post AgentさんはAIなのでしょうか 回答が良くわからない内容で絶望していたので本当にうれしいです

  • defaultのセキュリティグループだけでなく全てのセキュリティグループで同様の動きとなります。 つまり、インバウンドルールやアウトバウンドルールでセキュリティグループを参照している際の通信はプライベートIPである必要があります。(パブリックIPアドレスでの通信ではセキュリティグループを参照していてもルールとして評価されません)

    re:Post AgentさんはAIなのでしょうか

    はい、こちらは最近導入されたAIです。 質問を出してから1分くらいで回答を生成してくれます。(ただし、絶対に正しい回答をしているわけではないので回答内容の精査は必要です) https://dev.classmethod.jp/articles/aws-repost-ai-assistant-instant-answers/

0

ご質問の状況について、セキュリティグループの設定だけでは EC2 インスタンス間の通信が自動的に許可されるわけではありません。以下の点を確認する必要があります:

  1. デフォルトのセキュリティグループ(default)の設定: 単に "default" という名前のセキュリティグループを追加しただけでは、自動的に EC2 インスタンス間の通信が許可されるわけではありません。デフォルトのセキュリティグループの実際の設定内容を確認する必要があります。

  2. セキュリティグループの相互参照: WEB サーバーと MySQL サーバーのセキュリティグループが互いを参照していることを確認してください。例えば、WEB サーバーのセキュリティグループ ID を MySQL サーバーのインバウンドルールに、そして MySQL サーバーのセキュリティグループ ID を WEB サーバーのインバウンドルールに追加する必要があります。

  3. ポート指定: MySQL へのアクセスには特定のポート(通常は 3306)が必要です。インバウンドルールで "すべて" を許可していても、明示的にポート 3306 を開放する必要がある場合があります。

  4. ネットワーク ACL: セキュリティグループ以外にも、ネットワーク ACL が通信を制限している可能性があります。サブネットレベルでの制限がないか確認してください。

  5. ルートテーブル: 両インスタンスが適切にルーティングされているか確認してください。特に異なる VPC やサブネットにある場合は重要です。

  6. インスタンスの設定: MySQL サーバー自体の設定(my.cnf ファイルなど)で、リモートアクセスが許可されているか確認してください。

これらの点を順に確認し、必要に応じて設定を調整することで、EC2 インスタンス間の通信問題を解決できる可能性が高いです。セキュリティグループの設定だけでなく、ネットワーク全体の構成を総合的に見直すことが重要です。
Sources
Impact of consolidation on ASFF fields and values - AWS Security Hub

profile picture
回答済み 1ヶ月前
  • re:Post AgentさんはAIでしょうか、恐れ入りますが解決しませんでした

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ