本稿でお伝えするのは下記の内容です。全3回に渡って解説していきます。
- AWSのネットワークの物理的な側面 ⇒ 第1回
- AWSのネットワークの論理的な側面 ⇒ 第2回
- AWSのネットワークにおけるベストプラクティス ⇒ 第3回
- AWSのネットワークにおいて過去に発生した問題の事例 ⇒ 第3回
必ずしもAWSの使い方といった内容ではないので、今日すぐに使える知識にはならないかもしれませんが、AWSのネットワークがどのようにできているかをご理解いただくことで、AWSをより効果的・効率的に使っていただく際の参考にしていただけると思います。
AWSのネットワークの物理的な側面
それでは、AWSのネットワークの物理的な側面に関する話から始めたいと思います。いくらAWSが仮想化を前提としたサービスであっても、最終的には物理的なサーバであったり回線であったり、そしてビルであったりといったものが、オンプレミス環境や通常のデータセンターと同じように必ず必要となります。
そこで、まずAWSのバックボーンネットワーク(AWSの拠点内外を接続する基幹ネットワーク)を俯瞰するところから始め、最終的にはサーバ間通信の話まで徐々に細かく見ていく、といった段取りで進めたいと思います。
AWSのリージョンとバックボーン
まずはAWSのグローバルなバックボーンの話から始めましょう。
AWSのグローバルなバックボーンは、「リージョン」と呼ばれる地理的に離れた領域がそれぞれ接続されることで構成されています。各「リージョン」ではAWSのサービスがそれぞれ独立して提供されており、言い方を変えると「リージョン」はお互いに完全に分離されるよう設計されたAWSのネットワークとサービスの「集合」となります。
たとえば、日本には東京リージョン("ap-northeast-1")があり、米国にはバージニア北部リージョン("us-east-1")、オレゴンリージョン("us-west-2")などがあります。また、政府の業務に関わる米国連邦政府、州、各地方自治体、契約業者にお使いいただけるGovCloud(米国)リージョン("us-gov-west-1")なんていうものもあります。
「リージョン」が完全に分離されていることによって、AWS全体としては最大限の耐障害性と安定性が実現されています。
2016年11月時点では、次のページ「グローバルインフラストラクチャ」にある通り、全世界で14のリージョンが運用されており、2017年末までにはさらに4つのリージョンがオンラインになる予定です(ちなみに、ムンバイリージョンが2016年6月29日、米国東部(オハイオ)リージョンが2016年10月17日にそれぞれ開設されています)。
そして、各リージョン間はパブリックインターネットや高速なプライベート接続によって接続されています。
たとえば、Amazon Elastic Compute Cloud(Amazon EC2)のドキュメントでは「リージョン間のすべての通信は、パブリックインターネットを通して行われます。したがって、適切な暗号方式を使用してデータを保護する必要があります」とご案内しています。
一方、パブリックインターネットでは各インターネットサービスプロバイダの思惑によってパフォーマンスが左右されるといったことが発生します。具体的には「Depeering(Wikipedia)」で説明されているような、インターネットサービスプロバイダやコンテンツサービスプロバイダ同士が主にビジネス的な理由から論理的な接続を切ることで、通信ができなくなったり遅くなったりするといった事例です。
こいった事例は、日本語だと「Geekなぺーじ:Tier1 ISPは秘密結社か?」の説明が分かりやすいです。また、英語でもよければ「Internet Routing and Traffic Engineering」が詳しいです(余談ですが、後者のページではtracerouteの出力に関しよくある誤解が解説されているのでぜひご一読を)。
そこで、AWSではこのような環境においても、お客さまにとってより良いサービスを提供するという目的に向けて安定した通信路を提供するために、最適な技術・インフラを活用しバックボーンを構成しています。