はじめに
今回では、AWSのサブネットのパブリックサブネットとプライベートサブネットの違いについて解説します。
まず本題に入る前に、サブネットについての解説です。
サブネットとは?
AWSにおけるサブネットは、VPCのCIDRブロック(例:10.0.0.0/16)から、特定のアベイラビリティーゾーン(AZ)に対してセグメントを切り出すリソースのことを言います。
1つのサブネットは1つのAZに閉じる: 複数のデータセンター(AZ)にまたがるサブネットは作成できません。冗長構成をとる場合は、別々のAZに1つずつサブネットを作成します。

パブリックサブネットとプライベートサブネットの違い
公式ドキュメントには下記のように記載されてます。
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/configure-subnets.html
一言でいうとインターネットゲートウェイへのルートの有無の差です。
・パブリックサブネット –
サブネットには、インターネットゲートウェイへの直接ルートがあります。パブリックサブネット内のリソースは、パブリックインターネットにアクセスできます。
・プライベートサブネット
サブネットには、インターネットゲートウェイへの直接ルートがありません。プライベートサブネット内のリソースには、パブリックインターネットへのアクセス用に NAT デバイスが必要です。
サブネット単体ではシステム目線での違いはなく、サブネット作成画面でもパブリック、サブネットを選択する項目は特にないです。
インターネットゲートウェイ向けのルートテーブルの設定の有無で、パブリック、プライベートが変わります。

パブリックサブネット無くなると何が嬉しいの?
昨年11月ごろに登場したNATゲートウェイのリージョナルモードを例に解説します。
例として、AWS内のEC2からインターネット上のサイトにアクセスするシステムで解説します。
※ゾーナルNAT Gateway,リージョナルNAT Gatewayどちらの構成をどちらでも採択可能な要件のシステムという前提です。

■変わらないこと
・AWS外からインターネット外に出ていくアウトバウンド通信。また、それに付随するアウトバウンド通信のセキュリティ対策
・NATゲートウェイの性能設計
(オートスケーリング機能に制約があるので、性能設計は必須。詳細は下記ブログに記載してます。)
https://qiita.com/tkazuaki0820/items/7bbfeedc72c9436b9cc5
・AWSの利用料金
■パブリックサブネットがなくなってうれしいこと
・NATゲートウェイ用のサブネットをAWS側で作成、管理してくれる。
エンジニア側で作成、管理するサブネットが減ることで、誤ったサブネットにAWSリソースをデプロイすること等のヒューマンエラーによるセキュリティインシデントの可能性を減らすことができる。
・条件付きだが、オートスケーリング対応が可能。マルチAZも対応
最後に
今回はAWSのパブリックサブネットとプライベートサブネットの違いについて簡単に解説をしました。
AWSの基本的な部分ですが、忘れがちな部分のため、ちゃんと仕様を抑えておくことでAWSのネットワーク設計に生かせると思います。
