EC2とは

# EC2とは

**EC2**は「Elastic Compute Cloud」の略です。その名の通り、**「伸縮自在な（Elastic）」計算資源（Compute）をクラウド（Cloud）上で提供するサービス**を意味します。

物理的なサーバーを購入したり、データセンターを構築したりすることなく、数分で仮想サーバー（「インスタンス」と呼びます）を起動し、必要に応じてスペックを柔軟に変更したり、数を増やしたり減らしたりすることができます。

## 目次

* EC2インスタンス
* Amazon マシンイメージ (AMI)
* インスタンスタイプ
* EBS (Elastic Block Store)
* セキュリティグループとネットワークACL
* キーペア
* 弾力的なIPアドレス (Elastic IP アドレス)
* 料金モデル（オンデマンド、リザーブドインスタンス、スポットインスタンス）
* ロードバランシング（ELB）とAuto Scaling

## EC2インスタンス：クラウド上の「仮想サーバー本体」

「**EC2インスタンス**」は、AWSクラウド上に起動される仮想サーバーの単位です。Linux、Windows Serverなど、様々なOSを選択して起動できます。

ウェブサーバー、アプリケーションサーバー、データベースサーバーなど、あらゆる用途で利用できます。

## Amazon マシンイメージ (AMI)：インスタンスの「ひな形」

「**Amazon マシンイメージ (AMI)**」は、EC2インスタンスを起動するための「ひな形」となるテンプレートです。OS、アプリケーションサーバー、アプリケーションなど、必要なソフトウェアが事前に設定されたイメージとして提供されます。

AWSが提供するAMI（Amazon Linux 2 AMIなど）、AWS Marketplaceから提供されるAMI、自分で作成したカスタムAMIなど、様々な種類があります。AMIを選ぶことで、インスタンス起動後すぐに開発や運用を開始できます。

## インスタンスタイプ：サーバーの「性能」を決める

「**インスタンスタイプ**」は、EC2インスタンスのCPU、メモリ、ストレージ、ネットワーク性能といったハードウェア構成を定義するものです。利用するアプリケーションの要件に合わせて、最適なインスタンスタイプを選択します。

例えば、ウェブサーバーなら「Tタイプ」（汎用・バースト可能）、大量の計算が必要なら「Cタイプ」（コンピューティング最適化）、大量のメモリが必要なら「Rタイプ」（メモリ最適化）など、様々なタイプがあります。

## EBS (Elastic Block Store)：インスタンスの「外付けハードディスク」

「**EBS (Elastic Block Store)**」は、EC2インスタンスにアタッチして利用する、永続的なブロックストレージです。EC2インスタンスが停止または終了しても、EBSボリュームに保存されたデータは保持されます。

例えるなら、EC2インスタンスがPC本体で、EBSはPCに接続する外付けハードディスクのようなものです。データを永続的に保存したい場合や、インスタンスのOSやアプリケーションデータを保存するのに利用されます。

### EBSスナップショット

EBSボリュームの特定時点の状態をS3にバックアップするのが「**EBSスナップショット**」です。これにより、データの破損や誤操作があった場合でも、以前の状態に復元することができます。

## セキュリティグループとネットワークACL：インスタンスとサブネットの「防火壁」

EC2インスタンスへのアクセスを制御するために、VPCのセクションでも触れた「セキュリティグループ」と「ネットワークACL (NACL)」を利用します。

* **セキュリティグループ**：**インスタンスレベル**でトラフィックを制御するステートフルなファイアウォールです。
* **ネットワークACL (NACL)**：**サブネットレベル**でトラフィックを制御するステートレスなファイアウォールです。

これらを適切に設定することで、不正なアクセスからEC2インスタンスを保護し、セキュリティを強化します。

## キーペア：インスタンスへの「鍵」

「**キーペア**」は、EC2インスタンスに安全に接続するための認証情報です。公開鍵と秘密鍵のペアで構成され、インスタンス起動時に公開鍵をインスタンスに配置し、秘密鍵はユーザーが安全に保管します。

SSHクライアントなどでEC2インスタンスに接続する際に、この秘密鍵を使って認証を行います。

## 弾力的なIPアドレス (Elastic IP アドレス)：固定の「公開IPアドレス」

「**弾力的なIPアドレス (Elastic IP アドレス)**」は、AWSアカウントに割り当てられ、EC2インスタンスに紐付けることができる固定のグローバルIPアドレスです。

通常、EC2インスタンスを停止・起動すると、割り当てられているパブリックIPアドレスは変更されてしまいます。しかし、Elastic IPアドレスを関連付けておけば、インスタンスの停止・起動にかかわらず、常に同じIPアドレスでアクセスできるようになります。これにより、ドメイン名と紐付けて安定したサービス提供が可能になります。

## 料金モデル：利用状況に合わせた「最適な支払い方」

EC2には、様々な料金モデルがあり、利用状況に合わせてコストを最適化できます。

* **オンデマンドインスタンス**：時間単位または秒単位で料金が発生する、最も柔軟な料金モデルです。急な需要や開発・テスト環境など、予測不能なワークロードに適しています。
* **リザーブドインスタンス (RI)**：1年または3年の期間で利用をコミットすることで、オンデマンド料金よりも大幅に割引される料金モデルです。継続的に利用する安定したワークロードに適しています。
* **スポットインスタンス**：AWSの余剰キャパシティを非常に安価に利用できる料金モデルです。入札価格を設定し、市場価格よりも安価な場合に利用できます。ただし、AWSがキャパシティを必要とする場合は、2分前通知でインスタンスが停止される可能性があります。柔軟なワークロードやバッチ処理など、中断されても問題ない処理に適しています。

## ロードバランシング（ELB）とAuto Scaling：高可用性と自動的な拡張

EC2インスタンスを単体で利用するだけでなく、これらの機能と組み合わせることで、システムの高可用性とスケーラビリティを向上させることができます。

* **Elastic Load Balancing (ELB)**：複数のEC2インスタンスにトラフィックを分散させるロードバランサーです。インスタンスの負荷を均等にし、特定のインスタンスに障害が発生してもサービスを継続できるようにします。
* **Auto Scaling**：定義した条件（CPU使用率など）に基づいて、EC2インスタンスの数を自動的に増減させる機能です。需要の変動に合わせてリソースを最適化し、コスト削減と安定稼働を両立させます。

### まとめ

EC2は、AWSクラウド上でアプリケーションを動かすための基盤となる、まさに「心臓部」のようなサービスです。仮想サーバーを自由に立ち上げ、必要な性能を選択し、セキュリティや可用性を考慮しながら、様々な用途に対応できる柔軟性を持っています。