

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

# 使用 IaC 產生器從現有資源中產生範本
<a name="generate-IaC"></a>

使用 CloudFormation 基礎設施做為程式碼產生器 (IaC 產生器），您可以使用您帳戶中佈建但尚未由 CloudFormation 管理 AWS 的資源產生範本。

以下是 IaC 產生器的優點：
+ 將全部應用程式置於 CloudFormation 管理下，或將其移轉至 AWS CDK 應用程式。
+ 產生範本，而不必依屬性來描述資源屬性，然後轉換為 JSON 或 YAML 語法。
+ 使用範本在新帳戶或區域中複寫資源。

IaC 產生程序包含下列步驟：

1. **掃描資源** – 第一步是開始掃描資源。此掃描適用於整個區域，會在 30 天後過期。在此期間，可以從相同的掃描中建立多個範本。

1. **建立範本** – 若要建立範本，可使用兩個選項：
   + 從頭開始建立新範本，並將掃描的資源和相關資源新增至其中。
   + 使用現有的 CloudFormation 堆疊作為起點，並將掃描的資源和相關資源新增至其範本。

1. **匯入資源** – 使用您的範本將資源匯入為 CloudFormation 堆疊，或將其遷移至 AWS CDK 應用程式。

IaC 產生器功能適用於所有商業區域，並支援許多常見的 AWS 資源類型。如需所支援資源的完整清單，請參閱[資源類型支援](resource-import-supported-resources.md)。

**Topics**
+ [考量事項](#iac-generator-considerations)
+ [掃描資源所需的 IAM 許可](#iac-generator-permissions)
+ [範本產生、管理和刪除的常用命令](#iac-generator-commonly-used-commands)
+ [將範本遷移至 AWS CDK](#iac-generator-cdk-migrate)
+ [透過 CloudFormation IaC 產生器啟動資源掃描](iac-generator-start-resource-scan.md)
+ [在 CloudFormation 主控台中檢視掃描摘要](generate-IaC-view-scan-summary.md)
+ [透過 IaC 產生器掃描的資源建立 CloudFormation 範本](iac-generator-create-template-from-scanned-resources.md)
+ [透過掃描的資源建立 CloudFormation 堆疊](iac-generator-create-stack-from-scanned-resources.md)
+ [解決唯寫屬性](generate-IaC-write-only-properties.md)

## 考量事項
<a name="iac-generator-considerations"></a>

您可以為具有讀取存取權 AWS 的資源產生 JSON 或 YAML 範本。IaC 產生器功能的範本能夠可靠且快速地模型化雲端資源，而無需依屬性來描述資源屬性。

下表列出可用於 IaC 產生功能的配額。


| 名稱 | 完整掃描 | 部分掃描 | 
| --- | --- | --- | 
| 掃描中可處理的資源數量上限 | 100,000 | 100,000 | 
| 每天的掃描數 (適用於資源少於 10,000 的掃描) | 10 | 10 | 
| 每天的掃描數 (適用於資源超過 10,000 的掃描) | 1 | 1 | 
| 每個帳戶產生的範本並行數量 | 5 | 5 | 
| 針對一個範本產生而建模的資源並行數量 | 5 | 5 | 
| 可在一個範本中建模的資源總數 | 500 | 500 | 
| 每個帳戶產生的範本數量上限 | 1,000 | 1,000 | 

**重要**  
IaC 產生器僅支援 區域中 Cloud Control API 支援 AWS 的資源。如需詳細資訊，請參閱[資源類型支援](resource-import-supported-resources.md)。

## 掃描資源所需的 IAM 許可
<a name="iac-generator-permissions"></a>

若要使用 IaC 產生器來掃描資源，則 IAM 主體 (使用者、角色或群組) 必須擁有下列權限：
+ CloudFormation 掃描許可
+ 目標 AWS 服務的讀取許可

掃描範圍僅限於您有權讀取的資源。缺少許可不會導致掃描失敗，但會排除這些資源。

如需可授予掃描和範本管理許可的 IAM 政策範例，請參閱 [允許所有 IaC 產生器操作](security_iam_id-based-policy-examples.md#iam-policy-example-for-iac-generator)。

## 範本產生、管理和刪除的常用命令
<a name="iac-generator-commonly-used-commands"></a>

使用 IaC 產生器的常用命令包括：
+ [start-resource-scan](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/start-resource-scan.html)，開始掃描 AWS 區域中帳戶的資源。
+ [describe-resource-scan](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-resource-scan.html)，監控資源掃描的進度。
+ [list-resource-scans](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-resource-scans.html)，列出 AWS 區域中的資源掃描。
+ [list-resource-scan-resources](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-resource-scan-resources.html)，列出資源掃描期間找到的資源。
+  [list-resource-scan-related-resources](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-resource-scan-related-resources.html)，列出與掃描資源相關的資源。
+ [create-generated-template](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-generated-template.html)，從一組掃描的資源中產生 CloudFormation 範本。
+ [update-generated-template](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/update-generated-template.html)，更新產生的範本。
+ [describe-generated-template](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/describe-generated-template.html)，傳回所產生範本的相關資訊。
+ [list-generated-templates](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-generated-templates.html)，列出帳戶和目前區域中所有產生的範本。
+ [delete-generated-template](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/delete-generated-template.html)，刪除產生的範本。

## 將範本遷移至 AWS CDK
<a name="iac-generator-cdk-migrate"></a>

 AWS Cloud Development Kit (AWS CDK) 是開放原始碼軟體開發架構，可讓您使用熱門的程式設計語言來開發、管理和部署 CloudFormation 資源。

CLI AWS CDK 提供與 IaC 產生器的整合。使用 AWS CDK CLI `cdk migrate`命令來轉換 CloudFormation 範本，並建立新的 CDK 應用程式，其中包含您的 資源。然後，您可以使用 AWS CDK 來管理您的 資源並部署到 CloudFormation。

如需詳細資訊，請參閱《AWS Cloud Development Kit (AWS CDK) 開發人員指南**》中的[移轉至 AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/migrate.html)。