本文へスキップ
BecomeCoder

AWSコース · 第3章 コンピューティング · レッスン14

AMIとインスタンスタイプ ― 何を・どんな性能で動かすか

導入

EC2インスタンスを起動するとき、「どのOS・ソフトで動かすか」と「どれくらいの性能にするか」を決める必要があります。それぞれAMIとインスタンスタイプという2つの設定で選びます。

説明

AMI(Amazon Machine Image)は、OS・インストール済みソフト・各種設定をひとまとめにした「テンプレート」です。AMIから複数のインスタンスを起動すると、まったく同じ環境のサーバーを何台でも複製できます。自分でカスタマイズしたAMI(ゴールデンイメージ)を作っておけば、同じ構成のサーバーを一瞬で量産できます。

graph LR
  ami["AMI(テンプレート)"] --> i1["インスタンス1"]
  ami --> i2["インスタンス2"]
  ami --> i3["インスタンス3"]

インスタンスタイプは、CPU・メモリ・ネットワーク性能などの「性能のセット」です。用途別に系統が分かれています。

系統記号例得意なこと
汎用t, mバランス型。Webサーバーなど幅広い用途
コンピューティング最適化cCPU性能重視。バッチ処理・機械学習の推論など
メモリ最適化r, xメモリ重視。大規模データベース、インメモリ処理
ストレージ最適化i, d高速・大容量ディスクI/O重視
GPUインスタンスp, g機械学習の学習、グラフィックス処理

インスタンスタイプの名前(例 m5.large)は、次のように読み解けます。

m5.large
│ │  └── サイズ(large = 中くらい。small/medium/large/xlarge…と大きくなる)
│ └── 世代(5世代目。数字が大きいほど新しい世代)
└── ファミリー(m = 汎用)

具体例

急成長中のWebサービスで、10台のWebサーバーを同じ構成でそろえたいとします。1台ずつ手作業でセットアップすると、設定のズレやミスが必ず起きます。

そこで、1台を完璧にセットアップしてから、その状態を丸ごとカスタムAMI(ゴールデンイメージ)として保存しました。あとはそのAMIから起動するだけで、まったく同じ環境のサーバーが何台でも数分で複製できます。Auto Scalingで増える新サーバーも、このAMIから生まれるので構成が揃います。

インスタンスタイプは役割で選び分けます。

  • Webサーバーはバランス型で十分なので汎用の m5.large
  • 大量のデータをメモリに載せる分析用DBは、メモリ最適化の r5.xlarge
  • 画像認識モデルの学習には、GPU付きの g5 系

「同じ環境を量産=AMI」「役割に合った性能=インスタンスタイプ」を、この量産シーンで結びつけて覚えましょう。

読んでみよう

「何のソフトで動かすか=AMI」「どれくらいの性能で動かすか=インスタンスタイプ」という役割分担を覚えておきましょう。名前の読み方(ファミリー・世代・サイズ)は実務でもよく出てきます。

次のレッスンへ →