Error: Resource already exists
Terraformで既に存在するリソースを作成しようとした場合に発生
概要
Terraformで管理外のリソースが既に存在する場合、または状態ファイルと実際のインフラが不整合な場合に発生するエラーです。
エラーメッセージ
Error: Error creating S3 bucket: BucketAlreadyExists: The requested bucket name is not available.
原因
- リソースが手動で作成済み: コンソールやCLIで作成された
- 状態ファイルが古い/破損: tfstateが実際のリソースを反映していない
- 名前の衝突: グローバルに一意な名前が重複
- 別のTerraformプロジェクト: 同じリソースを別の場所で管理
解決策
1. 既存リソースをインポート
| |
2. リソース名を変更
| |
3. 状態をリフレッシュ
| |
4. 状態からリソースを削除
| |
5. create_before_destroyを使用
| |
6. データソースとして参照
| |
7. 条件付きリソース作成
| |
Terraform の他のエラー
この記事は役に立ちましたか?