

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

# for CloudFormation StackSets 的服務受管堆疊匯入
<a name="service-managed-import"></a>

CloudFormation 堆疊匯入操作可以將現有堆疊匯入新的或現有的 StackSets，以便您可以在一次操作中將現有堆疊移轉至 StackSets。StackSets 擴充了堆疊功能，讓您可以跨多個帳戶和區域使用單次操作建立、更新或刪除堆疊。

**服務受管堆疊匯入的考量事項**
+ 堆疊匯入操作需要管理帳戶或委派管理員帳戶，您可以在其中管理相關聯的 ， AWS Organizations 例如使用 StackSets 啟用信任存取。
+ 目標帳戶必須是管理帳戶或委派管理員帳戶 AWS Organizations 所管理 的成員。
+ 目標堆疊會在其中一個目標 OU 中存在。
+ 目標帳戶應為 的成員 AWS Organizations。
+ AWS Organizations 存取權應處於 Organizations `ACTIVATED`的狀態。
+ 匯入的堆疊應該出現在任何成員帳戶中，而不是管理帳戶中。

**Topics**
+ [將服務受管堆疊匯入新的 StackSet (主控台)](#import-service-managed-stack-to-new-stackset)
+ [建立服務受管堆疊並將其匯入現有 StackSet (主控台)](#import-service-managed-stack-to-existing-stackset)
+ [將服務受管堆疊匯入現有 StackSet (主控台)](#import-service-managed-stack-to-existing-stackset-console)
+ [將服務受管堆疊匯入 StackSet (AWS CLI)](#import-service-managed-stack-to-stackset.cli)

## 將服務受管堆疊匯入新的 StackSet (主控台)
<a name="import-service-managed-stack-to-new-stackset"></a>

使用 將堆疊匯入新的 StackSet AWS 管理主控台

若要將新堆疊匯入 StackSet，請識別包含要匯入之資源的堆疊。

1. 登入 AWS 管理主控台 並在 https：//[https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) 開啟 CloudFormation 主控台。

1. 從導覽窗格選擇 **StackSets**。

1. 選擇 **StackSets** 頁面上方的 **Create StackSet (建立 StackSet)**。

1. 在**選擇客群**頁面上，執行下列動作：

   1. 對於 **StackSet 許可模型**，選擇**服務受管許可**。

   1. 針對**先決條件 - 準備範本**，選擇**範本已就緒**，然後使用下列選項之一選擇您的範本：
      + 對於 **Amazon S3 URL**，可在 Amazon S3 URL 欄位中輸入您的 **Amazon S3 URL**。
      + 對於**上傳範本檔案**，選擇本機電腦上的 CloudFormation 範本。

   接受您的設定並選擇 **Next** (下一步)。

1. 在**指定堆疊詳細資訊**頁面上，執行下列操作：

   1. 在 **StackSet 名稱**方塊中輸入 StackSet 名稱。

   1. (選用) 在 **StackSet description** (StackSet 描述) 區段中輸入描述。

   在**設定 StackSet 選項**頁面上檢閱所需選項，然後選擇**下一步**。

1. 在**設定部署選項**頁面上進行以下操作：

   1. 對於**將堆疊新增至堆疊集**，選擇**將堆疊匯入堆疊集**。

   1. 對於 **Stacks to import** (要匯入的堆疊)，選擇您的堆疊匯入方法。

      1. 對於 **Stack ID** (堆疊 ID)，輸入您的堆疊 ID。

      1. 對於**堆疊 URL**，輸入 Amazon S3 URL。

1. 在**相關單位單位**下，執行以下操作：

   1. 選擇**與組織關聯**，以使用根 OU。

   1. 選擇**與組織單位關聯**，以輸入要匯入之堆疊的父 OU ID。例如，如果 `Stack 1` 和 `Stack 2` 在 `OU1` 下方，並且 `Stack 3` 在 `OU2` 下方，則輸入 `OU1` 和 `OU2`。

   接受您的設定並選擇 **Next** (下一步)。

1. 在 **Review** (檢閱) 頁面上，檢閱您的設定，然後選擇 **Submit** (提交)。

## 建立服務受管堆疊並將其匯入現有 StackSet (主控台)
<a name="import-service-managed-stack-to-existing-stackset"></a>

若要將現有堆疊匯入新的 StackSet，請識別包含您要匯入之資源的堆疊。

**建立 StackSet 和匯入堆疊**

1. 登入 AWS 管理主控台 並在 https：//[https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) 開啟 CloudFormation 主控台。

1. 從導覽窗格選擇 **StackSets**。

1. 選擇 **StackSets** 頁面上方的 **Create StackSet (建立 StackSet)**。

1. 在**選擇客群**頁面上，執行下列動作：

   1. 對於 **StackSet 許可模型**，選擇**服務受管許可**。

   1. 針對**先決條件 - 準備範本**，選擇**範本已就緒**，然後使用下列選項之一選擇您的範本：
      + 對於 **Amazon S3 URL**，可在 Amazon S3 URL 欄位中輸入您的 **Amazon S3 URL**。
      + 對於**上傳範本檔案**，選擇本機電腦上的 CloudFormation 範本。

   接受您的設定並選擇 **Next** (下一步)。

1. 在**指定堆疊詳細資訊**頁面上，執行下列操作：

   1. 在 **StackSet 名稱**方塊中輸入 StackSet 名稱。

   1. (選用) 在 **StackSet description** (StackSet 描述) 區段中輸入描述。

   在**設定 StackSet 選項**頁面上檢閱所需選項，然後選擇**下一步**。

1. 在**設定部署選項**頁面上進行以下操作：

   1. 在 **Add stacks to stack set** (將堆疊新增至堆疊集) 中，選擇 **Deploy new stacks** (部署新堆疊)。

1. 對於**關聯組織單位**區段，執行以下操作：

   1. 選擇**與組織關聯**，以使用根 OU。

   1. 選擇**與組織單位關聯**，以輸入要匯入之堆疊的父 OU ID。例如，如果 `Stack 1` 和 `Stack 2` 在 `OU1` 下方，並且 `Stack 3` 在 `OU2` 下方，則輸入 `OU1` 和 `OU2`。

1. 對於 **Specify regions** (指定區域) 和 **Deployment options** (部署選項)，檢視您的選擇。

   接受您的設定並選擇 **Next** (下一步)。

1. 在 **Review** (檢閱) 頁面上，檢閱您的設定，然後選擇 **Submit** (提交)。

## 將服務受管堆疊匯入現有 StackSet (主控台)
<a name="import-service-managed-stack-to-existing-stackset-console"></a>

選擇 StackSet 並識別您要匯入的堆疊。

**將堆疊匯入現有 StackSet**

1. 登入 AWS 管理主控台 並在 https：//[https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) 開啟 CloudFormation 主控台。

1. 從導覽窗格選擇 **StackSets**。

1. 選擇要匯入堆疊的 StackSet，然後從**動作**下拉式清單中選擇**將堆疊新增至 StackSet**。

1. 在**設定部署選項**頁面上進行以下操作：

   1. 對於**將堆疊新增至堆疊集**，選擇**將堆疊匯入堆疊集**。

   1. 在**要匯入的 Stacks** 下方，執行下列動作

      1. 對於 **Stack ID** (堆疊 ID)，輸入您的堆疊 ID。

      1. 對於**堆疊 URL**，輸入 Amazon S3 URL。

   1. 在**相關單位單位**下，執行以下操作：

      1. 選擇**與組織關聯**，以使用根 OU。

      1. 選擇**與組織單位關聯**，以輸入要匯入之堆疊的父 OU ID。例如，如果 `Stack 1` 和 `Stack 2` 在 `OU1` 下方，並且 `Stack 3` 在 `OU2` 下方，則輸入 `OU1` 和 `OU2`。

      接受您的設定並選擇 **Next** (下一步)。

1. 檢閱 **Specify overrides** (指定覆寫) 頁面，然後選擇 **Next** (下一步)。

1. 確認並檢閱 **Review** (檢閱) 頁面並選擇 **Submit** (提交)。

## 將服務受管堆疊匯入 StackSet (AWS CLI)
<a name="import-service-managed-stack-to-stackset.cli"></a>

建立 StackSet 後，您可以透過傳遞所匯入堆疊的堆疊 ID 來匯入堆疊。您也可以將 OU ID 清單傳遞至您要映射的 OU ID 清單。

CloudFormation 會在這些 OU 中匯入使用者提供的堆疊，並使用這些 OU 作為 StackSet 的部署目標。輸入中顯示的堆疊 ID 會對應至內部 OU ID 清單輸入中最接近的 OU。如果堆疊不屬於輸入清單中現有的 OU ID，則 AWS CLI 會傳回`StackNotFoundException`錯誤。

`import-stacks-to-stack-set` 操作可為 OU ID 輸入中的堆疊建立堆疊執行個體。下列 AWS CLI 範例使用 `import-stacks-to-stack-set`操作將堆疊匯入 StackSet。
+ 若要使用 `import-stacks-to-stack-sets` 操作，請指定您想匯入到堆疊集的 `stack-ids` 或 `stack-ids-url`。

  ```
  aws cloudformation import-stacks-to-stack-set \
    --stack-set-name {{ServiceMangedStackSet}} \
    --stack-ids "{{arn:123456789012:us-east-1:Stack1}}" \
    --organizational-unit-ids {{ou-examplerootid111-exampleouid111}}
  ```

  ```
  aws cloudformation import-stacks-to-stack-set \
    --stack-set-name {{ServiceMangedStackSet}} \
    --stack-ids-url {{https://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/file-name.json}} \
    --organizational-unit-ids {{ou-examplerootid111-exampleouid111}}
  ```

**注意**  
`import-stacks-to-stack-sets` 操作會要求您至少指定一個組織單位 ID (OU ID)，以便將匯入的堆疊與該特定 OU 建立關聯。此操作不會為關聯 OU 中的其他成員帳戶建立堆疊執行個體。若要更新關聯 OU 的成員帳戶，請使用 `create-stack-instances` 或 `update-stack-instances`。

`create-stack-set` 利用使用者提供的範本 (無論是直接上傳或來自 Amazon S3)，為 OU 下的所有帳戶建立堆疊執行個體。下列 AWS CLI 範例使用 `create-stack-set`操作將堆疊匯入新的 StackSet。
+ 若要使用 `create-stack-set` 操作，請指定您的 StackSet 名稱，並將堆疊匯入新建立的 StackSet。

  ```
  aws cloudformation create-stack-set \
    --template-url {{https://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/file-name.json}} \
    --permission-model SERVICE_MANAGED \
    --auto-deployment Enabled=true
  ```