

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 CloudFormation 私有登錄檔的模組
<a name="modules-using"></a>

本主題說明了如何在 CloudFormation 範本中使用模組。可將模組視為預先製作的資源套件，您可以將其新增至範本中。

使用模組的步驟如下：
+ **註冊模組** – 您可以在 CloudFormation 登錄檔中將模組註冊為私有延伸項目。請確定它已在您正在使用的 AWS 帳戶 和 區域中註冊。如需詳細資訊，請參閱[CloudFormation 登錄檔概念](registry-concepts.md)。
+ **將其包含在範本中** – 如同處理其他資源一般，將模組新增至 CloudFormation 範本的 [Resources](resources-section-structure.md) 區段。您還需提供該模組所需的所有必要屬性。
+ **建立或更新堆疊** – 當您起始堆疊操作時，CloudFormation 會產生處理過的範本，將任何包含的模組解析為適當的資源。
+ **預覽變更** – 進行變更前，您可使用變更集查看即將新增或變更的資源。如需詳細資訊，請參閱[透過變更集更新 CloudFormation 堆疊](using-cfn-updating-stacks-changesets.md)。

請考量下面的範例：你擁有同時內含資源和模組的範本。該範本包含一個個別的資源 `ResourceA`，以及模組 `ModuleParent`。該模組包含兩個資源 `ResourceB` 與 `ResourceC`，以及一個巢狀模組 `ModuleChild`，而 `ModuleChild` 包含單一資源 `ResourceD`。如果您透過此範本建立堆疊，CloudFormation 會處理此範本，並將模組解析為適當的資源。最終的堆疊包含四個資源：`ResourceA`、`ResourceB`、`ResourceC` 和 `ResourceD`。

![\[在堆疊操作期間，CloudFormation 會將堆疊範本中包含的兩個模組解析為適當的四個資源。\]](http://docs.aws.amazon.com/zh_tw/AWSCloudFormation/latest/UserGuide/images/modules-resource-inclusion.png)


CloudFormation 會追蹤堆疊中的哪些資源是透過模組而建立。您可以在指定堆疊的 **Events** (事件)、**Resources** (資源) 和 **Drifts** (漂移) 索引標籤上檢視此資訊，變更集預覽中也會包含此資訊。

模組與範本中的資源有所不同，因為它們遵循的是以下四段命名慣例，而不是資源使用的典型三段慣例：

```
organization::service::use-case::MODULE
```