AWS AMIとは?
「AWS AMI」のAMIは(AWS Amazon Machine Image)の略で、読み方はエーエムアイですが、アミと読んでも間違いではありません。AWS AMIは一言で表すと、AWS EC2インスタンス内に仮想マシンを作成するために必要な情報がまとめられた起動テンプレートです。
このテンプレートにはOSやOSのバージョン、ブロックデバイスマッピング、AWSアカウント権限などの情報がまとめられています。当記事ではAWS AMIの概要、AWS AMIの4つの種類、AMIの作成方法や料金などについて、わかりやすく図解を交えて紹介します。
【参考】:Amazon マシンイメージ (AMI) | Amazon Elastic Compute Cloud 【参考】:Amazon EC2 とは | Amazon Elastic Compute Cloud
AWS AMIの概要
AWS AMIはEC2インスタンス起動に用いる仮想マシンのイメージです。複数のインスタンスを同じ設定で立ち上げる場合にAMIを利用すると手間が省けます。インスタンスは異なる設定のAMIからでも起動することも可能です。
AWS AMIには以下のようなインスタンスの作成に必要な情報が含まれています。
▪AWS EBSのスナップショット、 Instance Store-Backed(物理ホストのローカルディスク)、インスタンスのルートボリュームのテンプレ(OS、アプリケーションサーバー、アプリ情報など) ▪ブロックデバイスマッピング(EC2に紐づけるEBS・インスタンスストアに関する設定) ▪AWSアカウントのAMI使用によるインスタンス起動許可情報など
【参考】:ブロックデバイスマッピング | Amazon Elastic Compute Cloud
AWS AMIとスナップショットの違い
AWS AMIは仮想マシンの起動に必要なあらゆる情報が網羅されていますが、スナップショットはその一部です。EC2インスタンスではEBSボリュームを使用します。このEBSボリュームのバックアップをスナップショットと言いますが、ハードディスクのコピーと同じようなイメージです。
AMIイメージそのものに料金は掛かりませんが、EBSのスナップショットはS3に格納するため、スナップショットに対してはS3の所定の料金がかかります。
【参考】:Amazon EBS スナップショット | Amazon Elastic Compute Cloud 【参考】:Amazon S3 とは - Amazon Simple Storage Service
AWS AMIの4つの種類
新たにEC2インスタンスを作成する場合には、4種類のAMIの中から目的や条件に合致するものから選択します。ここでは、4種類のAMIについて、それぞれの特徴を解説しますので、選択する際の参考にしてください。
クイックスタートAMI
クイックスタートAMIは、AWSが用意しているOSの中から選択ができる無料のAMIです。EC2インスタンスを作成する際にはOSなどの選択ができます。OSはWindows、Linux、MacOSをカバーしています。
▪Windows ▪Amazon Linux ▪Ubuntu ▪Red Hat ▪SUSE Linux ▪Debian ▪macOS
さらにクイックスタートAMIはEC2インスタンスのコンソールから、次のようにフィルタを利用して絞り込みができます。
カスタムAMI
カスタムAMIはユーザーが独自に作成したAMIです。このAMIは既存のEC2インスタンスから作成し、複数のインスタンスを作成したい時に利用すると効率的です。またカスタムAMIはEC2AutoScalingで使用することができます。
【参考】:カスタム Windows AMI を作成する| Amazon Elastic Compute Cloud 【参考】:Amazon EC2 Auto Scaling(需要に合わせてコンピューティング性能を拡張)| AWS
AWS Marketplace AMI
他の開発者達が、誰もが簡単に利用できるように作成したAMIのことです。SQLサーバーやWordPressなどがインストールされており、AMIからすぐに環境構築が行えます。ただし、開発者に対する使用料金が発生しますので注意が必要です。
下記の例では、EC2コンソールのナビゲーションペイン(左メニュー)から[イメージ]→[AMI]とクリックし、検索窓にWindowsと入力して、Windows系のカスタムAMIを表示しました。表示されたリストから選択して利用することができます。
【参考】:有料 AMI - Amazon Elastic Compute Cloud
コミュニティ AMI
コミュニティAMIは他のユーザーが作成したAMIのことです。AMIの共有設定を有効にすると表示されます。コミュニティAMIはAWSの審査を受けておらず、利用は自己責任です。本番環境などで安易に利用することがないよう注意が必要です。
【参考】:AMI の公開 | Amazon Elastic Compute Cloud
AWS AMIのメリットとデメリット
AWS AMI を利用するメリット、デメリットを確認しておきましょう。それらを確認することで、さらにAWS AMIへの理解を深めることができます。
AWS AMIのメリット
AWS AMI を利用することによって、主に次のようなメリットを得ることができます。
■ EC2インスタンスのバックアップが簡単に取れる AMIの使用により、EC2インスタンスのバックアップが取れ、障害発生時などにはバックアップから復帰させることもできます。また、AMIを他のアカウントで共有したり、他のリージョンへのコピーをしたりできるためDR(ディザスタリカバリ)が行えます。
■ EC2インスタンスの作成に関わる工数削減 あらかじめ用意されているAMIの使用により、EC2インスタンスを作成する際の工数やコストを削減することができます。
■ EC2インスタンスのランニングコスト削減 例えば年に1回だけ稼働させるようなEC2インスタンスはAMIを取得し、そのインスタンス自体を削除しておけば、余分なコストの発生を防ぐことができ、ランニングコストを抑制することができます。
AMIだけであれば、特に料金がかからないためです。ただし、AMIに含まれるEBSのスナップショットは課金対象のため注意してください。
【参考】:Amazon EC2 インスタンスからの AMI の作成| AWS Toolkit for Visual Studio
AWS AMIのデメリット
AWS AMI自体の保存には料金はかかりませんが、AMI作成時に同時に作成されるスナップショットはS3に保存され、S3の料金が発生します。それは、AMIがEBSストレージに保存されたデータからインスタンスを起動し、AMIの作成によってEBSスナップショットが自動的に作成されるからです。
しかも、AMIを削除してもスナップショットは自動では消えてくれません。AMIを消す場合にはスナップショットも消さないと課金額が溜まっていきますので、後で思わぬ高額の支払いが発生する原因になります。この点がAMS AMIの主なデメリットです。
AWS AMIの使い方と料金
AWS AMI はAWS EC2インスタンスの作成の際に必ず利用します。AMIをどのように使うのか、AMIの利用料金はいくら掛かるのかについて見ていきましょう。
EC2インスタンスの作成準備
AWSアカウントでAWSにログインし、EC2インスタンスの作成準備をします。
① EC2コンソール※を開きます。 ② 左下の「インスタンスを起動」を選択し、クリックします。
【参考】:※EC2コンソール 【参考】:インスタンスの起動 - Amazon Elastic Compute Cloud
EC2インスタンスのキーペアを作成する
EC2インスタンスの作成では、キーペアの作成を求められます。デフォルトは「新しいキーペアの作成」です。セキュリティを高めるには、キーペアを作成しておくことをおすすめします。
キーペアはAWSでセキュリティ認証に使用されます。 新規でキーペアを作成した際に、EC2側では秘密鍵が作られます。ログインの際、ユーザー自身が持つ公開鍵を元にログイン情報が暗号化され、サーバー側では秘密鍵を用いて復号化することで、正規ユーザーのアクセスであることを確認します。
【参考】:キーペアを作成する - Amazon Elastic Compute Cloud
EC2インスタンスを起動する
「Name abd Tags」欄にはインスタンスの名称、例えばWeb Test Serverなどと入力し、クイックスタート欄からOSを選択します。ここではWindowsを選択しました。
続いて画面を下にスクロールしながら「ネットワーク設定」「ストレージ設定」「高度な詳細設定」などを確認し、最後に[インスタンスを起動]をクリックします。
少し間を置いて、インスタンスが実行中になれば完了です。今回はAWS標準のAMIを選択しましたが、1度利用したAMIをカスタマイズしてカスタムAMIとして利用することもできます。
AWS AMIの料金
AWS AMIの利用料金に関しては随所で解説していますが、改めて整理しておきましょう。
AMI自体の料金は基本的に無料ですが、保管料はAWS EBSのスナップショット料金として請求されます。公式サイトによるとEBSスナップショットはAWS S3に保存され、その料金は1GBあたり0.055USDです。仮に30GBのデータを保存すると1.65ドル/月となります。
このEBSスナップショットの保管料金以外に、AWS Marketplaceで販売されている有料のAMIがあります。有料AMIを利用してEC2インスタンスを立ち上げるとAMIの料金とインスタンスの時間料金が別途かかります。
【参考】: Amazon EBS の料金 – Amazon Web Services 【参考】:有料 AMI | Amazon Elastic Compute Cloud
AWS AMIでインスタンス構築の効率化を
ここまで、AWS AMIの概要、利用するメリット・デメリット、その使い方と料金などについて解説しました。AWS AMIがEC2インスタンス起動用の管理情報を含んだ仮想マシンのイメージデータであること、インスタンスの作成や管理を効率的に行えることなどを理解頂けたと思います。
AWSは誰でも無料で1年間試すことができます。この記事を参考に、AWSのアカウントを取得し、AWS EC2やAWS AMIを試してみることをおすすめします。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから