目次
Terraformでは、tfファイルに無い既存リソース削除は可能か?
Terraform自体は、tf
ファイルで定義されていないリソースを直接削除する能力は持っていません。
しかし、Terraformのtfstate
ファイルと実際の環境の間に差異が生じた場合の対処方法はいくつかあります。
1. **terraform import
**:
既存のリソースをtfstate
ファイルにインポートするコマンドです。これを使って既存リソースをTerraformの管理下に置くことができます。その後、tf
ファイルから対応するリソースを削除し、terraform apply
を実行すれば、インポートしたリソースを削除することができます。
2. **手動でリソースの削除**:
リソースを手動で削除した場合、Terraformのtfstate
と実際の環境との間に不整合が生じることがあります。そのため、手動でリソースを削除する場合は、その後tfstate
ファイルも適切に更新する必要があります。
3. **Terraformのrefresh
**:
terraform refresh
コマンドを実行すると、実際の環境の状態を確認して、tfstate
ファイルを更新します。ただし、この操作はtfstate
ファイルを更新するだけで、実際のリソースを変更しません。
要するに、Terraformは明示的に管理対象として指定したリソースのみを扱います。既存のリソースをTerraformで管理したい場合は、そのリソースを適切にインポートするか、直接削除してtfstate
ファイルを適切に更新する必要があります。