はじめに
今回は、AWS初心者の私がAWSを学ぶ中で特に理解するのに時間がかかったセキュリティグループについてまとめました。
私と同じようなAWS初学者の方の参考になれば幸いです。
セキュリティグループは結局どこに適用されるのか
インバウンドルールとアウトバウンドルールについては、
インバウンドルール:入ってくる通信
アウトバウンドルール:出ていく通信
というように言葉の意味自体は理解できていました。
また、
HTTP(80)
HTTPS(443)
を許可するという設定や
0.0.0.0/0
によって誰もがアクセスが可能という設定
も比較的わかりやすく、理解できました。
しかし私が理解できなかったのは、
「送信元に何を指定しているのか」
でした。
例でいうと、
ECSのセキュリティグループ
インバウンドルール
ポート: 3000
送信元:
ALBのセキュリティグループ
このようなセキュリティグループの時に
当時の私は
ALBのSGを指定したらなぜ通信ができるようになるのか
と思っていました。
IPアドレスなどを指定するならまだわかるのですが、
312.xx.xx.xx
を指定すると、
このIPの通信を許可する
といった意味になるからです。
しかし
sg-xxxxxxxxx
のようなセキュリティグループのIDを指定されても、
それって結局何を判断しているのかわからない
といった状態でした。
その後学んでいく中で理解したのは、
セキュリティグループ指定は、
このIPを許可する
わけではなく、
このセキュリティグループを持つリソース許可する
といった意味があるということでした。
例えば
ALB
└ ALB-SG
ECS
└ ECS-SG
といった構成があった場合に
ECS-SG側で、
送信元:ALB-SG
と設定すると、
ALB-SGが付与されているリソース
↓
通信許可
となります。
なのでAWSが、
この送信元がALB-SGを持っているか
を見て判断しています。
つまり、
ECS ← ALB-SGのみ許可
といった設定は、
ALBだけがECSへアクセスできる
といった意味になります。
今後も学習を進める中で理解に苦労したことや、実際に触ってみて気づいたことをアウトプットしていきたいと思います。
同じようにAWSを勉強している方の参考になれば幸いです。