

# CloudFormation レジストリの概念
<a name="registry-concepts"></a>

このトピックでは、CloudFormation レジストリの理解および使用に役立つ主な概念について説明します。

## 拡張タイプ
<a name="registry-extension-types"></a>

CloudFormation レジストリには次の拡張タイプが用意されています。

**フック**  
フックは、CloudFormation によってスタックまたは特定のリソースが作成、更新、または削除される前に、それらを検査する検証チェックです。さらに、フックは変更セットの作成オペレーション中に呼び出すことができます。特定の要件に対してリソース設定を検証することにより、組織の基準およびベストプラクティスを実施するメカニズムを提供します。フックがフックロジックに準拠していない設定を検出した場合、警告を配信するか、プロビジョニングプロセスに失敗させて非準拠のリソースのデプロイを防止することができます。詳細については、「[CloudFormation Hooks ユーザーガイド](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/what-is-cloudformation-hooks.html)」を参照してください。  
CloudFormation コンソールを使用して Hooks を設定する方法に関するドキュメントについては、「*CloudFormation Hooks User Guide*」にある次のセクションを参照してください。  
+ [AWS Control Tower proactive controls as Hooks](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/proactive-controls-hooks.html)
+ [Guardフック](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/guard-hooks.html)
+ [Lambda フック](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/lambda-hooks.html)

**モジュール**  
モジュールは、複数の CloudFormation スタックテンプレート間に含めることができる再利用可能なリソース設定です。複雑な、または頻繁に使用されるリソース設定を再利用可能なコンポーネントにカプセル化することにより、CloudFormation テンプレートの作成およびメンテナンスを簡素化するように設計されています。組織のインフラストラクチャのデプロイ全体で一貫性および標準化が促進されます。

**リソースタイプ:**  
リソースタイプは、CloudFormation でネイティブにサポートされていないサードパーティーリソースまたはカスタムリソースをモデル化および自動化できるようにします。リソースタイプを開発することによって CloudFormation の機能を拡張し、さまざまなサードパーティーのサービスからリソースをプロビジョニングおよび管理できます。

## パブリック拡張
<a name="registry-public-extensions"></a>

*パブリック拡張機能*は、すべての AWS アカウント が使用できるようにレジストリに公開されている CloudFormation の拡張機能です。具体的には次のとおりです。
+ **AWS 拡張機能** – AWS によって公開された拡張機能は誰でも利用でき、デフォルトでアクティブ化されるため、アカウントで使用する前に何らかの操作を行う必要はありません。これらの拡張機能のバージョニングは AWS によって制御されるため、利用可能な最新のバージョンを常に使用できます。
+ **サードパーティ拡張機能** - AWS 以外のパブリッシャーによって一般使用向けに提供されている拡張機能です。サードパーティのパブリック拡張機能を使用するには、まずご自身のアカウントおよびリージョンでアクティブ化する必要があります。

## アクティブ化した拡張機能
<a name="registry-activated-extensions"></a>

特定の AWS アカウント の CloudFormation レジストリには、3 種類のアクティブ化された拡張機能が含まれています。
+ **AWS 拡張機能** – すべての AWS パブリック拡張機能が自動的にアクティブ化されます。
+ **アクティブ化されたサードパーティ** - アカウントおよびリージョンに対してアクティブ化されたサードパーティ拡張機能のローカルコピーです。サードパーティのパブリック拡張機能をアクティブ化すると、CloudFormation はローカルコピーをアカウントのレジストリに作成します。詳細については、「[CloudFormation レジストリからサードパーティーのパブリック拡張を使用する](registry-public.md)」を参照してください。
+ **非公開登録** - パブリック CloudFormation レジストリにリストされていない非公開の拡張機能などです。自分で作成した拡張機能、または組織やその他サードパーティから共有された拡張機能などがこれに該当します。アカウントでこのようなプライベート拡張を使用するには、必ず先に登録しておく必要があります。拡張を登録すると、そのコピーがアカウントの CloudFormation レジストリにアップロードされ、アクティブ化されます。詳細については、「[共有されているサードパーティーのプライベート拡張機能を使用する](registry-private.md)」を参照してください。

アカウントのサードパーティパブリッシャーから非公開で登録された拡張機能と、アクティブ化されたパブリック拡張機能を使用することは、サンドボックス環境でそれらを使用することに似ています。拡張機能はバージョン管理で管理されるため、プロビジョニングの動作は特定のバージョンに関連付けられます。その結果、これらの拡張機能はパブリック拡張機能と同じように機能し、バージョン固有の同じルールに従います。

**注記**  
非公開で登録された拡張機能、およびアクティブ化されたサードパーティのパブリック拡張機能は、作成、読み取り、更新、一覧表示、削除のオペレーション中に実行される、イベントハンドラーを実装している場合があります。CloudFormation スタックでこれらの拡張機能を使用すると、作成されたリソースに対する料金のほかに、アカウントに対して料金が発生する可能性があります。詳細については、「[CloudFormation 料金表](https://aws.amazon.com/cloudformation/pricing/)」を参照してください。