1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS初心者向け】セキュリティグループ(Security Group)とは? EC2の門番を徹底解説!

1
Posted at

こんにちは!AWSを学び始めると、VPCやEC2とセットで必ず出てくる「セキュリティグループ」。なんとなく「ファイアウォールみたいなもの?」と理解している方も多いかもしれません。

その理解で合っています! 👏

セキュリティグループは、AWSのネットワークセキュリティの基本かつ最重要な機能の一つです。EC2インスタンスなどのリソースを守る「仮想ファイアウォール」や「門番」だと考えてください。

この記事では、AWS公式マニュアルの情報をベースに、セキュリティグループの仕組みと使い方を初心者でもわかるように、かみ砕いて解説していきます。

セキュリティグループのキホン 🖐️

まず、セキュリティグループの重要な「性質」を3つ覚えましょう。

1. 役割:インスタンスの「門番」

セキュリティグループは、EC2インスタンスなどのリソースに「アタッチ(関連付け)」して使います。アタッチされると、そのリソースの**インバウンド(入ってくる通信)アウトバウンド(出ていく通信)**を制御する「門番」として機能します。

どの通信(例:Webサイトの閲覧、SSHでの接続)を許可し、どれを許可しないかを、すべてこの門番が判断します。

2. 性質:ステートフル (Stateful)

これが超重要なポイントです。

ステートフル」とは、「一度外に出ることを許可された通信の『戻り』は、自動的に許可する」という意味です。

例えば、あなたのEC2インスタンスが外部のWebサイトを見にいく(アウトバウンド)とします。このリクエスト(行き)が許可されれば、そのWebサイトからのレスポンス(帰り)は、インバウンドルールに許可がなくても自動的に通してくれます

いちいち「帰りの通信」用のルールを書かなくて良いので、非常に便利です。

3. ルール:許可(Allow)のみ!

セキュリティグループのルールは、「何(プロトコル)のどのポートへ、どこから(送信元)の通信を許可するか」を定義します。

ここでの最重要ポイントは、「拒否(Deny)ルール」が存在しないことです。

ルールに書かれていない通信は、すべて自動的に拒否されます(デフォルト拒否)。「このIPアドレスだけ拒否したい」という設定は、セキュリティグループ単体ではできません。(※ 拒否したい場合は、ネットワークACLという別の機能を使います)


セキュリティグループのルールを理解する

ルールには「インバウンド」と「アウトバウンド」の2種類があります。

インバウンドルール (Inbound Rules)

中に入ってくる通信」のルールです。

例えば、EC2でWebサーバーを公開する場合、以下のようなルールを追加します。

  • タイプ: HTTP (ポート 80)
  • ソース: 0.0.0.0/0 (すべての人)
    • → 「すべての人(0.0.0.0/0)から、HTTP(ポート80)でのアクセスを許可します」という意味になります。

アウトバウンドルール (Outbound Rules)

外に出ていく通信」のルールです。

例えば、EC2インスタンスが外部のアップデートサーバーにアクセスする(例:yum update)場合、以下のようなルールが必要です。

  • タイプ: HTTPS (ポート 443)
  • 送信先: 0.0.0.0/0 (すべての場所)
    • → 「すべての場所(0.0.0.0/0)へ、HTTPS(ポート443)でアクセスすることを許可します」という意味になります。

新規作成 vs デフォルトのセキュリティグループ

セキュリティグループには「自分で作るもの」と「最初からあるもの」の2種類があります。

1. 自分で新規作成した場合 (推奨✨)

VPCコンソールから新しいセキュリティグループを作成すると、初期状態は以下のようになっています。

  • インバウンド: ルールなし
    • → つまり、外からの通信はすべて拒否! SSHもPingも通りません。
  • アウトバウンド: すべての通信を許可 (0.0.0.0/0)
    • → 中から外への通信は、すべてOK。

ベストプラクティス:
基本的に、リソースの役割ごとに専用のセキュリティグループを作成し、必要なインバウンドルールだけを追加していくのが最も安全です。(例:「Webサーバー用SG」「DBサーバー用SG」など)

2. デフォルト・セキュリティグループ (注意⚠️)

VPCを作成すると、自動的に「default」という名前のセキュリティグループが作られます。

  • 削除不可です。
  • インスタンス起動時にSGを指定しないと、自動でこれがアタッチされます
  • 初期ルール:
    • インバウンド: 「同じデフォルトSGを使っている仲間」からの通信をすべて許可
    • アウトバウンド: すべて許可

この「仲間内は全部OK」という設定が、意図しないセキュリティホールになることがあります。基本的にデフォルトSGは使わず、自分で作ったSGを使うようにしましょう!


セキュリティグループの操作方法

1. 作成 (Create)

  • VPCコンソールで「セキュリティグループの作成」を選びます。
  • 「名前」「説明」「VPC(どのVPCで使うか)」を指定するだけで作成できます。ルールは後から追加できます。

2. ルールの設定 (Configure Rules)

  • 作成したセキュリティグループを選び、「インバウンドルール」「アウトバウンドルール」のタブからルールを追加・編集・削除できます。
  • 変更は即座に、関連するすべてのインスタンスに適用されます。
  • 送信元/送信先の設定:
    • 0.0.0.0/0 (IPv4) / ::/0 (IPv6): 「すべての場所」。Web公開など以外では極力使わないでください。
    • マイIP: コンソールを操作しているあなたのIPアドレスを自動で設定してくれます。SSH接続の許可などに便利です。
    • sg-xxxxxxxx: 他のセキュリティグループIDを指定できます。例えば、「DBサーバー用のSG」のインバウンドルールに、「Webサーバー用のSGのID」を指定すれば、「WebサーバーからのDBアクセスだけを許可する」という設定が可能です。

3. インスタンスへの関連付け (Associate)

  • EC2インスタンスの起動時にアタッチするSGを選択できます。
  • 起動済みのインスタンスにも、後からSGを変更・追加できます。
  • 1つのインスタンスに複数のセキュリティグループをアタッチ可能です。(例:「Webサーバー用SG」+「共通管理用SG」など)

4. 削除 (Delete)

以下の条件に当てはまる場合、セキュリティグループは削除できません

  1. リソースにアタッチされている(EC2インスタンス、RDSなど)。
  2. 他のSGのルールから参照されている(「ソース」や「送信先」に指定されている)。
  3. VPCの**「デフォルト」SGである**。

削除したい場合は、まず上記の関連付けをすべて解除する必要があります。


まとめ

セキュリティグループをマスターする鍵は、以下の3点です!

  1. ステートフルであること。(「行き」が許可されれば「帰り」は自動OK)
  2. 許可(Allow)ルールのみで、拒否(Deny)ルールはないこと。
  3. デフォルトSGは使わず、最小権限の原則で必要な通信だけを許可すること。

0.0.0.0/0 (Anywhere) でのポート開放は、家の鍵を開けっ放しにするようなものです。本当に必要な場合を除き、必ず送信元IPを絞り込むクセをつけましょう! 🔒

この記事が、あなたのAWS学習の助けになれば幸いです!

参考資料

https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/vpc-security-groups.html
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/security-group-rules.html
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/default-security-group.html
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/creating-security-groups.html
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/working-with-security-group-rules.html
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/deleting-security-groups.html
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/security-group-assoc.html

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?