メインコンテンツにスキップ

ユースケース

OpenTofuは、インフラストラクチャをコードとして定義できるツールです。インフラストラクチャリソースを、バージョン管理、再利用、共有が可能な人間が読める設定ファイルで定義できます。その後、一貫したワークフローを使用して、ライフサイクル全体にわたってインフラストラクチャを安全かつ効率的にプロビジョニングおよび管理できます。

このページでは、一般的なOpenTofuのユースケースと、OpenTofuの設定とワークフローの作成に使用できる関連リソースについて説明します。

マルチクラウドデプロイメント

複数のクラウドにインフラストラクチャをプロビジョニングすることで、フォールトトレランスが向上し、クラウドプロバイダーの障害からよりスムーズに復旧できます。ただし、マルチクラウドデプロイメントは、各プロバイダーが独自のインターフェース、ツール、ワークフローを持っているため、複雑さが増します。OpenTofuを使用すると、同じワークフローを使用して複数のプロバイダーを管理し、クラウド間の依存関係を処理できます。これにより、大規模なマルチクラウドインフラストラクチャの管理とオーケストレーションが簡素化されます。

リソース

アプリケーションインフラストラクチャのデプロイ、スケーリング、および監視ツール

OpenTofuを使用して、多層アプリケーションのインフラストラクチャを効率的にデプロイ、リリース、スケーリング、および監視できます。N層アプリケーションアーキテクチャにより、アプリケーションコンポーネントを個別にスケーリングし、関心の分離を提供できます。アプリケーションは、データベース層を使用するWebサーバーのプールで構成され、APIサーバー、キャッシュサーバー、およびルーティングメッシュ用の追加の層があります。OpenTofuを使用すると、各層のリソースをまとめて管理し、層間の依存関係を自動的に処理できます。たとえば、OpenTofuは、依存するWebサーバーをプロビジョニングする前に、データベース層をデプロイします。

セルフサービスクラスター

大規模な組織では、集中化された運用チームに繰り返し発生するインフラストラクチャリクエストが多数寄せられる場合があります。OpenTofuを使用して、製品チームが独自のインフラストラクチャを個別に管理できる「セルフサービス」インフラストラクチャモデルを構築できます。組織のサービスのデプロイと管理の標準を体系化したOpenTofuモジュールを作成および使用することで、チームは組織のプラクティスに準拠したサービスを効率的にデプロイできます。クラウドバックエンドは、ServiceNowなどのチケットシステムと統合して、新しいインフラストラクチャリクエストを自動的に生成することもできます。

ポリシーのコンプライアンスと管理

OpenTofuは、チームがプロビジョニングおよび使用できるリソースの種類に関するポリシーの適用に役立ちます。チケットベースのレビュープロセスは、開発を遅らせる可能性のあるボトルネックです。代わりに、ポリシーとしてのコードフレームワークであるSentinelを使用して、OpenTofuがインフラストラクチャを変更する前に、コンプライアンスとガバナンスのポリシーを自動的に適用できます。Sentinelポリシーは、クラウドバックエンドで使用できます。

PaaSアプリケーションのセットアップ

HerokuなどのPlatform as a Service(PaaS)ベンダーを使用すると、Webアプリケーションを作成し、データベースやメールプロバイダーなどのアドオンをアタッチできます。Herokuはdynoまたはワーカーの数を柔軟にスケーリングできますが、ほとんどの重要なアプリケーションには多くのアドオンと外部サービスが必要です。OpenTofuを使用して、Herokuアプリケーションに必要なセットアップを体系化し、DNSimpleを設定してCNAMEを設定し、Cloudflareをアプリケーションのコンテンツ配信ネットワーク(CDN)として設定できます。OpenTofuは、Webインターフェースなしですべてを迅速かつ一貫して実行できます。

ソフトウェア定義ネットワーク

OpenTofuは、ソフトウェア定義ネットワーク(SDN)と対話して、そこで実行されているアプリケーションのニーズに応じてネットワークを自動的に設定できます。これにより、チケットベースのワークフローから自動化されたワークフローに移行し、デプロイ時間を短縮できます。

Kubernetes

Kubernetesは、コンテナ化されたアプリケーション用のオープンソースのワークロードスケジューラです。OpenTofuを使用すると、Kubernetesクラスターをデプロイし、そのリソース(ポッド、デプロイメント、サービスなど)を管理できます。

並列環境

本番環境でリリースする前に新しいアプリケーションをテストするために使用するステージング環境またはQA環境がある場合があります。本番環境が大きく複雑になるにつれて、開発プロセスの各段階で最新の環境を維持することがますます難しくなる可能性があります。OpenTofuを使用すると、開発、テスト、QA、および本番環境のインフラストラクチャを迅速に立ち上げ、廃止できます。必要に応じて使い捨て環境を作成するためにOpenTofuを使用する方が、それぞれを無期限に維持するよりも費用対効果が高くなります。

ソフトウェアデモ

OpenTofuを使用すると、さまざまなクラウドプロバイダーでデモを作成、プロビジョニング、およびブートストラップできます。 これにより、エンドユーザーは独自のインフラストラクチャでソフトウェアを簡単に試すことができ、クラスターサイズなどのパラメーターを調整して、あらゆる規模でツールをより厳密にテストすることもできます。