EC2はクラウド上で簡単に仮想サーバーを立ち上げることのできるウェブサービスです。__『インスタンス』__という単位でサーバーが管理されています。
###メリット
- 数分でサーバーを立ち上げることができる(オンプレの場合、サーバーの調達等を含めて数ヶ月)
- 必要なときに必要な数だけサーバーを用意できる(水道、ガス、電気のようなイメージ)
EC2を起動する際には、元となるイメージを選択してインスタンスを作成しますが、そのイメージのことを__『Amazon Machine Image(AMI)』__と呼びます。
EC2の性能はサーバーを立ち上げる際の__『インスタンスタイプ』__というもので決まります。
インスタンスタイプは__『c5.large』、『r5.2xlarge』__のように表され、様々なユースケースに最適化された幅広いタイプが提供されています。
- 汎用
- コンピューティング最適化
- メモリ最適化
- 高速コンピューティング
- ストレージ最適化
詳しくは__『Amazon EC2 インスタンスタイプ』__
EC2のインスタンスには__『Running(起動中)』、『Stopped(停止中)』、『Terminated(削除済み)』__の3つの状態があります。
基本的にEC2自体の料金は、
- Running(起動中)時間
- インスタンスタイプ
- AMI
- サーバーを立ち上げるリージョン(地域)
によって決まります。
しかし、EC2を停止させてもそれに結びついている__『EBS(ブロックストレージサービス)』については料金が発生します。また、IPアドレスを固定化するための『Elastic IP』__を取得していながら、EC2インスタンスに紐づけていないと別途料金が発生するため注意が必要です。
詳しくは__『Amazon EC2 の料金』__
上記の料金形態は__『オンデマンドインスタンス』という必要なときに使った分だけ料金を支払うという料金形態でしたが、『より安くAWSを使いたい!!』という場合に『スポットインスタンス』と『リザーブドインスタンス』__を使用するといった選択肢があります。
###スポットインスタンス
__『余っているEC2リソース』を入札形式で安く使用できる形式です。しかし、同じインスタンスタイプのリクエストが増え、余剰なリソースがなくなるとインスタンスが『自動的に停止』されてしまうというリスクがあります。したがって、長期利用ではなく『一時的にスペックの良いインスタンスを安く使いたい』__という場面では良い選択肢の1つになります。
###リザーブドインスタンス
『長期割引』のことです。オンデマンドインスタンスと比べて『最大75%OFF』の価格で、EC2を利用できます。スタンダードタイプですと『1年間または3年間』の期間を選択できます。__『サービスリリース後にインスタンスタイプを固定したい』__という場面で使うと費用をかなり抑えることができます。
リリースしたサービスの人気が出て__『スケールアップ(サーバーの質をあげる)』の限界を迎えた場合や、『単一障害点(SPOF)』を無くす設計をする際に用いられるベストプラクティスが『スケールアウト(サーバーを複数用意する)』です。スケールアウトをする際に『ELB』__を利用することで、リクエストを各インスタンスに分散させることができます。
###特徴
-
自動分散 : ELBは、アプリケーションへのトラフィックを複数のターゲット (Amazon EC2 インスタンス、コンテナ、IP アドレス、Lambda 関数など) に自動的に分散します。
-
ヘルスチェック : 設定された間隔で配下のEC2にリクエストを送り、各インスタンスが正常に動作しているかを確認する機能です。
#Auto Scaling
システムの利用状況によって、ELBに紐付くインスタンスの数を自動的に増減させる機能です。
- 最小インスタンス数
- 最大インスタンス数
- インスタンスを増やす条件
- インスタンスを減らす条件
などを設定することにより、繁忙期や閑散期に自動的にリソースを最適化できます。
#リファレンス