はじめに
AWSを最近ちょくちょく触るようになったのですが、
プライベートサブネットってなんだ?
パブリックサブネットとの違いってなんだ?
となったので、自分の中で整理しながらまとめたいと思います。
私の勘違いによる誤記があるかもしれません、気軽に指摘していただけると嬉しいです。
基本的な違い
基本的な違いは、グローバルネットワークから通信できるかどうかです。
サブネット | グローバルネットワーク to サブネット |
---|---|
パブリック | OK !! |
プライベート | NG |
逆の通信(サブネットtoグローバルネットワーク)では区別されません。
設定次第ですが、プライベートサブネットからもグローバルネットワークへは通信可能になります。
サブネット | サブネット to グローバルネットワーク |
---|---|
パブリック | OK !! |
プライベート | OK !? |
よくある構成
よくある構成だと、以下のように区別されます。
サブネット | 構成例 |
---|---|
パブリック | APサーバー(アプリケーションサーバー) |
プライベート | DBサーバー |
具体的な違い
続いて、AWSでの設定が具体的にどうのように違っているかです。
1. 通信先
まず通信先(ゲートウェイ)が異なります。
サブネット | 通信先 |
---|---|
パブリック | インターネットゲートウェイ(インターネット繋ぐマン) |
プライベート | NATゲートウェイ(プライベートIPをパブリックIPに変換するマン) |
(3/1 追記)
プライベートサブネットにNATゲートウェイを通信させるかはオプションになります。
NATゲートウェイに繋がっていなくとも、
インターネットゲートウェイをアタッチしてないサブネットはプライベートサブネットと呼べそうです。
2. パブリックIP
次にパブリックIPを持つかどうかが異なります。
サブネット | パブリックIP |
---|---|
パブリック | 持つ |
プライベート | 持たない |
一方プライベートIPはどちらも所有しています。
サブネット | プライベートIP |
---|---|
パブリック | 持つ |
プライベート | 持つ |
プライベートサブネットはパブリックIPを持たない代わり、
NATゲートウェイに通信を行うことでパブリックIPに変換をしてもらってグローバルネットワークに接続できるようになります。
(正確には、NATゲートウェイからインターネットゲートウェイに通信します。下図参考)
NATゲートウェイはプライベート側からの通信を通しますが、逆に外からプライベート側への通信は行いません。
そのようにしてプライベートに保っています。
まとめ
最後に違いをまとめて終わります。
基本的な違い
サブネット | グローバル to サブネット | サブネット to グローバル | 構成例 |
---|---|---|---|
パブリック | OK !! | OK !! | APサーバー |
プライベート | NG | OK !? | DBサーバー |
具体的な違い
サブネット | 通信先 | パブリックIP | プライベートIP |
---|---|---|---|
パブリック | インターネットゲートウェイ | 持つ | 持つ |
プライベート | NATゲートウェイ (※Option) | 持たない | 持つ |
最後に
じゃあプライベートサブネットってどう作るのよって手順を、次回まとめようかなと思います。