AWS RAM による Image Builder リソースの共有
EC2 Image Builder は AWS Resource Access Manager (AWS RAM) と統合されるため、次のタイプの Image Builder リソースを AWS アカウントや AWS Organizations と共有できます。
-
コンポーネント
-
イメージ
-
recipe
AWS RAM を通じてリソースを共有するには、リソース共有を作成する必要があります。リソース共有は共有するリソースと、それらを共有するコンシューマーを指定します。消費者は、個人AWS アカウント、組織単位、または組織全体AWS Organizationsです。次の一覧は、共有先として指定できるアカウントと組織のタイプを示しています。
-
AWS Organizations の特定の AWS アカウント の組織の内部または外部。
-
AWS Organizations の組織内の組織単位 (OU)。
-
AWS Organizations の組織全体。
-
組織外の AWS Organizations または OUs。
このモデルでは、リソースを所有する AWS アカウント (所有者) が、同じリージョン内の他の AWS アカウントまたは AWS Organizations (コンシューマー) とリソースを共有します。共有リソースが更新されると、コンシューマーはそれらの更新を自動的に取得します。
注記
共有コンポーネント、イメージ、およびイメージレシピは、所有者のみが対応するリソース制限にカウントされます。共有されたリソースがコンシューマーのリソース制限に影響することはありません。
リソース所有者
Image Builder リソースは、そのリソースが作成された AWS リージョンでのみ共有できます。これらのリソースを共有する際、リージョン間でレプリケートされません。
自分が所有していて共有できる Image Builder リソースの一覧を取得するには、コンソールで所有権フィルターを指定するか、または AWS CLI でコマンドを実行するときに指定します。
AWS RAM の詳細については、「AWS RAM ユーザーガイド」を参照してください。
Image Builder リソースを共有するための前提条件
コンポーネント、イメージ、レシピなどの Image Builder リソースを共有するには、次の前提条件が満たされている必要があります。
-
共有する Image Builder リソースを AWS アカウントが所有している必要があります。自身が共有を受けているリソースを他者に共有することはできません。
-
暗号化されたリソースに関連付けられた AWS Key Management Service (AWS KMS) キーは、ターゲットのアカウント、組織、または OUs と明示的に共有する必要があります。
-
AWS RAM を使って Image Builder リソースを AWS Organizations および OUs と共有するには、共有を有効にする必要があります。詳細については、AWS RAM ユーザーガイドの「AWS Organizations で共有を有効化する」を参照してください。
-
暗号化されたイメージを異なるリージョンの AWS KMS アカウントに配布する場合は、ターゲットリージョンごとに KMS キーとエイリアスを作成する必要があります。さらに、それらのリージョンでインスタンスを起動するユーザーは、キーポリシーで指定された KMS キーにアクセスする必要があります。
Image Builder がパイプラインビルドから作成する以下のリソースは、Image Builder リソースとはみなされません。むしろ、Image Builder がお客様のアカウント、および配布設定で指定した AWS リージョン、アカウント、組織または組織単位 (OU) に配布する外部リソースです。
-
Amazon マシンイメージ (AMI)
-
Amazon ECR にあるコンテナイメージ
AMI ディストリビューション設定の詳細については、「AMI ディストリビューション設定の作成と更新」を参照してください。Amazon ECR にあるコンテナイメージのディストリビューション設定の詳細については、「コンテナイメージのディストリビューション設定を作成および更新する」を参照してください。
AMI を AWS Organizations と OUs と共有する方法の詳細については、「組織または OUs と AMI を共有する」を参照してください。
リソースコンシューマー
コンシューマーは共有リソースを使用できますが、どのような方法でも変更することはできません。コンシューマーは、Image Builder レシピを作成するときに、共有イメージをベースイメージとして指定したり、共有コンポーネントを追加したりできます。また、Image Builder イメージパイプラインを作成するときや、AWS CLI で create-image コマンドを使用するときに、共有レシピを指定することもできます。
所有者が AWS Organizations の組織に属していて、組織内での共有が有効になっている場合は、自動的に組織内のコンシューマーに共有リソースへのアクセス許可が付与されます。これに該当しない場合、コンシューマーはリソースへの参加の招待を受け取り、その招待を受け入れた後で、リソースの共有に対するアクセス許可が付与されます。