概要
Terraformの学習でState Lockingの導入の練習で詰まっている箇所があります。
terraform
1# Specify the provider and access details 2provider "aws" { 3 region = "ap-northeast-1" 4 profile = "default" 5} 6 7terraform { 8 backend "s3" { 9 key = "terraform.tfstate" 10 bucket = "terraform-sample-yuta" 11 region = "ap-northeast-1" 12 dynamodb_table = "terraform-state-lock-dynamo" 13 } 14} 15 16resource "aws_dynamodb_table" "dynamodb-terraform-state-lock" { 17 name = "terraform-state-lock-dynamo" 18 hash_key = "LockID" 19 read_capacity = 20 20 write_capacity = 20 21 22 attribute { 23 name = "LockID" 24 type = "S" 25 } 26 27 tags = { 28 Name = "DynamoDB State Lock Table" 29 } 30} 31 32resource "aws_instance" "web" { 33 instance_type = "t3.small" 34 # Amazon Linux2 35 ami = "ami-0992fc94ca0f1415a" 36 count = 1 37 tags = { 38 Name = "EC2 instance terraform" 39 } 40} 41
こちらのHCLファイルをterraform plan
で実行しますと以下のエラーがでます。
$ terraform plan Error: Error locking state: Error acquiring the state lock: 2 errors occurred: * ResourceNotFoundException: Requested resource not found * ResourceNotFoundException: Requested 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.
エラー内容を確認しますとリクエストしたリソースが見つからないというエラーのように見えます。
2つあるので、DynamoDBとEC2インスタンスの作成でリソースがないと怒られていると思うのですが、分割して実行したときはちゃんと上手く言ったので、足りていないとは思えないです。
非推奨のterraform apply -lock=false
で実行すればいちおう動きますが非推奨なのでなるべく使いたくないという気持ちです。
なにがいけないか分かる方いますでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。