インフラ設計・構築

ゼロから始めるAWS | AWSのインフラの基本を理解する

AWS(Amazon Web Services)は、クラウドコンピューティング環境です。

サーバ、ファイルシステム、データベースなどの全てのリソースは仮想的なものとして利用できます。

この点に関してはネットワークインフラについても同様です。

EC2インスタンス

EC2インスタンス

AWSにおける仮想サーバはEC2インスタンスと呼ばれます。

EC2とは(Amazon Elastic Compute Cloud)の略で、AMI(Amazon Machine Image)と呼ばれるイメージを選択して起動します。

AMIはLinuxやWindowsなどのOSがインストールされたイメージで、管理者ユーザーの設定からディスク、ネットワークの設定が完了しています。

AMIによっては、他にも便利なソフトウェアが初期インストールされているものもあり、様々なスペックのものから自由に選択することができます。

また、これらのスペックは自由に変更することもでき、柔軟にサーバをスケールすることができます。

EC2が利用するストーレージは、EBS(Amazon Elastic Block Store)と呼ばれるストレージで、SSDタイプやHDDタイプなど様々な種類から選ぶことができます。

ストレージについても、後から容量を増やすことが可能です。

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

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

EC2インスタンスは仮想的なものですが、世界中の様々な場所でホスティングされていて、どこかの物理的なサーバの中に配置されています。

この配置されるエリアの単位がリージョンとアベイラビリティゾーンです。

リージョンとは

リージョンとはAWSの拠点のことを指します。

世界中にまたがるいくつかの拠点でAWSは運営されていて、それぞれの拠点のことを「リージョン」と呼んでいます。

2022年9月現在、AWSには合計27のリージョンと87のアベイラビリティゾーンがあります。

AWSのリージョン及びアベイラビリティゾーンは今後ますます増える予定
今後ますます増えるAWSネットワーク

そして今後、オーストラリア、カナダ、インド、イスラエル、ニュージーランド、スペイン、およびスイスに21アベイラビリティーゾーンと7AWSリージョンを追加する計画が発表されています。

そして、それぞれのリージョンにはコードが割り当てられていて、例えば東京リージョンであれば[ap-northeast-1]といったリージョンコードになります。

リージョンの独立性

各リージョンは完全に独立していて次のような制約があります。

  1. リージョン間をリソースが移動することはない
  2. リージョン間の通信はパブリックIPを使用した通信
  3. 提供されるサービスが異なる
  4. 価格が異なる

最適なリージョンの選び方

これだけ多くのリージョンがあると、どのリージョンを選べばいいか分からなくなってしまいがちですが、そこはパフォーマンスを指針にしてリージョンを決定することをおすすめします。

ネットワークのレイテンシーを考慮した場合、エンドユーザーとの物理的な距離が近いほうが、高いパフォーマンスを発揮することができます。

そういった理由から、国内のエンドユーザー向けのサービスを提供する場合には、一般的に「東京リージョン-ap-northeast-1」を利用します。

しかし、最新のサービスなどは、東京リージョンでは提供されていないケースもあるため、そういった場合は、アメリカの「オレゴン-us-west-2」や「バージニア北部-us-east-1」などを利用します。

これら物理的に離れた箇所にいくつものリージョンがあるのには、世界規模の災害対策としてシステムを分散させて運用することを目的にしているからです。

アベイラビリティゾーン

各リージョンには、複数のデータセンタがあります。

このデータセンタのことをAWSでは「アベイラビリティゾーン」と呼びます。

1つのリージョンには必ず複数のアベイラビリティゾーンがあり、その理由は耐障害対策のためです。

アベイラビリティゾーンは、物理的、電気的、ネットワーク的に隔離された施設で、特定のアベイラビリティゾーンで障害が発生しても、他のアベイラビリティゾーンには影響を及ぼさないように配慮されています。

アベイラビリティゾーンの名称は、リージョンコードの後ろに[a][b][c]の小文字をを付けたものになります。

先ほどの東京リージョンであれば、[ap-northeast-1-a][ap-northeast-1-c]の2つのリージョンが存在し、この2つのリージョンを利用することができます。

EC2インスタンスのようなVPCの中で稼働するリソースを扱う際には、どのアベイラビリティゾーン上に構成したネットワークに配置するのかを指定します。

また、よく使われるEC2やRDSといったサービスは、大抵はリソースを配置するときに、どのアベイラビリティゾーンに配置するのかを指定します。

したがって、S3やDynamoDBなどのVPCとは独立して稼働するサービスについてはリージョンのみの指定となります。

アベイラビリティを指定するのは、VPCが関連するEC2インスタンスなどのサーバリソース系のサービスになり、どのアベイラビリティゾーンに配置するかを明示的に決めることで、明示的に冗長性や負荷分散などの仕組みをコントロールすることができるのです。

障害耐性を高めるには、別のアベイラビリティゾーンにEC2を設置する

次回は、VPCの構築について紹介します。

この記事を書いた人

その他記事はこちら

櫻井 邦則

代表取締役

1982年生まれ。 趣味はブログとゴルフ。 ブログでは検索スコアを上げるために、ゴルフではスコアを下げるために日々奮闘しています。

その他記事はこちら

関連記事