AWS TRAINING COURSE
---LESSON 06---
AWS上にセキュアなプライベート
ネットワーク空間を作成できる
「Amazon VPC」
この連載では毎回AWSの主要なサービスを一つずつピックアップして、機能や用途、効果を中心に紹介しています。バックナンバーではコンピューティング(Amazon EC2)やストレージ(Amazon S3)を取り上げました。今回はネットワークです。AWSでネットワークといえば「Amazon VPC」です。これぞクラウドで実装する際のネットワークの考え方だ、と思える素敵なAmazon VPCの概要を解説します。
Amazon VPCがセキュアな
プライベートネットワークを提供
こんにちは、アマゾン ウェブ サービス ジャパンの江口です。パートナーソリューションアーキテクトという役割を担っており、普段はAWSのコンサルティングパートナーさまを中心に技術支援をさせていただいております。
AWSはクラウドサービスですからインターネットの先にITシステムを構成する形になるので、「AWS上で実装したシステムに誰でもアクセスできてしまうのでは?」と心配する方もいるかもしれません。この心配を解決してくれる機能が「Amazon Virtual Private Cloud」、略して「Amazon VPC」(以下、VPC)です。
VPCはAWS上にオンプレミスと同じようにプライベートネットワーク空間を作成できます。図1の通りVPCで作成されたネットワーク空間は論理的に分離されて構成されます。お客さま専用のネットワーク空間であり、IPアドレスもお客さま自身で設定することができます。外部とのネットワークと完全に分離されるので、アクセスが遮断されて安全です。
VPCで作成したネットワーク空間は外部と接続経路を持つことも可能です。図1の通りインターネット ゲートウェイという部品を接続することでVPCにインターネットと接続する出入り口を作ることができます。専用線やインターネットVPNもVPCへの接続がサポートされているため、オンプレミスやお客さま拠点とプライベートネットワークとして接続できます。つまりお客さまのLAN環境をAWSまで延伸できるのです。
少し細かい話をするとVPCで作成したネットワーク空間に、サブネットと呼ばれるネットワークセグメントを作ることもできます。またサブネットごとにインターネットと接続できるパブリックサブネット、インターネットと遮断したプライベートサブネットという形で構成できます。
社内システムなどの外部からのアクセスを想定しないシステムはプライベートサブネットに配置し、Webなどの公開系システムはパブリックサブネットに入口を構成するといったセキュリティを意識したネットワークを実装することが可能です。オンプレミスでDMZ(非武装地帯)を構成して内部ネットワークと分離するように、クラウドでもセキュリティレイヤーを意識したネットワークの実装ができるのです。
Amazon VPCの最大の特長は
AZをまたいで構成できること
VPCの最大の特長は、VPCで作成したプライベートネットワーク空間はリージョン内にある複数のアベイラビリティーゾーン(AZ)をまたいで構成できることです。なおリージョンやAZについてはすでに解説していますので、バックナンバーを参照してください。
さてVPCで作成したプライベートネットワーク空間は、地理的に離れた複数存在するAZの全てにまたがってネットワークが構成されます。オンプレミスで表現すると、物理的に距離が離れた複数のデータセンターを全て接続して、横断したプライベートネットワーク空間を作成することができるということです。
このVPCで構成されるネットワーク環境をオンプレミスで実装する場合、物理的に離れたデータセンターを複数契約して各データセンターにスイッチやルーターなどのネットワーク機器を冗長構成でラックに設置・設定し、それぞれを接続するためのケーブルの敷設と結線を行い、さらにデータセンター間のネットワーク回線を準備し、それぞれの経路設定を行う、という気の遠くなるような作業が必要となります。VPCを利用するということは、この環境を作成・維持するという仕事が、AWSにオフロードできるのです。
AWSアカウントを持っていればユーザーは物理的な作業をすることなく、設定画面からVPCのプライベートネットワーク空間をすぐに作成できます。シンプルなものならば1分もあれば作成できます(本当です!)。しかもVPCでプライベートネットワーク空間を作成すること自体にAWSの従量費用はかかりません。
複数のVPCを作成でき
それぞれ柔軟に接続可能
VPCは論理的に作成されたプライベートなネットワーク空間ですので、VPCを複数作成することもできます。例えば二つのVPCを作成して検証環境と本番環境をそれぞれ異なるVPCに構築することで、双方でアクセスができないセキュアな環境が実現できます。複数のVPCをAWSのマネジメントコンソールから一元的に管理できるので、運用が煩雑になることもありません。
逆に複数のVPCを接続することも可能です。例えば検証環境のファイルやデータを本番環境にコピーしたい場合、VPCとVPCを内部的に接続する「VPC Peering」という機能でVPC間をセキュアに接続できます。
VPC Peeringはクロスリージョンとクロスアカウントがサポートされています。クロスリージョンとはリージョンを超えてVPC間を接続する機能です。例えば東京リージョンのVPCと地球の反対側のサンパウロリージョンのVPCを内部接続できます。
クロスアカウントはAWSアカウントを超えてVPC間を接続することです。私が契約しているAWSアカウント環境のVPCと、別の人が契約しているAWSアカウント環境のVPCを、お互いが設定することでVPC Peeringで内部接続できます。社内でプロジェクトごとにAWSアカウントを複数契約している場合などに便利な機能です。
このようにAWS上でネットワークを構成する際はVPCの中をどう設計するかだけでなく、VPCの外部とどうつなぐかということも観点に入れて設計する必要があります。AWSはVPC以外にもネットワーク機能を豊富に提供していますので、実際にネットワークを設計するときはVPC以外のネットワークサービスも確認してみてください。