AWS セキュリティグループの適用パターン

AWSのセキュリティグループにおいて、
私が直近で利用している適用パターンを紹介します。
(ちなみに、名称は私が勝手に考えました(´・ω・`))

allow self subnet方式

セキュリティグループ(以下SG)のインバウンドルールに、
SGを設定することができることを利用し、
簡易的にインスタンス間のインバウンドを有効にする方法です。

f:id:yasay:20190128223923p:plain

メリットとして、当該SGを設定したインスタンス全てにおいて、
特定ポートの疎通が可能になるので、インスタンス個別に新しい SGを定義する
必要がなくなります。

allow ELB's sg方式

上記のallow self subnet方式に近いです。
こちらの場合、ELBのリスナとして設定されているEC2インスタンスのSGに
ELBのSGを設定することで、ELB経由のみしかアクセスさせないことを
簡単に実現できます。

f:id:yasay:20190128225305p:plain

analog sg方式

こちらは番外的な位置付けではあります。
対抗サーバのグローバルIPアドレスを登録したSGを一つ作り、
インスタンスに適用します。

同じサブネットに配置しているサーバ間連携にも関わらず
パブリックIPで一度外に出てしまっているようなサーバにおいて、
特定のIPのみ許可するSGを適用することで、許可したアクセス元以外を遮断します。

f:id:yasay:20190128230830p:plain

何を言っているんだと思われるかもしれませんが、
パブリックサブネットをNATゲートウェイを利用せずに、
擬似的にプライベートサブネットにする方法だと思っていただければと。
( ※それでも何を言っているのか・・(ry )

プライベートIP間で通信すればいいじゃん的な話ではあるんですが、
パブリックIPがアプリケーション内にハードコーディングされているような
レガシー(;ω;)なサーバアプリケーションにおいて効果を発揮します。

おわりに

他にもよい適用パターンがあれば、
本エントリーを更新していきたいと思っていますが、
インバウンドルールにSGを設定できるので応用パターンは
もっと存在するのかなぁと思います。

以上です!