AWSの基礎 〜AWS学習の前提知識編〜

今回からAWSについて自分が学習した内容をoutputも兼ねてまとめていきたいと思います。本記事では実際のサービスの内容に入る前に、AWSの基礎的な情報をまとめたいと思います。なお、このシリーズでは実際に使うには各サービスをどのように使うのかといった手順等を扱うのではなく、網羅的にサービスを理解することでAWSのサービスの選択・運用を容易にできるようにすることを目的とします。
はじめに
今回はAWSの資格勉強を行ったので、そのアウトプットも兼ねてまとめていきたいと思います。このシリーズではあくまで概要を掴むためのものになるので、それぞれ詳細に説明をしていくというよりは自分が行いたいタスクに対してどのサービスが必要かといったことがわかる、あるいはサービスの名前を言われた時にそれがどのようなもので何をしているのかということがわかるということを目標としていきます。
また、概要を掴むことを目的としているため、ある種の曖昧さを含んでいる可能性が高い(筆者も完全な理解とは程遠い)です。本記事を導入として、詳細は各個々人で調べていただければと思います。
それでは、さっそく始めましょう。まず第1回目の今回はAWSのシステム概要からです。
クラウド環境とは
まず、AWSとは何かという問いに対して端的に答えればAmazonの提供するクラウドコンピューティングサービスと説明することになるでしょう。では、クラウドコンピューティングとは何なのか。端的に言えば、インターネットを経由して膨大なリソースを持った複数のマシンの集合体を複数の個人や企業で共同利用する環境そのものをさします。そして、これを提供するサービスこそがAWSをはじめとしたクラウドコンピューティングサービスなのです。
これに対抗する概念としてオンプレミス環境があります。これは、基本的にその環境を構築した企業のみが使用する、「普通の」環境ということになります。
なお、実際にはクラウド環境を成立させるために仮想化をはじめとした技術が伴いますが、AWSのサービスを使う上で意識することはほとんどないので、今回は飛ばすことにします。
クラウドvsオンプレミス
クラウドの利点
さて、使用するユーザーの形の違いだということを把握した上で、クラウド環境は何が素晴らしいのかという話に移ります。よく挙げられるのは以下のような点でしょうか。
- 環境の構築の手間がほとんどない
- システムの耐障害性
- 幅広いシステムを効率よく構築可能/システムの拡張性
- コスト・サービスの最適化
前半2つの要素はいうまでもなく、サービスの基盤をクラウドを提供する側が用意することによりユーザーは意識する必要がなくなるということです。耐障害性は分け合っているリソース全体のサイズが大きく、提供する側で冗長化することで多くの場合担保されます。
残る2点についてはいずれも、多くのユーザーが膨大なリソースを分け合っていることによって、その分配を変えることができるという点に由来しています。分配を変えるだけのため、どのようなサービスをどれだけの規模感で使用するのかを簡単に変えられることになりますから、拡張性は高く、同時にコストやシステムは最適化可能ということになります。
クラウドの欠点
多くのメリットがある一方、欠点も当然存在します。それは多くの場合、運用がクラウドの提供者依存となることです。
例えば何かトラブルに対応する際、オンプレミス環境であれば柔軟に対応すれば良いですが、クラウド環境では自社のみで処理できないことが多々あります。また、そもそもトラブルに巻き込まれるリスクがクラウドの環境のセキュリティに依存しますし、場合によっては環境が構築するシステムを限定する要因となってしまう可能性も考えられます。
欠点と利点のバランスを見てどちらを使用するかを考えましょう。
AWSのサービスの概観
AWSのサービスの実体(物理マシン)を考える上で、3つの単位があります。その規模が小さい順に以下の3つです。
- データセンタ
- アベイラビリティ・ゾーン (Availability Zone, AZ)
- リージョン (Region)
データセンタ
複数のサーバーの集合体です。それぞれの機器がどのようなことを行なっているのかは同じではありませんが、これ単位で実際の物理的なコンピュータが集まっているイメージです。
AZ
複数のデータセンタの集合です。地理的な距離が近い複数のデータセンタで構成されているものと考えればいいです。イメージはデータセンタが建物であり、距離の近い複数の建物をまとめてAZとみなしているイメージになります。
リージョン
文字通り、異なる地域を指します。複数のAZと外部とのやり取りを司るトランジットと呼ばれるデータセンタで構成されます。AZ間は冗長化されたネットワークを構築しており、その内部でやり取りされますが、リージョンを出た通信の場合には必ずトランジットを経由することになります。つまり、インターネットを経由せずに互いにやり取りできる領域がリージョンとなります。
終わりに
さて、実はAWSの種々のサービスの概要を掴む上で必要な事前知識はこの程度でいいかと思います。今後、サービスについて理解する中でサービスがどのようなシステムの中で運用されているのかをイメージしながら学習するとわかりやすいと思います。