EC2(Amazon Elastic Compute Cloud)
❓ Amazon EC2とは
Amazon EC2はクラウド上の仮想サーバーです。
Amazon Web Services の中でも最も人気の高いサービスの一つです。
EC2 = Elastic Compute Cloud
つまり EC2 は単一のサービスではなく、複数の機能を含む基盤サービスです。
EC2が含む主な機能
- 仮想マシンの利用(EC2)
- 仮想ディスクへのデータ保存(EBS)
- 負荷分散(ELB)
- Auto Scaling による自動スケール(ASG)
クラウドは「必要なときにコンピューティングを借りられる」ことが本質であり、EC2はその代表例です。
🧐 EC2のサイズ・設定オプション
EC2では用途に合わせて仮想マシンを自由に選択できます。
設定可能な項目
📋 EC2 User Data
EC2 User Dataとは、インスタンス起動時に実行されるスクリプトです。
初期設定の自動化に使用されます。
ブートストラップとは
マシン起動時にコマンドを自動実行すること。
初期設定を自動化するため「ブートストラップ」と呼ばれます。
起動時に自動化できる例
- OSアップデート
- ソフトウェアインストール
- ファイルのダウンロード
- 初期設定全般
※User Dataは初回起動時に1回だけ実行されます。
※root権限で実行されます。
※暗号化されないため、機密情報は保存しないこと。
✅ EC2 インスタンスタイプ
主なカテゴリ
- General Purpose(汎用)
- Compute Optimized(計算最適化)
- Memory Optimized(メモリ最適化)
- Accelerated Computing(GPUなど)
- Storage Optimized(ストレージ最適化)
命名規則例
m5.2xlarge
- m:インスタンスクラス
- 5:世代
- 2xlarge:サイズ
General Purpose
- Webサーバー
- アプリケーションサーバー
- バランス型ワークロード
Compute Optimized(C系)
CPU重視のワークロード向け
- バッチ処理
- メディア変換
- HPC
- 機械学習
- ゲームサーバー
Memory Optimized(R系)
大規模メモリ処理向け
- 高性能DB
- キャッシュ(Redis)
- BI用インメモリDB
- リアルタイムビッグデータ処理
Storage Optimized(I/D系)
高速I/O・大容量向け
- OLTP
- データウェアハウス
- 分散ファイルシステム
2. Security Groups
🛡️ Security Groupとは
EC2のファイアウォールです。
インスタンスの通信を制御します。
特徴
- 許可(Allow)ルールのみ
- IPまたは他のSG参照可能
- インバウンド/アウトバウンド制御
デフォルト動作
- すべてのインバウンド:拒否
- すべてのアウトバウンド:許可
重要ポイント
- 複数インスタンスに適用可能
- インスタンス1台に複数SG設定可能
- リージョン&VPC単位
トラブルシューティング
- タイムアウト → SG問題
- Connection refused → アプリ問題
🚢 重要ポート
- 22:SSH
- 21:FTP
- 22:SFTP
- 80:HTTP
- 443:HTTPS
- 3389:RDP
🔗 EC2 Instance Connect
ブラウザからEC2へSSH接続可能。
鍵管理不要で安全・簡単。
※Amazon Linux 2のみ標準対応
※ポート22は必要
3. EC2 購入オプション
主な種類
- On-Demand
- Reserved
- Savings Plans
- Spot
- Dedicated Hosts
- Dedicated Instances
- Capacity Reservations
EC2 On-Demand
- 使った分だけ支払い
- 長期契約なし
- 短期・予測不能ワークロード向け
EC2 Reserved Instances
最大72%割引(1年/3年)
- DBなど安定ワークロード向け
- Marketplaceで売買可能
Convertible RI
柔軟だが割引率低め(最大66%)
EC2 Savings Plans
時間単位で使用量を約束
RIと同等の最大72%割引
EC2 Spot Instances
最大90%割引
ただしいつでも停止される可能性あり。
向いている用途
不向き
Dedicated Hosts
物理サーバー専有
ライセンス・コンプライアンス向け
Dedicated Instances
専用ハードで実行
物理サーバー制御なし
Capacity Reservations
特定AZの容量予約
割引なし・確保が目的
🏖️ 例え(リゾート)
- On-demand:当日宿泊
- Reserved:長期予約
- Savings Plans:定額宿泊
- Spot:空室オークション
- Dedicated Host:ホテル貸切
- Capacity Reservation:部屋確保のみ
4. EC2 Spot Instance 詳細
Spot Request
最大価格設定 → 価格が下回れば起動
価格上昇時:2分猶予で停止可能
リクエスト種類
- One-time:一度のみ
- Persistent:中断後も再起動
停止手順
1. Spot Request取消
2. インスタンス終了
Spot Fleet
Spot + On-demand のセット。
最適な価格・容量を自動選択。
割当戦略
- lowestPrice
- diversified
- capacityOptimized
- priceCapacityOptimized(推奨)
Spot Fleetは自動で最安Spotを確保します。