導入
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サーバーなど幅広い用途 |
| コンピューティング最適化 | c | CPU性能重視。バッチ処理・機械学習の推論など |
| メモリ最適化 | r, x | メモリ重視。大規模データベース、インメモリ処理 |
| ストレージ最適化 | i, d | 高速・大容量ディスクI/O重視 |
| GPUインスタンス | p, g | 機械学習の学習、グラフィックス処理 |
インスタンスタイプの名前(例 m5.large)は、次のように読み解けます。
m5.large
│ │ └── サイズ(large = 中くらい。small/medium/large/xlarge…と大きくなる)
│ └── 世代(5世代目。数字が大きいほど新しい世代)
└── ファミリー(m = 汎用)
読んでみよう
「何のソフトで動かすか=AMI」「どれくらいの性能で動かすか=インスタンスタイプ」という役割分担を覚えておきましょう。名前の読み方(ファミリー・世代・サイズ)は実務でもよく出てきます。