

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# EC2 Image Builder の仕組み
<a name="how-image-builder-works"></a>

EC2 Image Builder コンソールを使用してカスタムイメージパイプラインを作成すると、システムは次のステップをガイドします。

1. **パイプラインの詳細を指定する** - 名前、説明、タグ、自動ビルドを実行するスケジュールなど、パイプラインに関する情報を入力します。手動ビルドを選択することもできます。

1. **レシピを選択** - AMI をビルドするか、コンテナイメージをビルドするかを選択する。どちらのタイプの出力イメージでも、レシピの名前とバージョンを入力し、ベースイメージを選択し、ビルドとテスト用に追加するコンポーネントを選択します。また、自動バージョン管理を選択して、ベースイメージに使用可能な最新のオペレーティングシステム (OS) バージョンを常に使用できるようにすることもできます。コンテナレシピは、さらに Dockerfiles と、出力 Docker コンテナイメージのターゲット Amazon ECR リポジトリを定義します。
**注記**  
コンポーネントは、イメージレシピまたはコンテナレシピで使用されるビルディングブロックです。例えば、インストール用パッケージ、セキュリティ強化手順、テストなどです。選択したベースイメージとコンポーネントがイメージレシピを構成します。

1. **インフラ構成の定義** - Image Builder は、アカウント内の EC2 インスタンスを起動し、イメージをカスタマイズして検証テストを実行します。インフラストラクチャ設定では、ビルドプロセス AWS アカウント 中に で実行されるインスタンスのインフラストラクチャの詳細を指定します。

1. **配布設定の定義** - ビルドが完了し、すべてのテストに合格した後、イメージを配布する AWS リージョンを選択します。パイプラインはビルドを実行するリージョンに自動的にイメージを配布します。他のリージョンにイメージ配布を追加することもできます。

カスタムベースイメージからビルドしたイメージは、 AWS アカウントにあります。ビルドスケジュールを入力することで、イメージの更新バージョンやパッチを適用したバージョンを生成するようにイメージパイプラインを設定できます。ビルドが完了すると、[「Amazon 簡易通知サービス (SNS)」](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) を通じて通知を受け取ることができます。Image Builder コンソールウィザードは、最終イメージを生成するだけでなく、既存のバージョン管理システムや継続的インテグレーション/継続的デプロイ (CI/CD) パイプラインで使用できるレシピを生成し、繰り返し可能な自動化を実現します。レシピを共有したり、新しいバージョンを作成したりできます。

**Topics**
+ [AMI エレメント](#ami-image-elements)
+ [コンポーネント管理](#ibhow-component-management)
+ [作成されたリソース](#image-builder-resources)
+ [ディストリビューション](#image-builder-distribution)
+ [リソースの共有](#ibhow-sharing)
+ [コンプライアンス](#ibhow-compliance)

## AMI エレメント
<a name="ami-image-elements"></a>

Amazon マシンイメージ (AMI) は、EC2 インスタンスをデプロイするための OS とソフトウェアを含む事前設定済みの仮想マシン (VM) Image (VM) Image。

AMI には以下の要素が含まれます：
+ VM のルートボリュームのテンプレート。Amazon EC2 VM を起動すると、ルートデバイスボリュームにインスタンスを起動するためのイメージが格納されます。インスタンスストアを使用する場合、ルートデバイスは、Amazon S3 のテンプレートから作成されるインスタンスストアボリュームになります。詳細については、[Amazon EC2 Root Device Volume](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/RootDeviceStorage.html) を参照のこと。
+ Amazon EBS を使用する場合、ルートデバイスは [「EBS スナップショット」](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-snapshots.html)から作成された EBS ボリュームです。
+ AMI で VMs を起動 AWS アカウント できる を決定する起動許可。
+ 起動後にインスタンスにアタッチするボリュームを指定する [ブロックデバイスマッピング](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html) データ。
+ 各リージョン、各アカウントの固有の[「リソース識別子」](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resource-ids.html)。
+ タグなどの[「メタデータ」](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)ペイロード、およびプロパティ (リージョン、オペレーティングシステム、アーキテクチャ、ルートデバイスタイプ、プロバイダー、起動権限、ルートデバイスのストレージ、署名ステータスなど)。
+ 不正な改ざんから保護するための Windows イメージ用の AMI シグネチャ。詳細については、[インスタンスアイデンティティドキュメント](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/instance-identity-documents.html)を参照してください。

## コンポーネント管理
<a name="ibhow-component-management"></a>

EC2 Image Builder は、複雑なワークフローの調整、システム設定の変更、YAML ベースのスクリプトコンポーネントを使用したシステムのテストに役立つコンポーネント管理アプリケーション AWS Task Orchestrator and Executor （AWSTOE) を使用します。 AWSTOE はスタンドアロンアプリケーションであるため、追加のセットアップは必要ありません。どのクラウドインフラストラクチャーでもオンプレミスでも実行できます。スタンドアロンアプリケーション AWSTOE として の使用を開始するには、「」を参照してください[を使用してカスタムコンポーネントを開発するための手動セットアップ AWSTOE](toe-get-started.md)。

Image Builder は AWSTOE 、 を使用してすべてのインスタンス上のアクティビティを実行します。これには、スナップショットを作成する前のイメージの構築と検証、および最終的なイメージを作成する前にスナップショットが期待どおりに機能することを確認するためのテストが含まれます。Image Builder が AWSTOE を使用してコンポーネントを管理する方法の詳細については、「」を参照してください[コンポーネントを使用した Image Builder イメージのカスタマイズ](manage-components.md)。 AWSTOEを使ったコンポーネントの作成については、[Image Builder が AWS Task Orchestrator and Executor アプリケーションを使用してコンポーネントを管理する方法](toe-component-manager.md)を参照のこと。

### イメージテスト
<a name="ibhow-testing"></a>

 AWSTOE テストコンポーネントを使用してイメージを検証し、最終イメージを作成する前に期待どおりに機能することを確認できます。

通常、各テストコンポーネントは、テストスクリプト、テストバイナリ、テストメタデータを含む YAML ドキュメントで構成されます。テストスクリプトにはテストバイナリを起動するためのオーケストレーションコマンドが含まれており、OS がサポートする任意の言語で記述できます。終了ステータスコードはテスト結果を示します。テストメタデータは、名前、説明、テストバイナリへのパス、予想される時間など、テストとその動作を記述します。

## 作成されたリソース
<a name="image-builder-resources"></a>

パイプラインを作成すると、以下の場合を除き、Image Builder の外部リソースは作成されません。
+ パイプラインスケジュールに従ってイメージが作成された場合
+ Image Builder コンソールの**[アクション]**メニューから[**パイプラインを実行**]を選択した場合
+ API または からこれらのコマンドのいずれかを実行する場合 AWS CLI: **StartImagePipelineExecution** または **CreateImage**

イメージビルドプロセス中に次のリソースが作成されます。

**AMI イメージパイプライン**
+ EC2 インスタンス (一時的)
+ EC2 インスタンス上のSystems Manager インベントリアソシエーション (`EnhancedImageMetadata` が有効になっている場合はSystems Manager ステートマネージャー経由)
+ Amazon EC2 AMI
+ Amazon EC2 AMI に関連付けられた Amazon EBS スナップショット

**コンテナイメージパイプライン**
+ EC2 インスタンス上で動作する Docker コンテナ (temporary)
+ EC2 インスタンスの Systems Manager インベントリ関連付け（Systems Manager State Manager 経由）`EnhancedImageMetadata` が有効になっている
+ Docker コンテナイメージ
+ Dockerfile

イメージが作成されると、一時リソースはすべて削除されます。

## ディストリビューション
<a name="image-builder-distribution"></a>

EC2 Image Builder は、AMIsまたはコンテナイメージを任意の AWS リージョンに配布できます。イメージは、イメージのビルドに使用したアカウントで指定した各リージョンにコピーされます。

AMI 出力イメージでは、AMI 起動アクセス許可を定義して、作成された AMI で EC2 インスタンスを起動 AWS アカウント することを許可する を制御することができます。例えば、イメージをプライベート、パブリック、または特定のアカウントと共有することができます。AMI を他のリージョンに配布し、他のアカウントの起動権限を定義すると、起動権限は AMI が配布されているすべてのリージョンの AMI に伝達されます。

 AWS Organizations アカウントを使用して、承認された準拠 AMIs でのみインスタンスを起動するための制限をメンバーアカウントに適用することもできます。詳細については、[「組織 AWS アカウント での の管理](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts.html)」を参照してください。

Image Builder コンソールを使用してディストリビューション設定を更新するには、「[コンソールからの新しいイメージレシピバージョンの作成](create-image-recipes.md#create-image-recipe-version-console)」または「[コンソールで新しいコンテナレシピの作成](create-container-recipes.md#create-container-recipe-version)」のステップに従います。

## リソースの共有
<a name="ibhow-sharing"></a>

コンポーネント、レシピ、またはイメージを他のアカウントまたは内部と共有するには AWS Organizations、「」を参照してください[Image Builder リソースを と共有する AWS RAM](manage-shared-resources.md)。

## コンプライアンス
<a name="ibhow-compliance"></a>

Center for Internet Security (CIS) ベンチマークに対して、EC2 Image Builder は Amazon Inspector を使用して、漏洩、脆弱性、ベストプラクティスやコンプライアンス標準からの逸脱がないかどうかの評価を実行します。例えば、Image Builder は、意図しないネットワークアクセス、パッチが適用されていない CVE、公衆インターネット接続、リモートルートログインの有効化を評価します。Amazon Inspector はテストコンポーネントとして提供されており、イメージレシピに追加することを選択できます。Amazon Inspector の詳細については、*[Amazon Inspector](https://docs.aws.amazon.com/inspector/v1/userguide/inspector_introduction.html) ユーザーガイド*」を参照してください。詳細については、「[Center for Internet Security (CIS) ベンチマーク](https://docs.aws.amazon.com/inspector/latest/userguide/inspector_cis.html)」を参照してください。

Image Builder には STIG 強化コンポーネントが用意されており、ベースラインとなる STIG 標準に準拠したイメージをより効率的に構築できます。これらの STIG コンポーネントは、設定ミスをスキャンし、修正スクリプトを実行します。STIG 準拠のコンポーネントを使用することによる追加料金は発生しません。Image Builder で使用可能な STIG コンポーネントの完全なリストについては、「[Image Builder 用の Amazon managed STIG 強化コンポーネント](ib-stig.md)」を参照してください。