【AWS】Amazon VPC ~ 基本編 / セキュリティグループ ~

■ はじめに

https://dk521123.hatenablog.com/entry/2019/12/08/105415
https://dk521123.hatenablog.com/entry/2021/01/24/000000

の続き。

今回は、セキュリティグループについて、メモする。

目次

【1】セキュリティグループ(Security Group)
 1)特徴
【2】インバウンド/アウトバウンド
 1)インバウンドルール(Inbound)
 2)アウトバウンドルール(Outbound)
 3)使用上の注意
【3】制御項目について
 1)セキュリティグループ設定イメージ

【1】セキュリティグループ(Security Group)

* AWSの仮想ファイアウォール

https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/VPC_SecurityGroups.html

1)特徴

* インスタンスレベルで制御できる
* インバウンドとアウトバウンドルールでアクセス制御
* デフォルトでアクセス拒否(設定された項目のみアクセスを許可する仕組み)

【2】インバウンド/アウトバウンド

* 上り下りの通信に対するIPアドレスとポート番号を
 指定して、通信を制限する

cf. Inbound = 上りの
cf. Outbound = 下りの

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

* 入力する通信に対して、許可したい通信を指定する
 => 内向き、外部からVPCへの通信を制御

* 未設定の場合、全ての通信をブロックする
 => 以下は、Glue JobからInbound未設定で接続した際のエラー例。

Glue JobからInbound未設定で接続した際のエラー例

JobRunId: jr_xxxx failed to execute with exception
At least one security group must open all ingress ports.
To limit traffic, the source security group in your inbound rule
 can be restricted to the same security group
(Service: AWSGlueJobExecutor; Status Code: 400;
Error Code: InvalidInputException;
Request ID:  xxxx; Proxy: null)

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

* 出力する通信に対して、許可したい通信を指定する
 => 外向き、VPCから外部への通信を制御

* 未設定の場合、全ての通信を許可する

3)使用上の注意

* 重複したルールについては、緩い方が優先される
* 許可されたインバウンドに対する応答は、
 アウトバウンドで制限があっても、通過する

【3】制御項目について

* プロトコル (e.g. TCP, UDP など)
* ポート範囲
* 送受信先のCIDR (e.g 0.0.0.0/0) or セキュリティグループ
 => セキュリティグループを指定できることが特徴で
  入れ子形式でインフラを設計できる

1)セキュリティグループ設定イメージ

タイプ プロトコル ポート範囲 ソース 説明-オプション
http TCP 80 0.0.0.0/0 HTTPは全て通す
ssh TCP 22 自分のIPアドレス sshは自分のPCのみ許可

参考文献

https://qiita.com/leomaro7/items/42967c080814dfc82139

関連記事

Amazon VPC ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2019/12/08/105415
Amazon VPC ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2021/01/24/000000
Amazon VPC ~ 基本編 / VPCエンドポイント ~
https://dk521123.hatenablog.com/entry/2022/03/20/000000
AWS認定 ~ アソシエイト/ソリューションアーキテクト ~
https://dk521123.hatenablog.com/entry/2022/03/01/000000