

# CloudFormation StackSets のためのセルフマネージドスタックインポート
<a name="self-managed-import"></a>

CloudFormation スタックのインポートオペレーションでは、既存のスタックを新規または既存の StackSets にインポートできるため、既存のスタックを 1 回のオペレーションで StackSet に移行できます。スタックインポートを使用することで、それらのリソースを削除して再作成することなく、ダウンタイムや停止を回避できます。スタックが StackSet にインポートされると、元のスタックは指定されたスタックセットのスタックインスタンスになります。

**セルフマネージドスタックのインポートに関する考慮事項**
+ スタックのインポートオペレーションには、StackSet を作成する管理者アカウントと、スタックを含むターゲットアカウントが必要です。
+ ターゲットアカウントには、スタック ID または ARN の入力で `GetTemplate` オペレーションを使用する権限が必要です。そのため、管理者アカウントには **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 マネジメントコンソール にサインインし、CloudFormation コンソール ([https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/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 の名前を入力し、**[次へ]** を選択します。

   (オプション) StackSet の説明を入力します。

1. **[スタックオプションの設定]** ページで、選択内容を確認し、**[次へ]** を選択します。

1. **[デプロイオプションの設定]** ページで、**[スタックをスタックセットにインポート]** を選択します。

1. インポートするスタックのスタック ID を **[Stacks to import]** (インポートするスタック) フィールドに入力します。例えば、`arn:aws:cloudformation:us-east-1:123456789012:stack/StackToImport/f449b250-b969-11e0-a185-5081d0136786`。

   (オプション) **[別のスタック ID の追加]** を追加するを選択し、インポートする別のスタックのスタックID を入力します。スタックのインポートオペレーションごとに最大 10 個のスタックを追加できます。

1. デプロイのオプションを確認し、**[次へ]** を選択します。

1. **[レビュー]** ページで、設定と StackSet のプロパティを確認します。スタックを StackSet にインポートする準備ができたら、**[送信]** を選択します。

**結果**: インポートされたスタックは、指定された StackSet のスタックインスタンスになりました。スタックインポートステータスの詳細については、「[StackSets ステータスコード](stacksets-concepts.md#stackset-status-codes)」を参照してください。

## 既存のスタックを既存の StackSet にインポートする (コンソール)
<a name="import-stack-to-existing-stackset"></a>

開始する前に、インポートするスタックを特定します。

1. AWS マネジメントコンソール にサインインし、CloudFormation コンソール ([https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/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. **[Specify overrides]** (オーバーライドを指定) ページで、選択内容を確認し、**[次へ]** を選択します。

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 によって識別されます。placeholder text を独自の情報に置き換えます。

```
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 によって識別されます。placeholder text を独自の情報に置き換えます。

```
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 にスタックインスタンスを追加します。placeholder text を独自の情報に置き換えます。

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