Terraform Cloudとは?使い方や料金、メリットについて解説!
thumb_terraformcloud_01
Terraform Cloudとは?使い方や料金、メリットについて解説!
アンドエンジニア編集部
2024.02.14
この記事でわかること
Terraform Cloudとは、SaaS型のTerraformの提供サービスを表します
チーム利用向けに、アクセスコントロールやモジュール共有のための機能を提供します
プラン実行をコントロールし、CI/CD環境をスムースに構築することができます

Terraform Cloudとは

img_terraformcloud_01

Terraform Cloudとは、HashiCorpが提供するマネージドサービスで、SaaS型ホスティングサービスとして提供されます。不要なツール抜きに、簡単に本番環境で利用可能にします。

Terraform Cloudは、Terraformをチームで共同利用するために、アクセスコントロールやモジュール共有のためのプライベートリポジトリを提供します。インフラをリモート実行するために、セルフサービスインフラストラクチャを作成し、マルチクラウドのコンプライアンスと管理を実現します。

【参考】:Terraform Cloud

IaaSとPaaSの違いを知り、クラウドに強いエンジニアになろう!

Terraformとは

Terraformとは、Infrastructure as Code(IaC)と呼ばれるインフラの構成管理ツールを指します。クラウドとオンプレミスのコンピュータリソースを、安全かつ効率的に構築・変更・バージョンアップすることができます。運用形態の異なるマルチクラウド・マルチプラットフォーム環境における、属人的な処理から解放します。

Terraformでは、リソース情報を人間が判読できる設定ファイルとして定義し、再利用・共有します。作成した設定ファイルを用いて、一貫性のあるワークフローを定義・使用し、ライフサイクル全体を通したインフラのプロビジョニングと管理を行います。

【参考】:Terraform

Terraform Cloudのメリット

Terraform Cloudは、クラウドベースの構成管理が可能であり、インフラの設定作業を自動化することができます。GUIからTerraformを操作可能で、作業の可視化や標準化が可能です。作業の効率向上により、作業品質向上・作業速度向上がもたらされます。

Terraform Cloudはクラウドホスティングサービスのため、専用のリソースを割り当てる必要がありません。初期コスト削減が可能で、スモールスタートにうってつけです。

Terraform Cloudのデメリット

Terraform Cloudのデメリットは、メリットの裏返しとなる部分です。具体的には、Freeプランではオンプレミスは対象外となり、有償のBusinessプランが必要です。そのほか、システムをローカルに割り当てないために、ネットワークパフォーマンスの制限を受けます。同時実行数も契約内容に従って、制限を受けます。

とは言っても、チームコラボレーションを念頭に置くと、勝手にローカルシステムで設定せずに一貫したコントロールが可能となるTerraform Cloudは、明らかにメリットが上回ると考えて良いでしょう。

Terraform Cloudの料金プラン

Terraform Cloudの料金プランは、「Free」「Team & Governance」「Business」の3つのプランが用意されています。プランの違いは以下の通りです。

・Freeプラン 名称通り、無料のプランで小規模チーム向けプランです。Terraformで提供するInfrastructure as Codeの機能に加えて、インフラの管理と共有機能、チーム管理のためのポリシー適応などが利用できます。このプランでは、アクティブメンバーが5人に制限されています。

・Team & Governanceプラン Freeプランの機能に加えて、チーム管理機能を必要に応じてオプション追加することができます。1ユーザーあたり、20USドルからオプションが選択可能です。

・Businessプラン Team & Governanceプランの機能に加えて、SSOや監査ログなどの高度なセキュリティ・コンプライアンス・ガバナンスを提供します。必要に応じて企業向けのサポートオプションが選択可能です。

【参考】:Terraform Cloud Pricing 【参考】:Terraform Cloud Plans and Features

Terraform Cloudの使い方

img_terraformcloud_02

Terraform Cloudを使うために、最初にアカウントの作成など必要な手続きを進めていきます。クラウド連携を行う場合は、事前に連携先のアカウント登録が必要となります。具体的には、GitHubやAWSなどのアカウント登録を済ませておく必要があります。

【参考】:Get Started - Terraform Cloud 【参考】:What is Terraform Cloud - Intro and Sign Up

GitHub Desktop 3.0とは?メジャーアップデートで何が変わったのか、概要を解説!
ITエンジニアが知っておくべきAWSアカウントのセキュリティ管理

アカウントの作成

HashiCorp Cloud Platform(HCP)アカウントを、お持ちでない場合はアカウント作成を行います。アカウントをお持ちの方は、アカウント認証情報を用いてTerraform Cloudにログインし、手続きを行います。

【参考】:Terraform Create an account

組織の作成

アカウント作成の次の画面で、組織を作成します。5人までの組織は無料で、ワークスペースの共同利用やプライベートモジュール、プロバイダーの共有が可能です。もし、既存の組織に参加する場合は、組織の管理者にアカウント作成で使用したメールアドレスを伝えることで、組織参加の招待状を受け取ることができます。

【参考】:What is Terraform Cloud - Intro and Sign Up: Create an organization

Terraform Cloudへのログイン準備

Terraform Cloudをコマンドラインから使用するには、ログインが必要です。ログインにより、リモートでのプランや実行のトリガー、ステートのクラウドへの移行など、必要なリモート操作を行うことができます。事前にローカルにTerraform CLIをインストールしておきます。

【参考】:Log in to Terraform Cloud from the CLI 【参考】:Install Terraform

Terraform Cloudのログインフロー

Terraform Cloudのログインフローとして、最初にTerraform Cloudでの認証が必要です。”terraform login” コマンドを実行し、認証することを確認します。

その後、ブラウザが自動的に立ち上がり、Terraform Cloudのログイン画面が表示されます。Web UIでトークン名を入力するか、デフォルト名のterraform loginを設定します。ここで、「Create API token」をクリックして、認証トークンを生成します。

「Create API token」という画面がポップアップしますので、ここで表示されるトークンを格納しておきます。このトークンはTerraform Cloudの組織へのアクセスに必要です。Terraform CLIで、求められたターミナルに貼り付けます。これで、認証処理が完了となります。

【参考】:Log in to Terraform Cloud from the CLI

ワークスペースの作成

これまでのアカウント作成と組織の作成の手順で、Terraform Cloudが使用できる状態になっています。CLIドリブンのワークフローを使用するために、”terraform init”コマンドを実行し、ワークスペースを作成します。使用するリソースは、ワークスペースによって構成されます。

ここで、作成されたマークスペースのVariablesで、「Apply variable set」をクリックしVariable Setを新たに作成します。これにより、連携するクラウドサービスの認証情報などを保存し、使用可能にします。

【参考】:Create a Workspace

プランと実行

例えばクラウドサービスのプロバイダーを用いる場合、Variablesにインスタンスのタイプや名称を登録します。登録が完了したら、”terraform apply”でプランを登録します。確認の上、問題なければ「Confirm & Apply」でプランを実行します。プロビジョニング実行後の結果は、画面に表示されます。

実行が正常に完了した場合、Terraformのリソーステーブルに作成したリソースが表示されます。

【参考】:Create Infrastructure

Terraform Cloudのその他の操作

以降は、必要な処理の手順を「Get Started - Terraform Cloud」を見ながら進めるのが良いでしょう。Credentials Variable Set(CVS)やワークスペースの作成、インフラの作成・変更、リソースやワークスペースの破棄など必要な機能はそれぞれ4〜5分程度の情報にまとめてあります。

【参考】:Get Started - Terraform Cloud

Terraform Cloudはチーム利用の効率向上をもたらします

img_terraformcloud_03

Terraform Open Source版ではCLIが主体でしたが、Terraform CloudではGUIを用いてTerraformを操作します。個人のローカルシステムで勝手にインフラの構成やプロビジョニングを行うわけではなく、クラウドホスティングサービスで統一的に管理しています。そのため、ワークスペースのアクセスコントロールが簡単にでき、CI/CD環境をスムースに構築可能となりました。

頻繁に構成変更が生じる業務では有効性を評価するために、Free版から試してみることをおすすめします。

NotionとGitHubとの連携機能とは?そのメリットや方法を解説!
気になる人のXをフォローしよう!
公式LINE
公式YouTube
マイナビITエージェント

編集部オススメコンテンツ

Sponsored
【年収±診断】6つの質問に答えて、真の市場価値をチェック!
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

お問い合わせ・情報提供
はじめて転職される方へ
SE・システムエンジニア(IT/通信/インターネット) 求人一覧

編集部おすすめコンテンツ

Sponsored
【年収±診断】6つの質問に答えて、真の市場価値をチェック!
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

Powered by マイナビ AGENT