よっしー
こんにちは。よっしーです(^^)
今日は、AMIについて解説しています。
背景
AMIについて調査する機会がありましたので、その時の内容を備忘として記事に残しました。
AMIとは
AMI (Amazon Machine Image) は、AWSにおけるEC2インスタンスの基盤となる、プリインストールされたソフトウェアパッケージのテンプレートです。主な特徴は以下の通りです。
- ルートボリューム
AMIにはルートボリュームのスナップショットが含まれ、オペレーティングシステム、アプリケーション、およびデータが含まれています。 - 仮想化タイプ
AMIは、HVM (ハードウェア仮想化) 仮想化の方式を使用するか、パラベリュアル(PV)仮想化の方式を使用するかを選択できます。 - リージョンとアベイラビリティーゾーン
AMIはリージョンに固有のものであり、別のリージョンで使用する場合はコピーする必要があります。インスタンスはAZにデプロイされます。 - パブリック/プライベートAMI
AWSが提供する公開AMIの他、自分でカスタムAMIを作成し、プライベートAMIとして使用できます。 - AMIの種類
ベースAMI、カスタムAMI、AWS MarketplaceAMIなどがあります。 - セキュリティ
AMIの共有/暗号化が可能で、IAMポリシーを使ってアクセス制御できます。
AMIを使うことで、必要なソフトウェアを事前にインストールした状態でEC2インスタンスを起動でき、構築作業を大幅に効率化できます。アプリケーションのデプロイ、バッチ処理の実行、マルチティアアーキテクチャー構築などに活用できます。
HVMとPVの違い
HVM (Hardware Virtual Machine) とPV (Paravirtual) は、EC2インスタンスの仮想化タイプを表す2つの主要な方式です。
HVM (Hardware Virtual Machine)
- ハードウェア支援の仮想化を利用します。
- プロセッサ内の専用の命令セットを利用して仮想化をサポートしています。
- オペレーティングシステムを変更する必要はありません。
- より高いパフォーマンスが期待できます。
- 最新世代のEC2インスタンスタイプではHVMの利用が必須です。
PV (Paravirtual)
- ハイパーバイザーにより仮想化をエミュレートします。
- オペレーティングシステムにパラビルチャライゼーションのコンポーネントが組み込まれています。
- オペレーティングシステムを修正する必要があります。
- 古い世代のEC2インスタンスタイプで利用できます。
- HVMに比べて若干パフォーマンスが低くなる可能性があります。
一般的に、HVMの方がよりパフォーマンスが高く、新しいインスタンスタイプでは必須となっているため、HVMベースのAMIを選択することが推奨されています。
PVはレガシーなアプリケーションの一部で必要となる場合がありますが、ほとんどのユースケースではHVMを使うのが適切でしょう。
将来的にはPVのサポートが完全に廃止される予定となっているため、新規のワークロードではHVMを使うことをAWSでは推奨しています。
おわりに
今日は、 AMIについて解説しました。
よっしー
何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。
それでは、また明日お会いしましょう(^^)
コメント