Terraform向けプロビジョニングツール Terraform Cloud | マネーフォワード Admina
連携概要
連携により、Terraform Cloudに存在するユーザーの以下のデータがAdminaに連携されます。
ユーザー名
メールアドレス
従業員 または 外部アカウント
ステータス
また、Terraform Cloud上に退職者アカウントが存在した場合にアラート機能が作動します。
サービス詳細
Terraform Cloudは、Terraform構成ファイルをクラウド管理します。Terraformを実行するのではなくコードをGithubやGitLabなどに登録し、VCSとTerraform Cloudを連携させ、実行をGitOps経由で行うことができます。terraformの継続的デリバリーを提供するクラウドサービス。Terraform Cloudのworkspaceは、1回のTerraform実行に必要な情報を一つにまとめ、ワークフロー、変数、State-File管理、通知、ライフサイクル管理などの機能があります。世界中の企業に導入されており、組織の生産性や成長速度を向上させるサポートをします。
Terraform Cloud の機能一覧
・tfstateの管理
・Terraformコマンドの実行
・TerraformのCI化
・APIキーなどの情報管理
Terraform Cloudの機能詳細
Terraform Cloudは世界中の企業に導入されているクラウドベースのコラボレーションプラットフォームであり、インフラストラクチャコードを管理および実行するための多数の機能を提供しています。Terraform Cloudの主な機能を詳細にご紹介します。
・Workspace
ワークスペースは、コードを管理する単位です。ワークスペース内で、環境変数を管理できます。ワークスペースごとに異なる値を設定し、複数のプロジェクトや環境で使用できるようになります。異なる環境やプロジェクトごとにワークスペースの作成をし、それぞれに対してインフラストラクチャの定義や設定を保持できます。
・Workspace Variables
コード内で使用される構成値を定義するために使用されます。Terraform Cloudでは、変数を管理できます。この機能により、情報(例:APIキーなど)を安全に保持し、再利用可能なコードを作成できます。
・ランタイム構成要素(Runtime Configuration)
ランタイム構成要素は、Terraform Cloudでワークスペースの設定を管理する方法を提供します。これには、バージョン制御、バックエンドを設定、アクセス制御などが含まれます。
・ワークフロー管理(Workflow Management)
ワークフロー管理は、実行と展開プロセスを管理します。コード変更の自動検知と実行、手動で実行したりできます。また、依存関係を自動で検出することや、プランおよびapplyの確認手順に設定することも可能です。
・セキュリティとコンプライアンス(Security and Compliance)
Terraform Cloudは、機密情報の管理についてセキュリティを強化しています。アクセス制御、認証、認可、暗号化などのセキュリティ機能が組み込まれており、コンプライアンス要件を満たすことができます。
・APIとIntegrations
Terraform CloudはRESTful APIを提供し、外部システムとの統合が可能です。また、VCS(Version Control System)プロバイダとの連携も可能で、コードのバージョン管理と連携をスムーズに行えます。
・ランドラン(Run Triggers)
ランドランは、外部のトリガー(Webhookなど)を使用して、Terraform実行される仕組みです。この機能を使用することで、特定のイベントや条件が発生したときに自動的にインフラストラクチャを更新できます。インフラストラクチャのコードが変更されると、Terraform Cloudでは自動的にプロビジョニング実行がトリガーされます。これにより、コード変更がクラウド上のインフラストラクチャに反映されることが保証されます。
・共有とコラボレーション
Terraform Cloudは、複数のユーザーがワークスペースを共有し、同時にコラボレーションできるように設計されています。サービスを使用し、アクセス権設定やロールベースのアクセス制御、安全な作業をチームで行うことができます。
Terraform Cloudは、Terraformの管理と実行を簡素化し、チームの効率性とインフラストラクチャの信頼性を向上させるための強力なプラットフォームです。クラウドやサービスのプロビジョニングや管理のためのTerraformに特化したインフラ構成管理ツールです。
Terraform Cloud 料金プラン
料金については 公式サイト にてお問い合わせください。Terraform Cloud Business はプランの中の1つで、様々な機能が利用可能となっています。個人向けプランであるTerraform Cloud Freeとは異なり、ビジネスの要件を満たすために特別に設計されています。Terraform Cloud Businessでは、より高度な管理機能とチームコラボレーション機能を提供しています。
使い方
Terraform Cloudを使うための一般的な手順を以下に示します。最新の機能や手順は公式ドキュメントをご参照ください。
・アカウント作成
Terraform CloudのWebサイトにアクセスして、新しいアカウントを作成する必要があります。既存のGitHubまたはGitLabアカウントとも連携できます。
・組織(Organization)の作成
アカウントを作成した後、Terraform Cloud上で新しい組織を作成します。組織はプロジェクトとワークスペースをグループ化する単位です。
・Terraformコードのアップロード
ローカル環境にあるTerraformコードをアップロードする必要があります。GitHubなどのバージョン管理システムを使っている場合は、リポジトリを組織にリンクすることもできます。
・ワークスペースの作成
TerraformコードはTerraform Cloudに配置されます。組織内で関連するプロジェクトごとにワークスペースを作成します。
・ワークスペース変数設定
ワークスペースには変数を設定できます。例えば、クレデンシャルやリソース名など、Terraformコード内の構成値を指定します。ワークスペース変数を使用することで、コードの再利用性やセキュリティを向上させることができます。
・プランとapply
設定が完了したら、Terraform Cloud上でプランを実行してインフラストラクチャ変更を確認します。プランでは、実際にリソースを作成または変更する前に、実行のプレビューが表示されます。プランが確認済みで問題がなければ、変更を行うためにapplyを実行します。
・ランドラン設定(オプション)
Terraform Cloudは、外部からのトリガーやスケジュールに応じて自動実行を行うランドラン機能の提供をしています。
・コラボレーションと共有
チームメンバーと共にTerraformコード管理し、ワークスペースの共有とコラボレーションを行います。アクセス権を適切に設定し、チームのメンバーが必要なワークスペースにアクセスできるようにします。
Terraform Cloudを使用することで、チーム全体でTerraformコードを共有し、インフラストラクチャ変更内容を追跡・管理することが容易になります。インフラストラクチャをインポートすると、他の方法で作成したリソースを管理下に置くことが可能。また、セキュリティやコンプライアンスに関する機能も組み込まれており、安全な、信頼性の高いインフラストラクチャの構築と管理が可能です。
メリット
導入には多くのメリットがあります。
・シングルサインオン(SSO)とセキュリティ
シングルサインオン(SSO)をサポートしており、組織内のユーザーは既存の認証システムを使用してアクセスできます。セキュリティ機能が充実しており、アクセス制御、認証、暗号化などのセキュリティ対策を行います。
・共有リソースとコラボレーション
複数のチームメンバーが同じインフラストラクチャコードにアクセスできます。ワークスペースを共有し、同時にコードを編集・管理できるため、チームのコラボレーションがスムーズに行えます。
・バージョン管理と変更追跡
Terraformコードのバージョン管理をサポートしています。コード変更履歴を追跡し、過去のバージョンに戻ることが容易です。これにより、インフラストラクチャ変更に対するリスクを低減し、コードの品質を向上させることができます。
・自動化とCI/CD統合
リポジトリとの連携をサポートしています。リポジトリの変更検知をして実行を開始するなど、自動化が可能です。これにより、CI/CDパイプラインを構築し、インフラストラクチャの変更を迅速かつ信頼性高く行うことができます。
・可視性とワークフロー管理
インフラストラクチャコードの実行と展開プロセスを管理できます。実行履歴やプランの確認手順を表示し、コード変更の影響を事前に把握することができます。
・スケーラビリティ
クラウドベースのプラットフォームであり、インフラストラクチャの規模に応じて柔軟にスケールできます。大規模なプロジェクトや複数のチームでの使用に適しています。
Terraform Cloudでは、本番環境と開発環境などの異なる環境を区別して管理することができます。本番環境には、実際のユーザートラフィックやデータが流れ、サービスが本格的に提供されます。これらのメリットにより、チームの効率性向上、セキュリティ強化、リスク低減、自動化の実現など、インフラストラクチャの管理と運用において多くの利点をもたらします。マルチクラウドオートメーションに対応。必要がある環境で、インフラストラクチャの構築・変更の継続的かつ信頼性高く行うために、サービスをご利用ください。
本記事の内容に誤り等がございましたら、こちらからご連絡ください。