インフラストラクチャの一貫性を維持するために、CloudFormation テンプレートタグをリソースタグと一致させたいと思っています。
解決策
影響を受けるスタックのドリフトを確認する
次の手順を実行します。
- AWS Health Dashboard を開き、影響を受けるリソースのデータを取得します。
- CloudFormation スタックのドリフトを検出し、ドリフトの結果を確認します。
**注:**ドリフト検出の詳細については、「リソースタイプのサポート」と「個々のスタックリソースのドリフトを検出」を参照してください。
- リソースのドリフトステータスが修正済みの場合は、リソースを選択し、[ドリフトの詳細を表示] を選択して差分を確認します。
ドリフト検出をサポートするリソースのリソースタグを一致させる
ドリフト検出をサポートするリソースの場合、次のシナリオでテンプレートタグをリソースタグと照合できます。
- リソースのドリフトステータスが修正済みで、そのリソースはドリフト検出をサポートしている。
- すべてのリソースには、差分タイプのステータスコードが削除であるタグ変更がある。
- リソースにおいて、削除ラベルではないタグ変更があり、現在にある各タグキーが予定に含まれている。
重要: 次の手順を実行すると、他のリソースからスタックレベルのタグが一時的に削除されます。サービスがスタックレベルのタグに依存している場合は、リソースのタグを変更してください。
リソースタグを一致させるには、次の手順を実行します。
- 元の CloudFormation テンプレートのコピーを保存します。
- コピーした CloudFormation テンプレートで、削除ラベルの付いたリソースレベルのタグを削除します。
- 新しいテンプレートでスタックを更新し、削除ラベルの付いたスタックレベルのタグを削除します。
重要: 失敗したタグを必ず再適用してください。
- 元のテンプレートに戻した後に、スタックレベルのタグを追加してテンプレートを再デプロイします。
リソースのタグを修正する
次のシナリオでは、リソースのタグを修正できます。
- リソースで、削除ラベルの付いたタグ変更が行われます。リソースのタグ変更は、予定状態にあるタグキーが 現在の状態には存在しないことを示しています。
- リソースに削除ラベルではないタグ変更があります。タグキーは予定状態と現在状態の両方にありますが、値は異なります。
ドリフト検出の詳細に基づいて、リソースに対して次のアクションを実行します。
- 予定の一覧にあり、現在の一覧にはない各タグキーと値を書き留めます。
- 現在の一覧にあり、予定の一覧にはない各タグキーを書き留めます。
- 予定と現在に表示され、値が異なるタグキーごとに、タグを予定に更新します。
リソースのタグを修正するには、次の手順を実行します。
- CloudFormation コンソールを開きます。
- ナビゲーションペインで [スタック] を選択し、該当するスタックを選択します。
- [リソース] を選択し、影響を受けているリソースの [物理 ID] リンクを選択します。
- リソースの [タグ] セクションで、各タグを手動で追加、削除、または更新します。タグは、ドリフトの詳細の予定内の一覧が示す状態と一致する必要があります。
- [保存] を選択します。
スタックとリソースが一致していることを確認するため、ドリフト検出操作を再度実行することをお勧めします。
ドリフト検出をサポートしていないリソースのリソースタグを一致させる
注: 次の更新では、十分なアクセス許可がなかったため適用に失敗したタグが再適用されます。
リソースがドリフト検出をサポートしていない場合は、CloudFormation テンプレートのコピーをデプロイされたリソースと比較してください。
リソースにはタグがないが、CloudFormation テンプレートにはタグがある場合は、次の手順を実行します。
- CloudFormation テンプレートからすべてのタグを削除します。
- コピーした CloudFormation テンプレートを適用してスタックを更新します。次に、スタックレベルのタグを削除します。
- 元の CloudFormation テンプレートに戻し、すべてのスタックレベルのタグを追加してテンプレートを再デプロイします。
リソース内のタグがスタック内のタグと一致しない場合は、次の手順を実行します。
- スタックレベルのタグを削除してスタックを更新します。
- CloudFormation テンプレートで、リソース内のタグと一致するようにタグを変更します。
- 新しい CloudFormation テンプレートを使用してスタックを更新します。必ずスタックレベルのタグを追加し直してください。