

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

リソースインポート機能を使用すると、既存の AWS リソースを新規または既存の CloudFormation スタックにインポートすることができます。インポートオペレーション中に、既存のリソースをスタックにインポートするか、既存のリソースから新しいスタックを作成する変更セットを作成します。インポート時に以下を指定します。
+ 元のスタックリソースとインポートするリソースの両方を含む、スタック全体を記述するテンプレート。インポートする各リソースには、[DeletionPolicy 属性](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-attribute-deletionpolicy.html)が必要です。
+ CloudFormation がテンプレート内の論理 ID を既存のリソースにマッピングするために使用できる、インポートするリソースの識別子。

**注記**  
CloudFormation は、リソースインポートを使用した 1 レベルのネスト化のみをサポートしています。つまり、子スタックにスタックをインポートしたり、子を持つスタックをインポートしたりすることはできません。

**Topics**
+ [リソース識別子](#resource-import-identifiers-unique-ids)
+ [検証](#resource-import-validation)
+ [ステータスコード](#resource-import-status-codes)
+ [考慮事項](#resource-import-considerations)
+ [その他のリソース](#resource-import-additional-resources)
+ [既存のリソースからのスタックの作成](resource-import-new-stack.md)
+ [スタックへの既存リソースのインポート](resource-import-existing-stack.md)
+ [スタック間でのリソースの移動](refactor-stacks.md)
+ [既存のスタックのネスト化](resource-import-nested-stacks.md)

## リソース識別子
<a name="resource-import-identifiers-unique-ids"></a>

インポートする各リソースを識別するために 2 つの値を指定します。
+ 識別子のプロパティ。これは、各リソースタイプを識別するために使用できるリソースプロパティです。たとえば、`AWS::S3::Bucket` リソースは、その `BucketName` を使用して識別できます。

  インポートするリソースを識別するために使用するリソースプロパティは、リソースタイプによって異なります。リソースプロパティは CloudFormation コンソールで確認できます。インポートするリソースを含むテンプレートを作成したら、インポートプロセスを開始できます。このプロセスでは、インポートするリソースの識別子プロパティを見つけることができます。一部のリソースタイプでは、識別方法が複数ある場合があり、ドロップダウンリストで使用するプロパティを選択できます。

  あるいは、[get-template-summary](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/get-template-summary.html) CLI コマンドを呼び出して、`--template-url` オプションの値としてスタックテンプレートの S3 URL を指定することにより、インポートするリソースの識別子プロパティを取得することもできます。
+ 識別子の値。これは、リソースの実際のプロパティ値です。たとえば、`BucketName` プロパティの実際の値は `MyS3Bucket` です。

  リソースのサービスコンソールから識別子プロパティの値を取得できます。

## リソースのインポートの検証
<a name="resource-import-validation"></a>

インポートオペレーション中に、CloudFormation は次の検証を実行します。
+ インポートするリソースが存在します。
+ インポートする各リソースのプロパティと構成値は、リソースタイプスキーマに準拠します。リソースタイプスキーマでは、受け入れられるプロパティ、必須プロパティ、およびサポートされるプロパティ値が定義されます。
+ 必要なプロパティはテンプレートで指定されています。各リソースタイプに必要なプロパティについては、「[AWS リソースおよびプロパティタイプのリファレンス](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-template-resource-type-ref.html)」を参照してください。
+ インポートするリソースは、同じリージョン内の別のスタックに属していません。

CloudFormation は、テンプレート構成がリソースプロパティの実際の構成と一致しているかどうかをチェックしません。

**重要**  
予期しない変更を避けるために、テンプレートで定義されているリソースとそのプロパティが、意図したリソースインポートの構成と一致していることを確認します。

## リソースのインポートのステータスコード
<a name="resource-import-status-codes"></a>

この表は、リソースインポート機能で使用されるさまざまなステータスタイプを説明しています。


| インポートオペレーションステータス | 説明 | 
| --- | --- | 
|  `IMPORT_IN_PROGRESS`  |  インポートオペレーションは進行中です。  | 
|  `IMPORT_COMPLETE`  |  スタック内のすべてのリソースについて、インポートオペレーションが完了しました。  | 
|  `IMPORT_ROLLBACK_IN_PROGRESS`  |  ロールバックインポートオペレーションは、以前のテンプレート構成をロールバックしています。  | 
|  `IMPORT_ROLLBACK_FAILED`  |  インポートのロールバックオペレーションが失敗しました。  | 
|  `IMPORT_ROLLBACK_COMPLETE`  |  インポートは、以前のテンプレート構成にロールバックされました。  | 

## インポートオペレーション中の考慮事項
<a name="resource-import-considerations"></a>
+ インポートが完了した後、後続のスタックオペレーションを実行する前に、インポートされたリソースでドリフト検出を実行することをお勧めします。ドリフト検出により、テンプレート構成が実際の構成と一致することが保証されます。詳細については、「[CloudFormation スタック全体のドリフトを検出する](detect-drift-stack.md)」を参照してください。
+ インポートオペレーションでは、新しいリソース作成、リソースの削除、プロパティ構成の変更は許可されません。
+ インポートオペレーションを成功させるには、インポートする各リソースに `DeletionPolicy` 属性が必要です。`DeletionPolicy` は任意の使用できる値に設定できます。インポートするリソースのみに `DeletionPolicy` が必要です。スタックにすでに含まれているリソースは、`DeletionPolicy` を必要としません。
+ 同じリソースを複数のスタックにインポートすることはできません。
+ `cloudformation:ImportResourceTypes` IAM ポリシー条件を使用して、インポートオペレーション中にユーザーが操作できるリソースタイプを制御できます。詳細については、「[CloudFormation のポリシー条件キー](control-access-with-iam.md#using-iam-conditions)」を参照してください。
+ CloudFormation スタックの制限は、リソースのインポート時に適用されます。制限の詳細については、「[CloudFormation クォータを理解する](cloudformation-limits.md)」を参照してください。

## その他のリソース
<a name="resource-import-additional-resources"></a>

リソースインポートでのスタックドリフトを解決するには、「[インポートオペレーションでドリフトを解決する](resource-import-resolve-drift.md)」を参照してください。