AWSとかクラウドって、つまり物質的にいう実体は何なのか
目次
こんにちは。
AWSについて勉強しています。
今回はAWSのクラウドって結局何を指していてどういう構造になっているのか、についてまとめてみます。
そもそもAWSって何?という方はこちらの記事を御覧ください。
このブログではふわっとした言葉を極力なくして、わかりやすく伝えていこうと思います。
クラウドって何だ
クラウドって英語で書くとCloudで、雲って意味ですよね。
クラウドコンピューティングとか、ITの用語としてよく使われてますが、
雲の上にあるコンピュータ、というわけではなく、実物は普通に地上に置いてあるコンピュータ、パソコンです。
それをあたかも雲の上にあるかのようなイメージで使うからクラウドと呼ばれてるようです。
実態は、インターネットという世界的に決められたルールに基づいて個人のパソコンから繋がっている電線(や電波)を辿った先にあるたくさんのパソコンがある状態です。
コンピュータのプログラムというのは、ゲームなどのアプリケーションであれ顧客情報データベースであれ、1台のパソコンで処理するよりも多くのパソコンで処理したほうが効率がよいものです。また、保管する場所も1台のパソコンについているハードディスクよりも、大量で巨大なハードディスクがあったほうがよさそうですよね。
こういった巨大なパソコンを個人もしくはある会社規模で用意するのではなく、インターネットからアクセスできる場所から借りることで、場所も取らないけどサイズが好きなだけ選べて、どこからでもアクセスできる、という恩恵を得ることができます。これがクラウドコンピューティングですね。
このような自由で実体がないかのように使える巨大でフワフワしたイメージから、雲という名前がつけられたのかもしれません。
あえて実体は何かというと、インターネットに繋がっているサーバーの集まりです。
サーバーって何だ
先程も書いたように、インターネットの先にはたくさんのコンピュータがネットワークで繋がっている状態です。
よくサーバーとかいう言葉をきくかもしれませんが、これがネットワークで繋がっているパソコンのことですね。
パソコンからのリクエストをサーブ(serve)する人なので、サーバーといいます。
どんなリクエストかというと、あのwebサイトのページを表示してくれ〜とか、注文してくれた顧客のデータを保存しておいてくれ〜とか、色々です。
サーバーと言うと特殊な何者かのような気がしますが、ただのパソコンと同じもので、たとえば上に書いたようなリクエストをさばく専用のプログラムが組み込まれているだけです。
さばくリクエストの種類、つまり処理するプログラムの種類を区別するときには、webアプリケーションサーバーとか、データベースサーバーとか呼び分けられますが、これらはインストールしてあるプログラムの違いなので、物体としては同じパソコンのようなコンピュータです。
物体としてのイメージをもう少し具体的にしていくと、サーバーは一般的にイメージするパソコンと同じように、CPUや、メモリや、HDDがついていたりするものです。
ただ、クラウドで使われるサーバーは大量に置かれるので、一台一台はネットワークを通じて操作したり状態を調べたりできるようにしてあるのが普通です。なのでサーバーはディスプレイやキーボードやマウスといった、人が操作するための装置はついてない場合は多く、箱のようなルックスをしてます。
サーバーが保管されている場所をデータセンター(DC)とか言ったりしますが、そこの中は巨大な空間に大量の箱が並んでいるような景色のはずです。実際に見たことはないですが、よく映画やドラマでもそのような光景が出てきますね。
このようなネットワークで繋がっているたくさんのサーバーがリクエストに対してお仕事をしてくれることで、クラウドが成り立っているんですね。
AWSクラウドの正体
さて、クラウドの正体がなんとなくわかったところで、いよいよ本題ですが、AWSはどのような構造でクラウドを実現しているのでしょうか。
先ほども書いたように、クラウドの実体はサーバーで、大量のサーバーを管理するために、データセンターがあります。AWSも例外ではなく、データセンターに大量のサーバーがあり、それがAWSクラウドの正体です。
どこにあるの? それは公開されてないようです。攻撃されたら大打撃ですからね。公開されていないことが、安心材料であり、顧客に提供している価値の一つなので、しょうがないです。詮索しないようにお察ししましょう。
ざっくりとであれば、どこにあるかわかります。それがAWS的な呼び方でいうとリージョンです。
リージョンとは
世界にあるAWSの拠点です。
日本には東京と大阪の2箇所があり、世界では25箇所あります。
大阪はここ1ヶ月くらいでオープンした新リージョンですね。
さすが天下のITを司るAWS、このご時世に徐々に規模が拡大してきています!
拠点っていうとまたふわっとしてるので、もっと詳しく見ていきましょう。リージョンという拠点を構成しているのは2つ以上のアベイラビリティゾーン(AZ)という概念です。
アベイラビリティゾーン(AZ)とは
複数のデータセンターの集まりです。
一応、2つなくともデータセンターが1つ以上あればAZと呼んでいるようです。
AZは全リージョン合わせて、世界に80以上あるようですね。
ちなみに同一のリージョン内では、AZ同士が2ミリ秒以内に通信できるようです。AWSでは自由にリージョンを選んでサーバーを立てたりサービスを利用できますが、なるべく同じリージョン内でサービスを利用して通信させることが効率がよいということですね。
また、複数のAZを利用することで、災害・障害対策になります。データセンターが一箇所に集まっていると、その地域が地震などの災害をうけてサーバーが壊滅した場合、そのリージョンのサービスがすべて使えなくなってしまうというリスクになるからですね。
AWSは耐障害性を高めるために、同じリージョンに複数のAZ、つまりデータセンターの集まりを用意しているということですね。
エッジロケーション
AZと似た概念で、エッジロケーションと呼ばれているものがあります。
これもAZと同様に正体はデータセンターですが、様々なサービスを提供しているサーバー郡というわけではなく、ある特別な役割を担っているサーバーたちです。
その役割がなにかというと、キャッシュサーバーです。
キャッシュサーバーって何だって話ですが、要は頻繁にアクセスされる情報を溜めておける中継地点です。
リージョンは世界中にあると言っても、世界に25箇所なので、全世界からのアクセスがその25箇所に集中するというのは、通信速度やキャパシティの観点からも、あまり効率的ではないようです。
これを効率化するために、頻繁に使う情報は、もっといろんなところに置いておいて、それぞれの地域から素早くアクセスできるようにした方がいいんじゃない?という考えに基づいて作られたものが、キャッシュサーバーです。
現在は、46カ国に合計225箇所あるようです。
もちろん、アクセスはこの46カ国以外からでもできます(遅くなるとは思います)が、効率とかコストとか色々考えて、現在このように配置されているのでしょうね。
ちなみにこのエッジロケーションはAWSのCloudFrontというサービスによって、わりと自由に使いこなせるようになっています。(これはまた別の記事で。)
まとめ
というわけで、クラウドとは何か、その実体であるサーバーとは何か、
そして、AWSのクラウドを構成しているサーバーがどこにどれくらいあるものか、という情報をまとめてみました。
これでAWSの実体が何で今どうなっているかというイメージが湧くのではないかな〜と思います。
これからもAWSについて勉強したことをまとめていきますので、参考にしていただけたら幸いです。
参考記事
日々インフラが進化しているようです。最新情報はこちらで。