Amazon EC2

AWS が提供するクラウド上の仮想サーバーサービスで、数百種類のインスタンスタイプから用途に最適な構成を選択し、数分でサーバーを起動できる

概要

Amazon Elastic Compute Cloud (EC2) は、AWS のクラウドコンピューティングの中核を担うサービスです。物理サーバーを購入・設置する必要なく、ブラウザや CLI から仮想マシン (インスタンス) を即座に起動できます。汎用、コンピューティング最適化、メモリ最適化、ストレージ最適化、高速コンピューティングなど数百種類のインスタンスタイプが用意されており、Web アプリケーションのホスティングから大規模なデータ処理、機械学習モデルのトレーニングまで幅広いワークロードに対応します。オンデマンド、リザーブドインスタンス、スポットインスタンスの 3 つの料金モデルを組み合わせることで、コストを最適化できます。

Nitro System とインスタンスファミリーの選び方

EC2 は AWS 独自の Nitro System 仮想化基盤の上で動作します。Nitro System はネットワーキング、ストレージ、セキュリティの処理を専用ハードウェアにオフロードし、ホスト OS のオーバーヘッドを極限まで削減することで、ベアメタルに近いパフォーマンスを引き出します。インスタンスファミリーは用途別に大きく 5 系統に分かれ、汎用 (M 系)、コンピューティング最適化 (C 系)、メモリ最適化 (R 系)、ストレージ最適化 (I/D 系)、高速コンピューティング (P/G 系) から選択します。たとえば Web アプリケーションなら M 系、科学計算やエンコード処理なら C 系、インメモリキャッシュや大規模 DB なら R 系が適しています。Graviton プロセッサ搭載インスタンス (末尾 g) は x86 比で最大 40% のコストパフォーマンス向上を実現しており、ARM 互換のワークロードであれば第一候補になります。Azure Virtual Machines にも同様のファミリー分類がありますが、ARM ベースの選択肢は限定的で、Graviton ほどの価格優位性を持つシリーズは現時点では提供されていません。

オンデマンド・リザーブド・スポットの料金設計

EC2 の料金モデルは 3 つの柱で構成されます。オンデマンドは秒単位の従量課金で、予測不能なワークロードや短期利用に向きます。リザーブドインスタンスは 1 年または 3 年の契約で最大 72% の割引が適用され、常時稼働するベースライン分のコスト削減に有効です。スポットインスタンスは AWS の余剰キャパシティを最大 90% 割引で利用でき、中断されても問題ないバッチ処理やデータ分析に適しています。スポットの中断通知は 2 分前に届くため、チェックポイントの保存やジョブの引き継ぎに十分な猶予があります。実務では、本番環境のベースラインにリザーブド、トラフィック急増時の Auto Scaling にオンデマンド、耐障害性のあるバッチ処理にスポットを組み合わせるのが定石です。クラウドサーバー構築の書籍 (Amazon) では、こうした料金戦略の詳細が体系的にまとめられています。

Auto Scaling と配置戦略

EC2 の真価は Auto Scaling グループとの組み合わせで発揮されます。ターゲット追跡スケーリングポリシーを設定すれば、CPU 使用率やリクエスト数などのメトリクスに連動してインスタンス数が自動的に増減します。複数の AZ にまたがる配置を指定することで、1 つの AZ に障害が発生してもサービスを継続できます。起動テンプレートで AMI、インスタンスタイプ、セキュリティグループ、ユーザーデータを定義しておけば、スケールアウト時に一貫した構成のインスタンスが自動起動します。EBS ボリュームをアタッチすれば永続的なブロックストレージを利用でき、インスタンスストアを使えば NVMe SSD による高速な一時ストレージも活用できます。GPU インスタンス (P5, G5) で機械学習のトレーニングや推論を実行したり、HPC 向けの Hpc6a で高性能計算を処理したりと、インスタンスタイプの選択次第で幅広いワークロードに対応できます。

共有するXB!