AWSを利用する際、いきなりEC2(Elastic Compute Cloud:AWSの仮想サーバ)を立ち上げてもよいと思ったのですが、せっかくなのでネットワークのことも理解しておいた方がよいかと思いネットワーク構築にチャレンジしてみました。
Amazon Virtual Private Cloud:Amazon VPC(以下、VPC)
AWSが提供する仮想プライベートネットワークのサービスです。
Webシステムを構築する場合、セキュリティのことも考慮する必要があります。
Webシステムですから、インターネットには接続できるようにしないといけないのですが、すべてを接続しておくと、サイバー攻撃等で情報漏えいや不正アクセスをされてしまうリスクがあります。
そのため、Webシステムを構築する場合、インターネットに接続しておくエリアとインターネットには接続しておかないエリアに分けて構築します。
1.インターネット:様々な人がいて危険性のあるエリア
2.インターネットに接続しておかないエリア:安全なエリア
3.1と2の間のエリア:非武装地帯(DeMilitarized Zone:DMZ)
Webシステムでインターネットに接続しておかないといけないWebサーバは3のDMZのエリアに設置し、Webサーバ等で処理したデータを格納しておくDBサーバは2の安全なエリアに設置しておくことで、インターネットからのサイバー攻撃等を防御します。
以前は、それぞれの役割を物理的に分けていましたが、今はクラウド上での設定により分けることができます。
AWSではそのネットワークの構成を容易にできるようになっています。
それがVPCです。
VPCのエリアの範囲を決定し、そのエリアを分割することで、DMZと安全なエリアを構築します。
DMZのことをパブリックサブネットと呼び、安全なエリアのことをプライベートサブネットと呼びます。
エリアの範囲はIPアドレスで指定します。
IPアドレスは、前回のIPアドレスでお話した、プライベートIPアドレスの範囲のものを使います。
パブリックサブネットをインターネットと接続する設定も必要ですね。
インターネットに接続する出入口のことをインターネットゲートウェイ(IGW)と呼び、パブリックサブネットとインターネットをつなぐ設定を行います。
その際、インターネット上ではグローバルIPアドレスでないといけないですから、自分のVPCのエリアのグローバルIPアドレスとVPCの中のパブリックサブネットのIPアドレスを結びつけます。
こうすることで、自分の作ったWebシステムをインターネットに公開しつつ、かつセキュリティを確保することができるのです。
DMZという概念は、セキュリティを学んだ方であれば知っていると思いますが、実際にはどうやってそれを実現しているのか、という技術的な点まで含めて理解している方は意外と少ないのではないでしょうか。
AWSでは、そうした技術的なことも含めて安価で速く環境構築ができるので、スキルを磨く点でも知識だけでなく技術も身に付けることができるようになると思います。
頑張っていきましょう。