CloudFormation の変更セットエラーを解決するにはどうすればよいですか?
最終更新日: 2021 年 3 月 17 日
AWS CloudFormation スタックにリソースをインポートしようとすると、エラーが表示されます。
簡単な説明
表示されるエラーの種類に基づいて、以下のセクションのいずれかの手順を実行します
- 出力エラーのトラブルシューティング
- スタック属性による検証エラーのトラブルシューティング
- 変更されたリソースエラーのトラブルシューティング
- リストをインポートするためのリソースのエラーのトラブルシューティング
注意: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
解決方法
出力エラーのトラブルシューティング
以下のエラーが表示されます。
There was an error creating this change set.
As part of the import operation, you cannot modify or add [Outputs]
次のトラブルシューティング手順をお試しください。
1. 最新の CloudFormation テンプレートの [Outputs] セクションを、スタックが現在使用しているテンプレートと比較します。両方のテンプレートの [Outputs] セクションが同じである必要があります。
値が同じでない場合は、最新のテンプレートを更新して、スタックが現在使用しているテンプレートの [Outputs] セクションの出力と正確に同じ値に一致させます。
重要: インポート操作には、論理ID、説明、値、エクスポート、および出力のその他のプロパティへの追加と変更を含めることはできません。
2. インポート操作が完了したら、出力構成で必要な変更を行い、スタックを再度更新します。
スタック属性による検証エラーのトラブルシューティング
以下のエラーが表示されます。
An error occurred (ValidationError) when calling the CreateChangeSet operation: As part of the import operation, you cannot modify or add [Tags]
次のトラブルシューティング手順をお試しください。
1. 変更セットの作成操作に含まれるスタック属性 (タグや NotificationARN など) がスタックの現在の属性値と同期していることを確認します。
重要: 新しい属性値を更新したり追加したりしないでください。
2. リソースがインポートされたら、別の更新操作で属性を更新します。
注意: このエラーは、AWS CLI または AWS SDK を使用してタイプ IMPORT の変更セットが作成され、変更または追加されたスタック属性が含まれている場合に発生します。
変更されたリソースエラーのトラブルシューティング
このエラーは、リソースのインポート操作中に既存のリソースが変更されたときにスローされます。インポート操作中は、作成、更新、削除の各操作はできません。
このエラーが表示される場合:
There was an error creating this change set
You have modified resources [ResourceName] in your template that are not being imported. Update, create or delete operations cannot be executed during import operations.
以下を試してください。
1. IMPORT タイプの変更セットの代わりに、UPDATE タイプの変更セットを作成します。これにより、リソースの変更のソースが表示されます。
2. 既存のリソースとまったく同じリソース仕様を使用し、テンプレートにインポートする必要があるリソースのみを追加します。
リストをインポートするためのリソースのエラーのトラブルシューティング
以下のエラーが表示されます。
An error occurred (ValidationError) when calling the CreateChangeSet operation: Resources [<ResourceName>] is missing from ResourceToImport list
以下を試してください。
1. CloudFormation テンプレートで、スタックにインポートするすべてのリソースの ResourceToImport プロパティに物理 ID を渡していることを確認します。
以下のエラーが表示されます。
An error occurred (ValidationError) when calling the CreateChangeSet operation: Must Provide at least one resource to import
以下を試してください。
1. AWS CLI コマンドに --resources-to-import を含めていること、または API 呼び出しに ResourceToImport を含めていることを確認しますまた、必ずインポートするすべてのリソースを一覧表示します。
注意: 通常、これらのエラーは、AWS CLI または AWS SDK を使用して IMPORT タイプの変更セットが作成されたときに発生します。
重要: インポートするには、すべての新しいリソースに物理 ID を渡す必要があります。