0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

個人的備忘録:どっちが正解?TerraformとCloudFormationの使いどころを整理してみた

Posted at

はじめに

私はTerraformが一番好きなIaC(Infrastructure as Code)ツールだと思っています。でも実は、AWSのCloudFormation(クラウドフォーメーション)も好きです。

両者にはそれぞれの魅力と得意分野があり、使い分けを意識することでより効果的なインフラ構築が可能になります。

本記事では、TerraformとCloudFormationの違いや、それぞれの使いどころについて整理します。

Terraformが好きな理由

  • マルチクラウド対応でAWS以外でも使える
  • モジュール化しやすく、再利用性が高い
  • HCL(HashiCorp Configuration Language)が読みやすい
  • terraform plan で事前に変更内容を確認できる安心感

CloudFormationが好きな理由

  • AWS公式ツールであり、AWSサービスとの統合が強力
  • ネイティブなサービスとの整合性が高く、安心して使える
  • マネジメントコンソールから簡単にスタックを管理できる
  • YAMLやJSONで書けて、変更セットで差分確認も可能

どう使い分ける?

以下のような視点で使い分けると良いと感じています。

目的・状況 推奨ツール 理由
複数クラウドやSaaSも管理したい Terraform AWS以外もまとめて管理できるため
AWS公式サポートを重視したい CloudFormation サポート範囲が明確で安定性が高い
チームで再利用性高く構築したい Terraform モジュール管理に長けている
既存のAWS環境と密接に連携したい CloudFormation CloudWatch・IAMなどと親和性が高い

実際にはどうしてる?

私は大規模インフラ構築ではTerraformを使い、AWSの細かいセキュリティーグループなど作るときはCloudFormationを採用することが多いです。

どちらかにこだわるのではなく、使い分けが大事だと実感しています!

まとめ

TerraformもCloudFormationも、それぞれに強みと魅力があります。大切なのは、目的や環境に応じて柔軟に選択すること。

好き嫌いではなく、目的志向でIaCツールを選べるようになると、インフラ構築の幅がぐっと広がります。

最終的には、「使い分けができるエンジニア」が一番かっこいいのかもしれません...!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?