

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

# for CloudFormation StackSets 的自我管理堆疊匯入
<a name="self-managed-import"></a>

CloudFormation 堆疊匯入操作可以將現有堆疊匯入新的或現有的 StackSets，以便您可以在一次操作中將現有堆疊移轉至 StackSets。透過使用堆疊匯入，您可以避免停機時間和中斷，而無需刪除和重新建立這些資源。一旦堆疊匯入到 StackSet 中，原始堆疊將成為指定 StackSet 的堆疊執行個體。

**自我管理堆疊匯入的考量事項**
+ 堆疊匯入操作需要您建立 StackSet 所在的管理員帳戶，以及包含堆疊的目標帳戶。
+ 目標帳戶必須具備許可來搭配使用 `GetTemplate` 操作與堆疊 ID 或 ARN 輸入。因此，您的管理員帳戶必須獲得 **AWSCloudFormationStackSetAdministrationRole** 或 **AWSCloudFormationStackSetsExectionRole** 許可。

**Topics**
+ [將現有堆疊匯入新 StackSet (主控台)](#import-stacks-to-stack-set)
+ [將現有堆疊匯入現有 StackSet (主控台)](#import-stack-to-existing-stackset)
+ [將堆疊匯入 StackSet (AWS CLI)](#importing-stack-to-stackset.cli)

## 將現有堆疊匯入新 StackSet (主控台)
<a name="import-stacks-to-stack-set"></a>

開始之前，識別您要匯入的堆疊。

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

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

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

1. 在**選擇範本**頁面上，使用下列其中一個選項指定範本，然後選擇**下一步**。
   + 選擇 **Amazon S3 URL**，然後在文字方塊中為您的範本指定 URL。
   + 選擇 **Upload a template file** (上傳範本檔案)，然後瀏覽您的範本。
   + 選擇 **From stack ID** (通過堆疊 ID)，然後輸入您的堆疊 ID。

1. 在**指定 StackSet 詳細資訊**頁面上，輸入您要建立的堆疊集名稱並選擇**下一步**。

   (選用) 輸入 StackSet 說明。

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

1. 在**設定部署選項**頁面上，選擇**將堆疊匯入堆疊集**。

1. 在 **Stacks to import** (要匯入的堆疊) 欄位中輸入您想要匯入的堆疊的堆疊 ID。例如 `arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/f449b250-b969-11e0-a185-5081d0136786`。

   (選用) 選擇**新增另一個堆疊 ID**，然後輸入您想要匯入的另一個堆疊的堆疊 ID。每個堆疊匯入操作最多可以新增 10 個堆疊。

1. 檢閱您的部署選項，然後選擇**下一步**。

1. 在**檢閱**頁面上，檢閱您的選擇以及 StackSet 的屬性。當您準備好將堆疊匯入堆疊集時，請選擇**提交**。

**結果**：匯入的堆疊現在是指定 StackSet 的堆疊執行個體。要進一步了解堆疊匯入狀態，請參閱 [StackSets 狀態碼](stacksets-concepts.md#stackset-status-codes)。

## 將現有堆疊匯入現有 StackSet (主控台)
<a name="import-stack-to-existing-stackset"></a>

開始之前，識別您要匯入的堆疊。

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

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

1. 在 **StackSets** 頁面上，選擇您想要匯入堆疊的 StackSet。

1. 選擇 StackSet 後，從**動作**選單選擇**將堆疊新增至 StackSet**。

1. 在**設定部署選項**頁面上，選擇**將堆疊匯入堆疊集**，然後在**要匯入的堆疊**欄位輸入您想要匯入之堆疊的堆疊 ID。例如 `arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/f449b250-b969-11e0-a185-5081d0136786`。

   (選用) 選擇**新增另一個堆疊 ID**，然後輸入您想要匯入的另一個堆疊的堆疊 ID。每個堆疊匯入操作最多可以新增 10 個堆疊。

1. 選擇**下一步**。

1. 在**指定覆寫**頁面上，檢閱您的選擇，然後選擇**下一步**。

1. 在**檢閱**頁面上，檢閱您的選擇以及 StackSet 的屬性。當您準備好建立 StackSet 時，請選擇**提交**。

**結果**：匯入的堆疊現在是指定 StackSet 的堆疊執行個體。要進一步了解堆疊匯入狀態，請參閱 [StackSets 狀態碼](stacksets-concepts.md#stackset-status-codes)。

## 將堆疊匯入 StackSet (AWS CLI)
<a name="importing-stack-to-stackset.cli"></a>

**將現有堆疊匯入新 StackSet**  
下列 `create-stack-set` 命令會建立 StackSet,並匯入指定的堆疊。要匯入的堆疊由其 ARN 識別。以您自己的資訊取代預留位置文字。

```
aws cloudformation create-stack-set \
  --stack-set-name MyStackSet \
  --stack-id arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/466df9e0-0dff-08e3-8e2f-5088487c4896 \
  --administration-role-arn arn:aws:iam::123456789012:role/AWSCloudFormationStackSetAdministrationRole \
  --execution-role-name AWSCloudFormationStackSetExecutionRole
```

**將現有堆疊匯入現有 StackSet**  
下列 `import-stacks-to-stack-sets` 命令會將指定的堆疊匯入 *MyStackSet* StackSet。要匯入的堆疊由其 ARN 識別。以您自己的資訊取代預留位置文字。

```
aws cloudformation import-stacks-to-stack-set \
  --stack-set MyStackSet \
  --stack-ids arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/f449b250-b969-11e0-a185-5081d0136786
```

要指定多個堆疊，請針對 `--stack-ids` 選項的值使用下列格式。

```
--stack-ids "arn_1" "arn_2"
```

**將匯入的堆疊複製到其他區域和帳戶**  
執行 `create-stack-instances` 命令，將堆疊執行個體新增至 StackSet。以您自己的資訊取代預留位置文字。

```
aws cloudformation create-stack-instances \
  --stack-set-name MyStackSet \
  --accounts '["account_ID_1","account_ID_2"]' \
  --regions '["region_1","region_2"]'
```