CloudFormationからTerraformへの変換が超簡単!cf2tfを使ってみた

こんにちは!

今回は「CloudFormationのコードをTerraformに変換したいなぁ」と思って見つけた便利ツールの紹介です。

見つけたのはこれ

cf2tfというツールを見つけました。
名前の通り、CloudFormationからTerraformへの変換ツールです。

インストールと使い方

pip install cf2tf

はい、これだけです
Pythonさえ入ってれば一発です。

使い方も超シンプル。

cf2tf my_template.yaml

# "my_template.yaml" は、変換したいCloudFormationのファイル

これだけで、その場にTerraformのコードが生成されます。マジで。

実際に使ってみた

手元にあったS3バケットを作るシンプルなCloudFormationを変換してみました。

# 元のCloudFormation
Resources:
  TestBucket:
    Type: 'AWS::S3::Bucket'
    Properties:
      BucketName: my-test-bucket-2024-shida

これを変換すると...

# 変換後のTerraform
resource "aws_s3_bucket" "test_bucket" {
  bucket = "my-test-bucket-2024-shida"
}

おおー、ちゃんと変換されてる!

感想

こんなに簡単に変換できるとは思ってませんでした
複雑なCloudFormationだとどうなるかはこれから試してみる予定ですが、少なくともシンプルなリソースならサクッと変換できそうです。

「既存のCloudFormationをTerraformに移行したいなぁ...」って思ってる方は、とりあえず使ってみる価値ありですよ!