

# AWS リソースを CloudFormation スタックに自動でインポートする
<a name="import-resources-automatically"></a>

CloudFormation スタックを作成または更新するときに、*名前付きリソース*を自動的にインポートできるようになりました。*名前付きリソース*とはカスタム名を持つリソースのことです。詳細については、「*CloudFormation テンプレートリファレンス*」の「[Name タイプ](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-name.html)」を参照してください。

自動インポートを開始すると、CloudFormation がテンプレートに一致する既存のリソースをチェックし、それらをデプロイ中にインポートします。ネストされたスタックの場合は、ルートスタックから変更セットを作成します。

インポートが完了した後、後続のスタックオペレーションを実行する前に、インポートされたリソースでドリフト検出を実行することをお勧めします。ドリフト検出により、テンプレート構成が実際の構成と一致することが保証されます。詳細については、「[CloudFormation スタック全体のドリフトを検出する](detect-drift-stack.md)」を参照してください。

リソースをインポートするときは、次の要件を満たす必要があります。
+ リソースに、テンプレートで定義した静的カスタム名が付いていること。動的な名前 (\$1Ref または他の 関数を使用) は現在サポートされていません。
+ リソースに `Retain` または `RetainExceptOnCreate` の `DeletionPolicy` があること。
+ リソースが 別の CloudFormation スタックに属していないこと。
+ リソースタイプが CloudFormation のインポートオペレーションをサポートしていること。詳細については、「[リソースタイプのサポート](resource-import-supported-resources.md)」を参照してください。
+ リソースタイプのプライマリ ID は テンプレートにある必要があります。読み取り専用プロパティを持つプライマリ ID はサポートされていません。タイプに対するプライマリ ID を確認するには、リソーススキーマで `primaryIdentifier` プロパティを探します。プロパティの詳細については、「[primaryIdentifier](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-schema.html#schema-properties-primaryidentifier)」を参照してください。

**Example 自動インポートの例**  
次の例では、変更セット `CreateChangeSet` を使用して、テンプレートファイル `template.yaml` に基づいて `my-stack` という名前のスタックを作成し、一致するリソースを自動的にインポートします。  

```
aws cloudformation create-change-set \
  --stack-name my-stack \
  --change-set-name CreateChangeSet \
  --change-set-type CREATE \
  --template-body file://template.yaml \
  --import-existing-resources
```

## トラブルシューティング
<a name="auto-import-troubleshooting"></a>

自動インポートが失敗した場合は、以下を実行してトラブルシューティングを行います。
+ テンプレートのリソース名がリソースの名前と正確に一致していることを確認する。
+ リソースがまだ別のスタックで管理されていないことを確認する。
+ リソースタイプがインポートオペレーションをサポートしていることを確認する。
+ リソースタイプに必要なすべてのプロパティがテンプレートに含まれていることを確認する。