猫でもわかるWebプログラミング

試行錯誤しながらエンジニア(プログラマー)として働く猫のブログ。技術的な話や、働き方の話、読書録とか、試行錯誤している日常の話。

CloudFrontを使う時に知っておきたい、AWSの「エッジロケーション」

f:id:yoshiki_utakata:20200504000411p:plain

CloudFront には「リージョン」が無い

CloudFront はいわゆる CDN(Content Delivery Network)であるが、CloudFront には「リージョン」という概念が無い。なぜか。

リージョン/アベイラビリティゾーン/エッジロケーション

AWS を語る時に、この3つの言葉がセット出でてくる。

  • リージョン
  • アベイラビリティゾーン
  • エッジロケーション

リージョンとアベイラビリティゾーン

「リージョン」と「アベイラビリティゾーン」は聞いたことある人も多いと思う。

「リージョン」とは、物理的な場所を表している。例えば「東京」とか「大阪」とか「北京」とかである。

「リージョン」の中にはいくつかの「アベイラビリティゾーン」がある。S3のサーバーなどを作成する時は「アベイラビリティゾーン」のうち1つを選択して作成する。アベイラビリティゾーンはいくつかのデータセンターの集合である。

執筆時には、東京には4つのアベイラビリティゾーンがあるが、アベイラビリティゾーンごとにちょっと離れた位置にあったり、電力系統が別になっていたりして、自然災害や停電などに耐えるようになっている。

同じアベイラビリティゾーンにサーバーがあると、まとめて落ちる場合があるが、2つのアベイラビリティゾーンにサーバーを作っておくと、どちらか片方は生きる可能性が高い。

エッジロケーション

AWSの中にはリージョンやアベイラビリティゾーンを指定せずに作成するものがある。CloudFront や Route 53 などである。

CloudFront は世界中のあらゆる場所にあり、アクセスしたユーザーから最も近いものが使われる。CloudFront や Route 53 はレスポンスの速さが求められるのでこのようになっている。

まとめ

CloudFront に「リージョン」が無いのは、「エッジロケーション」と呼ばれる、世界中のあらゆる場所に配置されるからである。

参考

リージョン、アベイラビリティゾーン、エッジロケーションのことを、AWSの「グローバルインフラストラクチャ」と言います。

AWS グローバルインフラストラクチャ | AWS

クラウドプラクティショナー