Terraform はオープンソースの Infrastructure as Code (IaC) ツールであり、設定ファイルを使用してクラウドインフラストラクチャおよびリソースを定義・プロビジョニング・管理できます。
Terraform の概要
HashiCorp Terraform は、インフラストラクチャの自動化およびオーケストレーションツールです。コンソール上でクリック操作を行う代わりに、必要なクラウドリソース(仮想マシン (VM)、ストレージリソース、ネットワークインターフェースなど)を宣言的に記述した設定ファイルを作成すると、Terraform がプロビジョニングおよびライフサイクル管理を実行します。
Terraform コマンドラインインターフェイス (CLI) は Alibaba Cloud プロバイダーを介して Alibaba Cloud に接続し、シンプルなテンプレート言語を使用してリソースを定義・プレビュー・デプロイできます。Terraform を使用すると、Elastic Compute Service (ECS) インスタンス、Virtual Private Cloud (VPC) ネットワーク、ApsaraDB RDS インスタンス、Server Load Balancer (SLB) インスタンスなどのリソースを作成・変更・削除できます。
Terraform の一般的なドキュメントについては、「HashiCorp Terraform」をご参照ください。
このトピックでは、Terraform を使用して ApsaraDB RDS for PostgreSQL インスタンスを作成する方法について説明します。
メリット
-
マルチクラウド環境でのデプロイ
Terraform は Alibaba Cloud、他のクラウドプロバイダー、オンプレミスデータセンターで動作します。同じツールと類似の設定ファイルを使用して、サポート対象のすべてのプラットフォーム上のリソースを一貫性のある方法で管理でき、マルチクラウドおよびハイブリッドデプロイを一貫性があり再現可能な形で実現できます。
-
インフラストラクチャ管理の自動化
設定テンプレートにリソースを一度定義すれば、開発・テスト・本番環境など、同一の環境を必要に応じてデプロイできます。Terraform は変更を予測可能な方法で適用し、プロビジョニング時のヒューマンエラーのリスクを低減します。
-
Infrastructure as Code (IaC)
インフラストラクチャの定義を設定ファイルとして保存できます。Terraform はリソースの状態を追跡するため、システム内の各コンポーネントに対する変更を監視したり、チーム内で設定を共有したりできます。
-
コスト削減
必要なときだけ環境を起動できます。また、Terraform では設定変更を適用する前に、その変更がコストに与える影響をプレビューすることも可能です。
ユースケース
Alibaba Cloud における Terraform のアプリケーションシナリオについては、「Terraform application scenarios」をご参照ください。