「ゴールデンイメージ」という言葉
SAAの資格勉強をした人なら一度は目にしたことがあるはずの言葉。
個人的な話ですが、SAA勉強中はAWSの運用に関する知識や経験がゼロの状態だったため、
ゴールデンイメージ、AMI、起動テンプレート あたりの理解がごっちゃになっていました。
私はCLF→SAA→SOAと取得して現在DVA取得に向けて勉強中なのですが、SAA取得以降ゴールデンイメージという言葉は見かけず、代わりにAMIや起動テンプレートがよく出現します。
最近「あれ結局なんだったんだ」と思い出したので、改めて調べてわかったことをまとめます。
AWS公式ドキュメントを見る
ゴールデンイメージは、多くのデバイスをフラッシュまたはプロビジョニングするために使用されるソフトウェアのスナップショットです。既に使い慣れている他のドメインのゴールデンイメージの例をいくつか示します。
...
ということで、どうやらゴールデンイメージというのはAWSの専門用語ではなく、一般に用いられる概念を表す言葉のようですね。
要は、「標準化された、そのまま複製やデプロイが可能なソフトウェアの完全なスナップショット」という一般的なIT概念を指すのが、ゴールデンイメージなのです。Gemini曰く、大量生産のためのクッキーの型に例えられるらしい🍪
そして、このゴールデンイメージという概念をEC2インスタンス向けに具現化したAWSリソースの名前が、みなさんご存じAMI。そして、AWSにおけるゴールデンイメージはAMIを指すことが多いです。
(EC2ではAMIを使用しますが当然他のケースもあり、こちらのドキュメントではGreengrassでのゴールデンイメージ作成例が説明されています)
AMIとは
Amazon Machine Imageの略。
Amazon EC2のAmazonマシンイメージ
Amazon マシンイメージ (AMI) は、Amazon EC2 インスタンスをセットアップして起動するために必要なソフトウェアを提供するイメージです。各 AMI にはブロックデバイスマッピングも含まれています。このマッピングで、起動するインスタンスにアタッチするブロックデバイスを指定します。インスタンスを起動するときは、AMI を指定する必要があります。この AMI には、インスタンスに選択したインスタンスタイプとの互換性が必要です。AWS が提供する AMI、パブリック AMI、他のユーザーと共有する AMI、AWS Marketplace から購入した AMI を使用できます。
つまりどういうことでしょうか。
Q1. 具体的にAMIはどういう情報を保持するの?
A. OS、アプリケーション、設定ファイルといったインスタンスの初期状態。そして、それらが保存された一つ以上のEBSスナップショットID、インスタンスのブロックデバイスマッピング、CPUアーキテクチャなどの情報がセットになったものです。
Q2. EC2の起動って実際どうやってるの?
A. 使用するAMI、インスタンスタイプ、キーペア、セキュリティグループ、ユーザーデータ(起動スクリプト)、IAMロール といったパラメータを指定して起動します
Q3. ところで、起動テンプレートってなんだっけ?
A. Q2のAにある、諸パラメータの値をテンプレート化して保存するシートのこと。これを使えば、毎回AMIなどの値をいくつも指定することなく簡単にミスなく同じ設定のサーバーを起動できるってわけです
まとめ
ゴールデンイメージというのは一般的な概念のことで、そのAWSにおける具体例がAMIだったんですねー。
AMIや起動テンプレートや起動方法についても、普段あまり手動で触る部分でもないので勉強になりました。
関連記事
今回ゴールデンイメージについて調べる中で、似たテーマで書かれた記事を発見しました。
先駆者への敬意を込めてリンクを貼らせていただきますので、ぜひこちらも参考に。
https://qiita.com/santasan1224/items/1355d4aa9b6df66d19e1
