Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Terraformのデプロイパイプラインに使用できるツールをまとめてみる

msato
July 14, 2023

 Terraformのデプロイパイプラインに使用できるツールをまとめてみる

インフラの構成管理を行うことができるツール 「Terraform」。

Terraformの利用規模が大きくなると、デプロイパイプラインが必要になってきます。

Terraformのデプロイパイプラインには、様々な選択肢があります。

今回はTerraformのデプロイパイプラインに使用できるツールを、必要性やメリットデメリットを交えながら紹介します。

msato

July 14, 2023
Tweet

More Decks by msato

Other Decks in Technology

Transcript

  1. 2 自己紹介 resource “my_profile” “this” { name = “佐藤雅樹” company

    = “クラスメソッド株式会社” department = “ソリューションアーキテクト” twitter = “@chari7311” Interest = [ “DevOps”, “IaC” ] }
  2. 12 Terraform Cloud Pros - Terraformのデプロイに最適化されている - 少ない工数でデプロイパイプラインを構築可能 - ツール用のインフラの構築・運用が不要

    - Stateファイルの管理機能等、その他機能も充実 Cons - デフォルト設定では、VCS上でPlan等の実行結果が見れな い - その他の方法より料金が高い
  3. 14 Atlantis Pros - Terraformのデプロイに最適化されている - 少ない工数でデプロイパイプラインを構築可能 - VCSと同じUIを使用して、Terraformの操作が可能 -

    Pull Requestのコメントベース - OSS製品のため、Atlantinsの利用自体には料金がかから ない Cons - ホスティングするインフラ(EKS、ECS等)の構築・運用が必 要
  4. 16 CIツール(GitHub Actions, GitLab CI/CD等) Pros - アプリケーションのデプロイとツールを統一できる - ツール用のインフラの構築・運用が不要(SaaS製品の場合)

    Cons - パイプライン処理の作り込みが必要 - (Terraform CloudやAtlantinsと比較して) - 環境の数が増えるとデプロイ設定用のファイルが増えて管 理が大変
  5. 18 CIツール(Codeシリーズ等) Pros - アプリケーションのデプロイとツールを統一できる - AWS認証情報を外部に保存する必要がない - ツール用のインフラを構築・運用する必要がない -

    AWSの製品であるため、導入ハードルが低い Cons - パイプライン処理の作り込みが必要 - (Terraform CloudやAtlantinsと比較して) - 環境の数が増えるとデプロイ設定用のファイルが増えて管 理が大変 - デプロイトリガーの柔軟性が低い
  6. 20 GitOpsツール Pros - Pull型のGitOpsによって、「IaCコード = 実際のインフラ設 定」の状態を保ちやすい - Kubernetesのデプロイとツールを統一できる

    - AWS認証情報を外部に保存する必要がない Cons - ホスティングするインフラ(EKS等)の構築・運用が必要 - Kubernetesの知識も必要