🐁
TerraformでローカルからImportする方法
概要
Terraformを使ってTerraform Cloudで管理しているStateファイルをローカルからterraform importする手順を以下に説明します。
手順
1. Terraformにログイン
stateはterraform cloud で管理しているのでCMDで以下のコマンドを実行しプロンプトに従ってログインを実施
terraform login
- AWS CLIを設定
実際にAWSリソースを触るのでCMDで以下のコマンドを実行しアクセスキーとシークレットアクセスキーを登録する
aws configure
- importブロックを作成
次のようにimportブロックを作成します。
例としてIDプロバイダとロールをimportします。
import {
to = aws_iam_openid_connect_provider.github_actions_cicd_provider
id = "arn:aws:iam::***:oidc-provider/token.actions.githubusercontent.com"
}
import {
to = aws_iam_role.github_actions_cicd_role
id = "github-actions-cicd-role"
}
- 設定ファイルを生成
terraform plan -generate-config-out=generated.tf
- Terraformプランの確認
terraform plan
※IDプロバイダをimportする際に以下のエラーが出る可能性がある
- Terraform適用
terraform apply
以上の手順で、Terraform Cloudで管理されているStateファイルをローカルからインポートすることができます。
Discussion