LESSON 30分

コンピューティングサービス(EC2)

ストーリー

「中村製作所さんの現在のシステムは、社内に物理サーバーが3台ある。 Webサーバー、アプリケーションサーバー、データベースサーバーだ」

山田先輩がホワイトボードに構成図を描く。

「これらを AWS に移行する第一歩が EC2 だ。 EC2 は "Elastic Compute Cloud" の略で、要するに仮想サーバーのことだ」

「物理サーバーと比べて、何が違うんですか?」

「一番大きいのは、数分で新しいサーバーを立ち上げられることだ。 物理サーバーの調達には数週間かかるが、EC2 なら AWS CLI のコマンド一発だ。 さらに、不要になったらすぐに削除できる。使った分だけの課金だから無駄がない」


EC2 とは

EC2(Elastic Compute Cloud)は、AWS が提供する仮想サーバーサービスです。必要な時に必要な数のサーバーを起動し、不要になったら停止・削除できます。

EC2 の構成要素

EC2 インスタンス
┌───────────────────────────────┐
│                               │
│  ┌─────────┐  ┌─────────┐   │
│  │  vCPU    │  │ メモリ   │   │
│  │  (2core) │  │ (4GB)   │   │
│  └─────────┘  └─────────┘   │
│                               │
│  ┌─────────────────────────┐ │
│  │  EBS(ストレージ)         │ │
│  │  /dev/xvda: 30GB (gp3)  │ │
│  └─────────────────────────┘ │
│                               │
│  ┌─────────────────────────┐ │
│  │  ネットワーク              │ │
│  │  ENI: eth0               │ │
│  │  Private IP: 10.0.1.10   │ │
│  │  Public IP: 54.xx.xx.xx  │ │
│  └─────────────────────────┘ │
│                               │
│  OS: Amazon Linux 2023       │
│  AMI: ami-0abcdef1234567890  │
└───────────────────────────────┘

インスタンスタイプ

EC2 インスタンスは、用途に応じてさまざまなタイプが用意されています。

命名規則

m5.xlarge
│ │  │
│ │  └─ サイズ (nano, micro, small, medium, large, xlarge, 2xlarge...)
│ └──── 世代 (数字が大きいほど新しい)
└───── ファミリー (用途を表す)

主要なインスタンスファミリー

ファミリー用途特徴
t3 / t4g汎用(バースト)CPU クレジット制、小規模Web/テスト向けt3.micro, t3.small
m5 / m6i汎用(バランス)CPU・メモリが均等、標準的なワークロードm5.large, m6i.xlarge
c5 / c6iコンピュート最適化CPU性能重視、バッチ処理・科学計算向けc5.2xlarge
r5 / r6iメモリ最適化大容量メモリ、データベース・キャッシュ向けr5.xlarge
i3ストレージ最適化高速ローカルストレージi3.large

インスタンスタイプの選び方

サーバーの役割を確認
      │
      ├─ Web/アプリサーバー → t3 (小規模) / m5 (中〜大規模)
      │
      ├─ データベース → r5 (メモリ重視)
      │
      ├─ バッチ処理 → c5 (CPU重視)
      │
      └─ 開発/テスト → t3.micro〜t3.small (低コスト)

AMI(Amazon Machine Image)

AMI は EC2 インスタンスの起動テンプレートです。OS とプリインストールされたソフトウェアが含まれます。

主な AMI

AMI特徴
Amazon Linux 2023AWS 最適化、無料、AWS CLI プリインストール
Ubuntu Server広く使われている Linux ディストリビューション
Windows ServerWindows ワークロード向け
カスタム AMI自分の環境を元に作成した独自イメージ

EC2 の料金モデル

料金モデル説明割引率用途
オンデマンド使った分だけ時間課金なし検証、一時的な利用
リザーブドインスタンス1年/3年の契約で割引最大72%OFF常時稼働するサーバー
Savings Plans利用量をコミット最大72%OFF柔軟な割引
スポットインスタンス余剰キャパシティを割引最大90%OFF中断可能なバッチ処理

料金の見積もり例(東京リージョン)

t3.micro  (2vCPU, 1GB)  : 約 $0.0136/時間 ≒ 約 $10/月
t3.small  (2vCPU, 2GB)  : 約 $0.0272/時間 ≒ 約 $20/月
m5.large  (2vCPU, 8GB)  : 約 $0.124/時間  ≒ 約 $90/月
r5.xlarge (4vCPU, 32GB) : 約 $0.332/時間  ≒ 約 $240/月

キーペアと SSH 接続

EC2 にログインするには、キーペア(公開鍵/秘密鍵)を使います。

bash
# キーペアの作成
aws ec2 create-key-pair \
  --key-name my-key-pair \
  --query 'KeyMaterial' \
  --output text > my-key-pair.pem

# 権限の設定
chmod 400 my-key-pair.pem

# SSH接続
ssh -i my-key-pair.pem ec2-user@<パブリックIP>

EC2 のライフサイクル

       起動 (Launch)
          │
          ▼
      ┌────────┐    停止 (Stop)     ┌────────┐
      │ running │ ───────────────→ │ stopped │
      │ (実行中) │ ←─────────────── │ (停止)  │
      └────┬───┘    開始 (Start)    └────┬───┘
           │                             │
           │  終了 (Terminate)            │  終了
           ▼                             ▼
      ┌────────┐                   ┌────────┐
      │terminated│                  │terminated│
      │ (削除済) │                  │ (削除済) │
      └────────┘                   └────────┘

※ stopped の間は EBS の料金のみ発生
※ terminated にすると EBS も削除(設定による)

まとめ

ポイント内容
EC2 とはAWS の仮想サーバーサービス。数分でサーバーを起動可能
インスタンスタイプt3(汎用)、m5(バランス)、c5(CPU)、r5(メモリ)等
AMIOS とソフトウェアを含む起動テンプレート
料金モデルオンデマンド、リザーブド、スポット等。用途に応じて選択
接続方法キーペアを使った SSH 接続

チェックリスト

  • EC2 の基本概念を理解した
  • インスタンスタイプの命名規則と選び方を理解した
  • AMI の役割を説明できる
  • 料金モデルの違いを把握した
  • EC2 のライフサイクルを理解した

次のステップへ

次のセクションでは、AWS のオブジェクトストレージサービスである S3 を学びます。 ファイルの保存、静的Webサイトホスティング、バックアップなど幅広い用途で使われるサービスです。


推定読了時間: 30分