Amazon VPC からパブリックサブネットを無くしたい!

記事タイトルとURLをコピーする

こちらは、Japan AWS Ambassadors Advent Calendar 2025 の 15 日目の記事です。

こんにちは、エデュケーショナルサービス課の小倉です。
変わらず AWS トレーナーとしてトレーニングを実施していています。

Amazon VPC は日々のアップデートにより、パブリックサブネットを作成せずとも利用可能になってきています。パブリックサブネットが無くなることで、インターネットからの直接の到達性がなくなりますので、セキュリティを向上できると考えています。

まずはパブリックサブネットを無くすことに関係のある AWS の機能を紹介します。

VPC リージョナル NAT ゲートウェイ

サブネット内ではなく、VPC 内に NAT ゲートウェイを配置し、アベイラビリティゾーンをまたいだ冗長構成が可能  aws.amazon.com

CloudFront VPC オリジン

CloudFront のオリジンに VPC のプライベートサブネットに配置した ALB や EC2 の指定が可能 aws.amazon.com

CloudFront では定額料金プランが使用できるようになっています。
VPC オリジンを利用する場合、定額料金プランならビジネス以上 ($200/月) 、もしくはカスタム (従量課金) を選択する必要があります。
定額料金プランではプランごとに CloudFront で利用できる機能が決まっているので、利用する前に確認しておきましょう。

aws.amazon.com

プランごとに利用できる機能 (サイトの言語を英語に変更する)

aws.amazon.com

VPC ブロックパブリックアクセス

インターネットから VPC への通信を遮断できるため、セキュリティが向上 aws.amazon.com

この機能自体はパブリックサブネットを無くすことには直接関係していないですが、有効にしている場合は、リージョナル NAT ゲートウェイや CloudFront VPCオリジンの通信に影響があるため、除外の設定が必要です。

  • リージョナルNATゲートウェイ:配置したVPCに対してEgress-onlyの除外設定を追加
  • CloudFront VPC オリジン:配置したプライベートサブネットに対して双方向の除外設定を追加

docs.aws.amazon.com

VPC 内から VPC 外の AWS サービスなどに直接通信が可能 docs.aws.amazon.com


AWS の機能を理解したところで、次に通信パターンごとにパブリックサブネットが無くせるかを確認してみます。

インターネットから VPC 内

Web サーバーへの通信であれば、CloudFront 経由で VPC オリジンを利用することで、パブリックサブネットなしで通信可能です。
ただ、Web サーバー以外への通信であれば、VPC オリジンを利用することができないため、パブリックサブネットが必要になります。

ただ、VPC オリジンを利用する場合、パブリックサブネットはなくてもよいのですが、VPC にインターネットゲートウェイがアタッチされていないと VPC オリジンの設定ができないので、注意が必要です。

docs.aws.amazon.com

VPC 内からインターネット

リージョナル NAT ゲートウェイは VPC 内の配置なので、パブリックサブネットなしで通信可能です。

VPC 内から VPC 外

リージョナル NAT ゲートウェイは VPC 内の配置なので、パブリックサブネットなしで通信可能です。
VPC 外のサービスとの通信でインターネットゲートウェイが使用できない場合は、PrivateLink での通信が可能です。

インターネットゲートウェイと PrivateLink の使い分けですが、どちらの通信経路でも AWS が管理しているネットワークのみを通過するため、どちらを利用してもよいと考えています。そのため、要件やコストを考慮しての選択が可能です。

まとめ

Amazon VPC のアップデートによりパブリックサブネットを無くすことができるようになってきています。今のところは、インターネットから Web サーバー以外の通信があるときはパブリックサブネットが必要ですが、それ以外は不要と考えています。もしパブリックサブネットがある VPC を運用している方は構成を見直してみてはいかがでしょうか。

AWS のアップデートによって、ベストプラクティスが変わることがありますので、自分が利用している AWS サービスのアップデート情報は確認するようにしましょう。AWS のアップデートは以下のサイトで確認できます。サイトの言語が日本語だと翻訳のタイムラグがありますので、最新情報を取得するためには、サイトの言語を英語にして確認してみましょう。

aws.amazon.com

小倉 大(記事一覧)

アプリケーションサービス部エデュケーショナルサービス課 札幌在住

AWSトレーニングの講師をしています。

最近は7歳の息子と遊ぶのが楽しいです!

Twitter: @MasaruOgura