Help us understand the problem. What is going on with this article?

【AWS】terraformとCloudformationを比較してみた【IaC】

はじめに

クラウドのインフラの運用コストとか管理コストとかの削減のために
インフラのコード化(Infrastructure as Code)の重要性がどんどん上がってきています。

AWSでそれを実現するツールとして有名なのが
terraform、cloudformationあたりだと思います。

IaC導入したい、けどどっちを使ったらいいの?っていうのが疑問としてずっとありました。
ただ調べてもなかなか理解できなかったので
実際にどっちも使ってみて、その比較をしてみました。あくまで感想です。

今回ツールそのものの使い方については記載していません。

感想

terraform cloudformation
OSSである。情報が多い
バージョンが上がるごとにどんどん使いやすくなっている。機能も増えている
コミュニティmoduleの存在
AWSのサービスである。サポートをしっかり受けられる
基本的にCLIで実行terraformコマンド terraform plan terraform applyだけ覚えておけばなんとかなる 基本的にGUIで実行。aws cloudformationコマンドもあるが、オプションが多いので学習コストが高い。
IAMの認証で実行する。
それぞれのローカル環境で実行することが基本のためセキュリティを意識する必要がある。
AWSで閉じられるのでセキュリティで考えることが少ない
少しずつ始められる 最初の設計が大事
stackの連携、管理する範囲をしっかり決めておく必要がある
一度stack化すると削除⇒作成という流れを踏まなければいけないため
独自のスクリプト言語(.tf)を用いる json、yaml形式を用いる
複数プラットフォームに対応
AWSに縛られない
AWS専用サービス
他のAWSサービスと連携がスムーズ
インポートが簡単。terraform importコマンドを利用。 import機能がある。
CI/CD始めやすい。JenkinsやCircleCI等外部ツールとも連携しやすい Code4兄弟と連携させてCI/CD化できる。

まとめ

AWSサービスのみの利用、1から作成するのであればCloudFormation
他のクラウドも使ってる、外部ツールの利用が多い、既存環境をコード化したいのであればTerraform

個人的にはTerraformを押します。自由度が高いため。

ちなみに個人環境ではterraform + cloudformationのハイブリット構成をとっています。
IAMの管理とかセキュリティに関わる部分はcloudformationにして
VPC、EC2等インフラに関わる部分はterraformにしています。

間違いあったらすみません。
いろんなご意見募集します!

追記(2019/11/18)

CloudFormationにインポート機能が追加されました。

参考:
https://dev.classmethod.jp/cloud/aws/cloudformation-import-existing-resources/

かなりイケてます。AWS強い。

jucky330
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした