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