Terraform 既存サービスをインポートする方法

AWS, Terraform

terraform実装する際に、既存サービスの設定を知りたい場合などに役立つ。
以下にRDSをインポートする例を記載。

環境

前提:terraformインストール済
適当な場所に以下のような構成を作成

terraform
 └ main.tf

※実行はルートファイル

コード

main.tfにて、インポートしたいサービスを定義

provider "aws" {
 access_key = "${var.access_key}"
 secret_key = "${var.secret_key}"
 region     = "${var.region}"
}
# インポートしたいリソースを空で定義
resource "aws_db_instance" "rds-info" {
}

インポートのコマンド

以下コマンド実行

terraform import aws_db_instance.example {DBインスタンスID}

実行後

同階層に「terraform.tfstate」が生成される。
このファイルを確認すると、以下のように設定に関する情報が出力されている。

{
  "version": 4,
  "terraform_version": "0.12.9",
  "serial": 1,
  "lineage": "455c7e03-xxxxx",
  "outputs": {},
  "resources": [
    {
      "mode": "managed",
      "type": "aws_db_instance",
      "name": "example",
      "provider": "provider.aws",
      "instances": [
        {
          "schema_version": 0,
   :
   :

AWS, Terraform

Posted by 上地健太