EC2 Image Builder のよくある質問

全般

EC2 Image Builder は、Amazon EC2 およびオンプレミスで使用する Linux または Windows イメージの作成、メンテナンス、検証、共有、そしてデプロイをシンプルにします。

IT の生産性の向上

EC2 Image Builder は、セキュアでコンプライアンスに従うイメージの構築、維持、そしてデプロイをシンプルにします。自動化のコードを作成して維持する必要はありません。自動化の作業を Image Builder に任せれば、リソースの余裕ができて、IT 部門の時間の節約になります。

セキュア化をよりシンプルに

EC2 Image Builder を使えば、重要なコンポーネントだけを含むイメージを作成することができるので、セキュリティ上の脆弱性がさらされる危険性は小さくなります。また、AWS が提供しているセキュリティ設定を使用し、イメージを社内のセキュリティ基準に適合させて、一層セキュアにすることもできます。

AWS とオンプレミス両方でのイメージ管理をシンプルに

EC2 Image Builder を AWS VM Import/Export (VMIE) と組み合わせれば、Amazon EC2 (AMI) のゴールデンイメージ、またオンプレミスの VM フォーマット (VHDX、VMDK、および OVF) を作成し、維持することができます。

組み込みの検証サポート

EC2 Image Builder を使えば、イメージを実稼働環境で使用する前に、AWS が提供しているテストや自分自身のテストで検証することが容易になります。そうすれば、通常、テストが不十分なために残っていて、ダウンタイムの原因となるようなイメージのエラーが後ほど見つかる可能性を小さくできます。指定したテストをパスした後にのみ、イメージを特定の AWS リージョンにデプロイするというポリシーを設定することができます。

一元的なポリシーの実施

EC2 Image Builder は、リビジョン管理を容易にするための、バージョンコントロールを可能にします。AWS Resource Access Manager および AWS Organizations と統合すれば、AWS アカウント全体での自動化スクリプト、レシピ、および イメージの共有が可能になります。Image Builder はまた、情報セキュリティと IT のチームが、イメージへのポリシーとコンプライアンスの実施をよりよく行えるようにします。

Image Builder は AWS コンソール、AWS CLI、または API で使用でき、自分自身の AWS アカウント内でイメージを作成することができます。AWS コンソールを使用する場合、Image Builder はステップバイステップ式のウィザードを提供します。以下のステップを順に実行するようガイドします。

  • ステップ 1: ベースとなる OS イメージを準備する 
  • ステップ 2: インストールするためのソフトウェアを選択する 
  • ステップ 3: テストを選択し、実行する 
  • ステップ 4:イメージを選択したリージョンに配布する

構築したイメージは作成者の AWS アカウント内に置かれるので、継続的にパッチを当てるよう構成できます。進行状況を監視して、トラブルシューティングやデバッグで役立つ CloudWatch イベントの通知を受けることができます。最終的なイメージに加えて、Image Builder はレシピファイルも生成します。これは、既存のソースコードによるバージョンコントロールシステムや、繰り返し可能な自動化のための CI/CD パイプラインと組み合わせて使用することができます。

EC2 Image Builder を AWS VM Import/Export (VMIE) と組み合わせれば、Amazon EC2 (AMI) のゴールデンイメージ、またオンプレミスの VM フォーマット (VHDX、VMDK、OVF) を作成し、維持することができます。イメージ構築プロセスの出発点として、既存の AMI (独自のカスタム AMI、または Image Builder が管理するイメージのリストから選択) を使用することができます。また、VMIE を使用して、VMDK、VHDX、または OVF フォーマットのイメージを AMI にインポートし、それをイメージ構築の起点とすることもできます。最終的に生成されるイメージは AMI フォーマットであり、VMIE を使って VHDX、VMDK、および OVF フォーマットにエクスポートすることができます。

Image Builder は以下をサポートしています。

  • Amazon Linux 2
  • Windows Server 2012、2016、2019
  • Ubuntu Server 16、18
  • Red Hat Enterprise Linux (RHEL) 7、8
  • Cent OS 7、8
  • SUSE Linux Enterprise Server (SLES) 15

Image Builder はサーバーイメージを AMI フォーマットで出力します。VMIE を使用して、これらの AMI をオンプレミスで使用するために VHDX、VMDK、または OVF にエクスポートできます。

Image Builder のレシピは、自動化パイプラインにより生成されたイメージの最終状態を表すファイルで、ビルドを確実に再現できるようにします。レシピは Image Builder UI の外部で共有、フォーク、および編集することができます。レシピを、使用しているバージョンコントロールソフトウェアと組み合わせれば、バージョンコントロールされたレシピを維持して、変更を共有し、追跡することができます。

Image Builder は、イメージを作成、保存、共有するために使用する、基盤の AWS リソースにかかるコストを別にすれば、無償で提供されます。 

最新のイメージのための継続的なパッチ

新しいイメージが、保留されているアップデートの発生 (例えばソース AMI のアップデート、セキュリティアップデート、コンプライアンスのためのアップデート、新しいテストなど) といったトリガーに基づいて生成されるよう構成することもができますし、一定の時間が経過したら生成されるように定めておくこともできます。ビルドの「間隔」を指定し、保留中の変更を適用して、最新の変更点が含まれたゴールデンイメージを作成することができます。最新のイメージは、Image Builder でテストし、アップデートされたビルド上でのユーザーアプリケーションの動作を検証できます。Image Builder で構築されるイメージへの適用を待っているアップデートのため、SNS キューを経由して通知が行われるように登録することもできます。これらの通知は、新しいイメージを構築するためのトリガーとして用いることができます。

イメージのカスタマイズ

ソフトウェアのイメージは、RPM/Debian パッケージリポジトリや、Windows の MSI やカスタムインストーラのような登録済みのソフトウェアソースにより、カスタマイズできます。事前登録された AWS ソフトウェアソースの他に、自分用のいくつかのリポジトリと、インストール用のソフトウェアを含む Amazon S3 の場所を登録することができます。対話的な入力を必要とするインストールワークフローの場合には、インストーラに固有の「自動」メカニズム (応答ファイルなど) を準備しておくことができます。

セキュリティおよびコンプライアンスの要件を満たすためのプリセット設定

Image Builder では、セキュリティ設定の集まりを定義し、その編集、アップデート、使用により、Image Builder で構築されるイメージを強化できるようになっています。これらの設定の集まりは、当てはめられるコンプライアンス基準を満たすために適用できます。これらの基準としては、組織によって、また業界の規制当局により必須とされたものが含まれるでしょう。AWS では、一般的な業界の規制を満たすのに役立つ、設定のギャラリーを用意しています。これらの設定は直接適用することも、変更して用いることもできます。 例えば、STIG 用に AWS が提供している設定は、不必要に空いているポートを閉じ、ソフトウェアファイアウォールを有効にするものです。

いいえ、AWS からの設定のコレクションは、コンプライアンスを達成するために推奨されているガイダンスであり、コンプライアンスを保証するものではありません。コンプライアンスチームおよび監査役と協力して、コンプラインスを検証する必要があるでしょう。AWS が提供している設定は、必要に応じて変更できますし、再使用するときのためにギャラリーに保存しておくことができます。

設定のコレクションは、全く新規に作成することも、AWS が提供したテンプレートを基に派生させることもできます。これらは、登録済みの Amazon S3 ロケーションに保存できます。セキュリティパッチが必ず適用されるようにすること、ファイアウォールをインストールすること、特定のポートを閉じること、プログラム感でのファイル共有を許可しないこと、マルウェア対策ソフトをインストールすること、強いパスワードを作成すること、バックアップを取ること、可能な場合には暗号化すること、弱い暗号は禁止すること、ログと監査のコントロールを行うこと、個人データを削除することなど、セキュリティの設定を適用する、独自のコレクションを作成することができます。カスタムの設定はギャラリーに追加することが可能です。

テスト

Image Builder 内のテストフレームワークを使用すれば、OS のアップデートで導入された非互換性を、AWS リージョンにデプロイする前に捕らえることができます。AWS が提供するテストと、自分独自のテストの両方を実行し、テストのランと結果を管理し、テストの合格時には下流にオペレーションを渡すことができます。AWS が提供するテストの例としては、AMI がログインプロンプトまでブートできるか、AMI がサンプルアプリを実行できるかと言ったものがあります。また、イメージに対し、自分自身のテストを行うこともできます。

Image Builder の各テストは、テストスクリプト、テストバイナリ、およびテストメタデータから構成されています。 テストスクリプトには、任意の言語で書かれ、OS がサポートしている任意のテストフレームワーク (Windows の PowerShell、Linux の bash、python、ruby など) で実行されるテストバイナリを起動するオーケストレーションコマンドが含まれており、テストの結果を示す終了ステータスコードを出力します。また、テストメタデータには、名前、説明、テストバイナリへのパス、装う実行時間などの属性が含まれます。

配布と共有

Image Builder は AWS Organizations と統合されており、既存のメカニズムを使用して AWS アカウント間で AMI を共有できるようになっています。Image Builder は、AMI の実行権限を変更して、所有者以外の AWS アカウントに、AMI での EC2 VM の起動を許可します (プライベート、パブリック、および特定のアカウントとの共有など)。また、AWS Organization のマスターアカウントに、承認され、コンプライアンスを満たす AMI だけがインスタンスを起動できるよう、メンバーアカウントに制限をかけさせることができます。AWS Organizations との統合についての詳細は、Image Builder のマニュアルを参照してください。

Image Builder は、Amazon ECR (コンテナレジストリ向けのマネージドサービス) をコンテナイメージの入力と出力の両方として使用します。各リポジトリへのアクセス許可を管理するポリシーを設定し、IAM ユーザー、IAM ロール、または AWS アカウントへのアクセスを制限できます。ECR は RAM および AWS Organizations と統合して、リージョンおよびアカウント間でのコンテナイメージの共有、配布、および複製を可能にします。ECR は、リソースへのアクセスをコントロールするために IAM ポリシーを使用します。

Image Builder は、既存の AMI 共有メカニズムを使用して、選択した AWS リージョンに AMI をコピーすることができます。配布は、Image Builder でのテストを合格したかどうかに応じて、許可されるようにすることができます。

Image Builder は、Code Build や Code Pipeline といった AWS CI/CD サービスとの統合により、AMI の構築、テスト、およびデプロイのための CI/CD パイプラインを実現できるよう支援します。

トラブルシューティングとデバッグ

Image Builder は、イメージ構築プロセスの各ステップの進行状況を追跡し、表示します。さらに、Image Builder でログを CloudWatch に送信することもできます。高度なトラブルシューティングについては、SSM runCommand インターフェイスによって、任意のコマンドとスクリプトを実行することができます。