■ はじめに
既存AWS環境をTerraformコードとしてエクスポートするツール を探したら、terraformer があったので、メモ。
目次
【1】terraformer 【2】使用上の注意 1)サポートしているTerraform version 【3】環境構築 1)サポートOS 2)前提条件 3)インストール 【4】使い方 1)初期化 2)コマンド実行 【5】オプション 1)--resources 2)--filter
【1】terraformer
* 既存インフラからTerraformコードを生成するツール
https://github.com/GoogleCloudPlatform/terraformer
【2】使用上の注意
1)サポートしているTerraform version
* 古いTerraform versionしか動かないっぽい、、、
https://github.com/GoogleCloudPlatform/terraformer/tree/master?tab=readme-ov-file#capabilities
より抜粋 ~~~~~~~ Support terraform 0.13 (for terraform 0.11 use v0.7.9). ~~~~~~~
【3】環境構築
1)サポートOS
* Linux * Mac * Windows
2)前提条件
* 以下がインストールされている必要がある ~~~~~ [1] Terraform ... ★ [2] AWS CLI ★:Terraform のversionも注意 詳細は「【2】使用上の注意」の「1)サポートしているTerraform version」を参照 ~~~~~ => 入っていない場合は、以下の関連記事を参照のこと
Terraform ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2023/04/05/000224
AWS CLI ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/12/01/000000
3)インストール
https://github.com/GoogleCloudPlatform/terraformer?tab=readme-ov-file#terraformer-1
Linux
# export PROVIDER=aws export PROVIDER=all curl -LO "https://github.com/GoogleCloudPlatform/terraformer/releases/download/$(curl -s https://api.github.com/repos/GoogleCloudPlatform/terraformer/releases/latest | grep tag_name | cut -d '"' -f 4)/terraformer-${PROVIDER}-linux-amd64" chmod +x terraformer-${PROVIDER}-linux-amd64 sudo mv terraformer-${PROVIDER}-linux-amd64 /usr/local/bin/terraformer # 確認 terraformer -version # e.g. version v0.8.24
【3】使い方
1)初期化
echo 'provider "aws" {}' > init.tf terraform init
2)コマンド実行
terraformer import aws --resources=lambda --regions=us-east-2
【5】オプション
1)--resources
* 出力したいサービス * サポートされているサービスは、以下の公式サイトを参照。
https://github.com/GoogleCloudPlatform/terraformer/blob/master/docs/aws.md#supported-services
# もしくは、以下のコマンドでも表示可能
terraformer import aws list
2)--filter
* フィルタリング
例
# 例1:EC2 の インスタンスIDで絞る terraformer import aws --resources=ec2_instance --filter="Name=id;Value=i-0xxxxxxxxx" --regions=us-west-2 # 例2:EC2 の 名前で絞る terraformer import aws --resources=ec2_instance --filter="Name=tags.Name;Value=Terraformer" --regions=us-west-2
参考文献
https://qiita.com/YK0214/items/9e5975cc3cb50192719e
関連記事
Terraform ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2023/04/05/000224
Terraform ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2019/12/09/222057
Terraform ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2023/05/03/000000
Terraform ~ AWS VPC ~
https://dk521123.hatenablog.com/entry/2024/06/22/221012
Terraform ~ AWS ECR ~
https://dk521123.hatenablog.com/entry/2023/05/23/002314
AWS CLI ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/12/01/000000