s3

A collection of 4 posts
Terraform state file removed by S3 Lifecycle
aws

Terraform state file removed by S3 Lifecycle

こんにちわ。最近キャンプばっかり行っているのでブログ更新が滞っています。あかん! さて、このブログが動いているサーバはterraformでインフラの管理をしています。 terraformのstateファイルの管理はS3バックエンドを使っています。 * Migration from terraform remote command to terraform backend system また、S3の設定でバージョニングとライフサイクルの設定をしていました。 * Versioning terraform.tfstate この設定が原因でtfstateファイルが消えてしまったので記録しておきます…。 起きたこと terraform planを実行したら全てのリソースがcreateされる差分が出てしまいました。 急いでS3のバケットを見たところ、なんと空になっていました…。泣きながら削除済みオブジェクトを表示してみたところ、以下のように削除マーカーが設置されていました。削除マーカー以前のバージョンのtfstateファイルも見れる状態でした。
2 min read
Versioning terraform.tfstate
terraform

Versioning terraform.tfstate

この記事のS3ライフサイクルの設定では、90日以上更新のないtfstateファイルを削除してしまうので注意…。 * Terraform state file removed by S3 Lifecycle 助言を頂いた! .tfstate の backend を S3 にしていたら、バケットの Versioning Property を Enable にしておくと良いかも。 > plan で .tfstate に差分 / “Split main…” https://t.co/qX3vZAP5LW — Takashi Masuda (@masutaka) 2016年10月23日 その後口頭で公式のベストプラクティス的なものにも書いてあった気がすると聞いたので確認したところ、オフィシャルのドキュメントでS3でtfstate管理する場合はBucket Versioningを有効にすることを激しく推奨していました! Warning! It is highly recommended to enable Bucket Versioning on the
2 min read
End of Atlas free trial
terraform

End of Atlas free trial

\(o)/オワタ * Atlas | HashiCorp $ terraform plan Error reloading remote state: Unexpected HTTP response code: 400 Body: {"errors":["This feature requires Terraform Enterprise. Please contact sales@hashicorp.com to start or extend your trial."],"success":false} Freeプランだとterraform(のtfstate置き場として)使えないのよな…。泣きそう。 とりあえずS3に退避。諸々忘れてていったんまっさらにしてから始め直したいので、まずは既存のremote設定を消す(消さなくても出来ると思われる)。 terraform remote config -disable これでローカルの.terraform/terraform.
1 min read