手動で削除したリソースが原因で失敗している AWS CloudFormation スタックを更新するにはどうすればよいですか?

最終更新日: 2020 年 3 月 18 日

AWS CloudFormation スタックのうちのひとつによって作成されたリソースを手動で削除したのですが、スタックが更新されなくなりました。このスタックを更新する方法を教えてください。

簡単な説明

AWS CloudFormation スタックからリソースを削除する場合は、AWS CloudFormation テンプレートからもそのリソースを削除する必要があります。そうしなければ、スタックが更新に失敗し、エラーメッセージが表示されます。

解決方法

手動で作成したリソースを更新する

削除した手動作成のリソースを新しいリソースに置き換えることによって、スタックを更新させることができます。ただし、新しいリソースには削除されたリソースと同じ名前をつける必要があります。

たとえば、AWS Identity and Access Management(IAM) ロールは名前で追跡されるため、リソースの名前を変更すると、ロールの処理方法に影響する可能性があります。IAM ロールを誤って削除した場合には、同じ名前のロールを手動で再作成できます。

IAM ロールまたは手動で作成した他のリソースを更新するには、次の手順を実行してください。

  1. AWS CloudFormation コンソールを開きます。
  2. スタックを選択してから、[Resources] ビューを選択します。
  3. 物理 ID 列で、作成中の新しい IAM ロールに置き換えたい IAM ロールの物理 ID を探します。
    注意: 物理 ID とはリソースの名前のことです。
  4. 新しい IAM ロールを作成後、ステップ 3 で見つけたものと同じ物理 ID を新しいロールに付与します。
  5. スタックを更新します。

注意: 詳細については、スタックテンプレートの変更を参照してください。

固有の ID でリソースを更新する

ルートテーブルなどのリソースを固有の ID で再作成することはできません。代わりに、リソースとそのリソースへのリファレンスを AWS CloudFormation テンプレートから削除する必要があります。

AWS CloudFormation が、ルートテーブルまたは他のリソースを固有の ID で再作成できるようにするには、以下の手順を実行してください。

  1. AWS CloudFormation テンプレートで、ルートテーブルとそのルートテーブルに対するリファレンスを削除します。
  2. ルートテーブルが含まれていないスタックを更新します。
  3. ルートテーブルと、必要な追加のリソースまたはリファレンスを AWS CloudFormation テンプレートに追加しなおします。
    注意: AWS CloudFormation は、削除したリソースを再作成します。
  4. もう一度スタックを更新します。

この記事は役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?