一分一秒真剣勝負!

Ruby, Railsなど。Web系の技術ネタを充実させたい・・が、そうなるかは分からない。

Terraform Cloud - Error: Error locking destination state: Error acquiring the state lock: resource not found

個人でTerraform Cloudにアカウントを作ってみたのですが、 terraform planを実行するとstateのlockエラーが出ました。

$ terraform plan

Error: Error locking state: Error acquiring the state lock: resource not found

Terraform acquires a state lock to protect the state from being written
by multiple users at the same time. Please resolve the issue above and try
again. For most commands, you can disable locking with the "-lock=false"
flag, but this is not recommended.

自分しか使っていないのになんでlockエラーなんだろう? しかもlock IDが表示されないのでterraform force-unlockできないし、state lockのエラーなのにresource not foundってなんだよ・・ぐぬぬ。 と、困っていましたが、API Tokenが複数種類あることに気づいて解決。 結論から言えばUser API Tokensを使おうぜってことだった。

Terraform CloudのAPI Tokenには3種類あって、雑に説明すると以下のような感じで使い分けろってことでした。

User API Tokens・・・CLI用途
Team API Tokens・・・CI/CD用途
Organization API Tokens・・・Organization管理用途

※詳細 - API Tokens - Terraform Cloud - Terraform by HashiCorp

自分はよく読まないでOrganization API TokensってことはOrganizationにスコープを絞ったトークンなんだろうなと思って使っていただけでした。 しかし、plan,applyできないOrganization API Tokensの使い所ってそんなに無いと思うんだけど、どうなんだろう。