🐁

TerraformでローカルからImportする方法

2024/06/13に公開

概要

Terraformを使ってTerraform Cloudで管理しているStateファイルをローカルからterraform importする手順を以下に説明します。

手順

1. Terraformにログイン

stateはterraform cloud で管理しているのでCMDで以下のコマンドを実行しプロンプトに従ってログインを実施

terraform login
  1. AWS CLIを設定

実際にAWSリソースを触るのでCMDで以下のコマンドを実行しアクセスキーとシークレットアクセスキーを登録する

aws configure
  1. 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"
}
  1. 設定ファイルを生成
terraform plan -generate-config-out=generated.tf
  1. Terraformプランの確認
terraform plan

※IDプロバイダをimportする際に以下のエラーが出る可能性がある
https://zukkie.link/【terraform】idプロバイダのimportでexpected-url-to-have-a-hostが出る/

  1. Terraform適用
terraform apply

以上の手順で、Terraform Cloudで管理されているStateファイルをローカルからインポートすることができます。

GitHubで編集を提案

Discussion