はじめに
下記のような超基本的な問題をミスったので戒めとしてまとめます。笑ってください。
問題:
Amazon マシンイメージ(AMI)について正しく説明しているのはどちらか
- EC2インスタンスに安全に接続するための暗号鍵
- EC2インスタンスを起動するために必要な、OSやミドルウェアなどのテンプレート
- EC2インスタンス作成時に選択できるCPU、メモリ、ストレージ性能、ネットワークキャパシティーの組み合わせ
- EC2インスタンスから利用できる揮発性のブロックストレージ
この記事では以下を解説しています。
- Amazon マシンイメージ (AMI)
結論
上記の答えは2つ目です。
EC2インスタンスを起動するために必要な、OSやミドルウェアなどのテンプレート
解説
Amazon マシンイメージ(AMI)とは
AWSの公式ドキュメントでは以下のように説明されています。
Amazon マシンイメージ (AMI) は、Amazon EC2 インスタンスをセットアップして起動するために必要なソフトウェアを提供するイメージです。
引用: AWS: Amazon EC2 の Amazon マシンイメージ
しっかりと「ソフトウェア」って言及されていますね。
※私は「マシン」という言葉に完全に引っ張られてCPUとかメモリとかの3つ目を選択していました。
また、同じか所に以下の言及もあります。
AMI は、以下に基づいて指定します。
- リージョン
- オペレーティングシステム
- プロセッサアーキテクチャ
- ルートボリュームタイプ
- 仮想化タイプ
インスタンスタイプ
公式ドキュメントで以下の記述がありました。
インスタンスを起動するときは指定したインスタンスタイプによって、インスタンスに使用するホストコンピュータのハードウェアが決まります。インスタンスタイプごとに、コンピューティング、メモリ、およびストレージの機能が異なっており、これらの機能に基づいたインスタンスファミリーにグループ化されています。インスタンスタイプは、インスタンス上で実行するアプリケーションやソフトウェアの要件に基づいて選択します。
つまり、私が勘違いしていた「CPU、メモリ、ストレージ性能、ネットワークキャパシティーの組み合わせ」はインスタンスタイプの説明でした。
なお、AMIはインスタンスを起動するときに選択し、インスタンスタイプとの互換性を持つAMIを選択できるようになっています。
まとめ
- AMI: ソフトウェアテンプレート
- インスタンスタイプ: ハードウェアリソース
と覚えておくことにします。