1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Terraform】 no available releases match the given constraints エラーを解決する

Posted at

「指定された制約 ( >= 2.23.0, >= 3.64.0, ~> 3.73, >= 5.20.0 ) に一致する利用可能なリリースがありません」 というエラー

$ terraform init

... 略 ...
╷
│ Error: Failed to query available provider packages
│ 
│ Could not retrieve the list of available versions for provider hashicorp/aws: 
| no available releases match the given constraints >= 2.23.0, >= 3.64.0, ~> 3.73,
│ >= 5.20.0
╵

このエラーは、以下のように制約を満たすプロバイダのバージョンが存在しない状況で発生します。

  1. 2.23.0 以降のバージョン
  2. 3.64.0 以降のバージョン
  3. 3.73 以上 4.0 未満のバージョン
  4. 5.20.0 以降のバージョン

この不整合を解決するには、利用しているモジュールが依存しているプロバイダのバージョンを確認し、制約を満たすようにモジュールのバージョンを調整していきます。

※ ちなみに今回エラーが起こっているプロバイダは hashicorp/aws です。

 $ terraform providers

Providers required by configuration:
.
├── provider[registry.terraform.io/hashicorp/aws] ~> 3.73
├── provider[registry.terraform.io/hashicorp/null]
├── provider[registry.terraform.io/hashicorp/tls]
├── provider[registry.terraform.io/hashicorp/kubernetes] ~> 2.5.0
├── provider[registry.terraform.io/hashicorp/helm] ~> 2.6.0
├── module.eks
│   ├── provider[registry.terraform.io/hashicorp/aws] >= 3.64.0
│   ├── provider[registry.terraform.io/hashicorp/tls] >= 2.2.0
│   ├── module.eks_managed_node_group
│   │   ├── provider[registry.terraform.io/hashicorp/aws] >= 3.64.0
│   │   ├── provider[registry.terraform.io/hashicorp/cloudinit] >= 2.0.0
│   │   └── module.user_data
│   │       └── provider[registry.terraform.io/hashicorp/cloudinit] >= 2.0.0
│   ├── module.fargate_profile
│   │   └── provider[registry.terraform.io/hashicorp/aws] >= 3.64.0
│   └── module.self_managed_node_group
│       ├── provider[registry.terraform.io/hashicorp/aws] >= 3.64.0
│       ├── provider[registry.terraform.io/hashicorp/cloudinit] >= 2.0.0
│       └── module.user_data
│           └── provider[registry.terraform.io/hashicorp/cloudinit] >= 2.0.0
├── module.iam_assumable_role_admin
│   └── provider[registry.terraform.io/hashicorp/aws] >= 2.23.0
└── module.vpc
    └── provider[registry.terraform.io/hashicorp/aws] >= 5.20.0

プロバイダの依存リストを見ると module.vpc>= 5.20.0 に依存しており、これが ~> 3.73 と不整合を起こしているようです。
今回は module.vpc で利用している terraform-aws-modules/vpc/aw のバージョンを下げることで、不整合を解決してみます。

vpc.tf
module "vpc" {
  source = "terraform-aws-modules/vpc/aws"
  version = "~> 3.0"  // バージョン指定を追加

  name = "eks-vpc"
  cidr = "10.0.0.0/16"
  // ... 省略 ...
}

terraform-aws-modules/vpc/aws のバージョンを ~> 3.0 に設定したところ、terraform init に成功しました。
プロバイダの依存関係の制約も満たすことができています。

$ terraform init -upgrade 
... 略 ...
Terraform has been successfully initialized!
... 略 ...


$ terraform providers

Providers required by configuration:
.
├── provider[registry.terraform.io/hashicorp/kubernetes] ~> 2.5.0
├── provider[registry.terraform.io/hashicorp/null]
├── provider[registry.terraform.io/hashicorp/tls]
├── provider[registry.terraform.io/hashicorp/helm] ~> 2.6.0
├── provider[registry.terraform.io/hashicorp/aws] ~> 3.73
├── module.vpc
│   └── provider[registry.terraform.io/hashicorp/aws] >= 3.73.0
├── module.eks
│   ├── provider[registry.terraform.io/hashicorp/tls] >= 2.2.0
│   ├── provider[registry.terraform.io/hashicorp/aws] >= 3.64.0
│   ├── module.eks_managed_node_group
│       ├── provider[registry.terraform.io/hashicorp/cloudinit] >= 2.0.0
│       ├── provider[registry.terraform.io/hashicorp/aws] >= 3.64.0
│       └── module.user_data
│           └── provider[registry.terraform.io/hashicorp/cloudinit] >= 2.0.0
│   ├── module.fargate_profile
│       └── provider[registry.terraform.io/hashicorp/aws] >= 3.64.0
│   └── module.self_managed_node_group
│       ├── provider[registry.terraform.io/hashicorp/aws] >= 3.64.0
│       ├── provider[registry.terraform.io/hashicorp/cloudinit] >= 2.0.0
│       └── module.user_data
│           └── provider[registry.terraform.io/hashicorp/cloudinit] >= 2.0.0
└── module.iam_assumable_role_admin
    └── provider[registry.terraform.io/hashicorp/aws] >= 2.23.0
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?