AWSの基礎 〜Part2: コンピューティングサービス〜

AWSの主要サービス紹介2回目の今回は、コンピューティングサービスについて紹介します。クラウド環境上でホストを作る際に必要になるサービスです。
目次
はじめに
前回、AWSのクラウド環境でネットワークを作成する方法についてご説明しました。長くなってしまうので今回と次回に分けて、そのネットワークの構成要素の1つであるサーバの作成方法とストレージサービスについて説明します。まず、サーバを作成するサービスについて今回は紹介します。
サーバとストレージについて
サーバとは端的に言えば大きなPCのようなものと思って良いです。PCのようにそれ上でプロセスを回して使用することもできれば、アプリケーションの実体として動かすことも可能です。これらの作成を補助するサービスがコンピューティングサービスです。
一方で、ストレージとはデータを保持しておく部分に当たります。PCで言えばハードディスクやSSDがこれにあたり、外付けの記憶領域を提供するサービスです。後述しますが、ストレージはデータの保存方法から3種類に分類することが可能で、それぞれ対応するサービスがあります。
このように、PCのように振る舞うサーバとストレージは、クラウド環境の基本的な構成要素となります。今回はコンピューティングサービスからEC2とAuto Scalingを紹介し、ストレージサービスからS3、EBS、EFSをpart3で紹介します。
EC2
仮想的なサーバを作成するサービスです。作成されたサーバをインスタンスと呼び、主に以下の内容を指定してインスタンスを作成することになります。
- ・インスタンスタイプ
- ・オプション
- ・インスタンスに割り当てるストレージ・セキュリティグループの設定
- ・プレースメントグループの設定
インスタンスタイプ
端的に言えば、そのマシンの持つ性能を表します。インスタンスタイプはインスタンスファミリー、世代とそのオプション、そしてインスタンスサイズという3つの要素を合わせたものです。例えば、M5a.24xlargeというインスタンスタイプであれば、Mというインスタンスファミリーの5aという世代(とそのオプション)でxlargeというサイズのマシンであるということです。ここでは、それぞれの意味について紹介することはしませんが、用途に合わせて選択しましょう。
オプション
インスタンスごとに設定できるオプションとして、リソースをどのように使用するかを指定できるハードウェア専有オプションがあります。通常、クラウド環境ではユーザーの意識している「マシン」と物理的なマシンは必ずしも一致せず、同じリソース上で複数のインスタンスが動いている状態が起きます。
これは柔軟性を与える大きな利点となりますが、一部のソフトウェアではライセンスの関係から問題になることがあります。これを解消し、そのインスタンスに割り振るリソースに条件を与えるオプションがハードウェア専有オプションです。
その専有度合いに応じて以下のような2種類が存在します。

インスタンスに割り当てるストレージ・セキュリティグループ・などの設定
ここでは詳しくは説明しません(セキュリティグループについてはpart1を参照)が、既存のサービスに対して作成したインスタンスがどれに属するのかを決定していきます。
何回か後に別途解説しますが、別のサービスに対してインスタンスがアクセスすることになるのでインスタンスへの権限付与が必要です。リソースに対しての権限付与なのでIAMロールと呼ばれるものを使用します。
プレースメントグループの設定
プレースメントグループとはEC2を物理的にどう配置するかを決定するものになります。以下の3種類があります。
- ・Cluster: 単一のAZに物理的に近くなるように配置
- ・Spread: EC2インスタンスは別々のハードウェアに分散して配置
- ・Partition: パーティション数を指定し、EC2インスタンスを別々のハードウェアに分散させながら同一のパーティション内では低レイテンシになるように配置
Auto Scaling
ここまでで説明したEC2と併せて、よく使用されるのがAuto Scalingです。このサービスは無料で負荷や故障を検知することでスケーリングを行います。
特にEC2インスタンスを対象としてスケーリングを行うEC2 Auto Scalingでは以下のようなスケーリング方法を指定することで、ニーズに合わせた動的なスケーリングや異常検知・障害耐性の付与を行うことができます。
- ・インスタンスの最小数の維持
- ・動的なスケーリング
- ・静的なスケーリング
- ・予測を用いたスケーリング
- ・定期的なスケーリング
終わりに
今回はAWSサービスにおけるサーバの作成方法についてご紹介しました。クラウド上でPCを組み立てているようなイメージになります。システムの重要な構成単位ですので理解すると良いでしょう。
次回は、ストレージサービスについて紹介します。併せて使用されることも多いので、押さえておきましょう。