#はじめに
下記URLのようなプライベートサブネットとパブリックサブネットの使い分けに関する問題が、AWS SAAでよく出題されます。
https://awsjp.com/exam/saa-sap/c/exam95.html
しかし初心者だとサーバーの違いや構成を知らないため、そもそもの問題文の意味の理解もできないのではないかと思います。今回はWebの2層構造を通じて、プライベートサブネットとパブリックサブネットの使い分けを説明したいと思います。
#イメージ
[AWS]WordPressの構築方法や【AWS】WordPressを作った時の備忘録のようにWordPressを作成すると、パブリックサブネット内にあるWEBサーバーとプライベートサブネット内のDBサーバーの流れや構成がわかって良いのではないかと思います。
もし時間があれば、実際に作ってみると、問題の理解度も違ってくるかと思います。
#説明
現在の主流としてはWEBサーバー、APサーバー、DBサーバーの三層構造がWebシステムの典型的な構成となっていますが、システムによってはWebサーバとAPサーバを1台に統合したり、Webサーバがなかったりなどします。
SAAでは三層構造で出てくることはないと思われるため、WEBサーバーとDBサーバーの二層構造を中心に考えたいと思います。
サーバー | 説明 |
---|---|
Webサーバー | 主に静的コンテンツを提供する役割のサーバー。 |
DBサーバー | データを提供するサーバー。 |
APサーバー(おまけ) | 主に動的コンテンツや業務処理を提供するサーバー。 |
HTMLファイルや画像などのコンテンツを配置しているWEBサーバーがあり、データが必要な場合WEBサーバーからDBサーバーにデータを要求する仕組みとなっています。
パブリックサブネットのWEBサーバーはアウトバウンドトラフィックを直接インターネットに送信できます。WEBサーバーはプライベートサブネットと同じVPC内でホストされるため、DBインスタンスに接続できます。
その一方プライベートサブネットのDBサーバーはインターネットにアクセスできないため、その分セキュリティがより強固になります。
このようにサブネットを分けることで、適切にセキュリティに強い設計が作ることができます。そのためプライベートサブネットとパブリックサブネットの使い分けが非常に重要なってきます。
参考
https://thinkit.co.jp/article/11526?fbclid=IwAR1xhqnZ4CYQllY6dTS3htOVump-I14LJFh2HAWPac-OnZSSmNmu9N0Iiks
https://www.b-architects.com/blog/wiki/web-server
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/CHAP_Tutorials.WebServerDB.CreateVPC.html