Terraform とは
Terraform はインフラストラクチャを管理するための無料のオープンソースツールです。 HashiCorp 社によって作成され、現在クラウドインフラを展開および管理するために最も使用されているツールの1つです。
Infra-as-code & オープンソースソフトウェア
Terraform を使用すると、構成ファイルでターゲットインフラを記述しながら、宣言的な方法でクラウドリソースをセットアップすることができます。Terraform は "state-full" です。つまり、デプロイされたインフラの "status" を保持できます。 ターゲットインフラに変更が発生した場合、その変更のみが適用され、全てのサーバーを再デプロイする必要はありません。
Terraform はユーザーとコントリビューターの大規模なコミュニティだけでなく、Terraform を介してリソースをデプロイできるソリューションを開発および提供する多くのクラウドプロバイダーによってサポートされています。
Infra-as-Code でサーバーを管理する利点
過去数年間で Infra-as-Code (IaC) はパブリックプロバイダーを使用してクラウドインフラを管理するための標準になりました。
- Infra-as-Code はバージョン管理システムツール (Gitlab、Github など) に統合できる記述ファイルに基づいて、複雑なインフラストラクチャの展開を容易にします。
- Infra-as-Code によりデプロイメントと定期的な変更の自動化が容易になり、変更内容を本番環境にプッシュする前にテストすることが容易になったことで、アーキテクチャの変更が期待どおりに機能しているかどうかを簡単に確認できます。
- Infra-as-Code は仮想プライベートサーバー (VPS)、ベアメタルサーバー (専用サーバー)、およびストレージとネットワークリソースを展開するために使用されます。
- Infra-as-Code には大規模なエコシステムがあり、最も人気のあるものは Terraform、Ansible、Packer、Chef、Puppetです。
Terraform を使用してインフラストラクチャを展開する5つの利点
"State-full" マネジメント
Terraformの主な利点の1つは "state-full" であり、管理されたインフラストラクチャのステータスをメモリに保持することです。 マイナーまたはメジャーな更新中は、更新が必要な部分のみが変更され、構成が変更されていないリソースやサービスは変更されません。
予測可能性
スクリプトの起動を事前にシミュレートして (コマンド "terraform plan" を使用)、これらの変更がインフラストラクチャに与える影響を確認できます。
すぐに使えるプロバイダ
もう1つの主な利点は、Terraform を介してサービスをパイロットするためのツールを提案するユーザーと Terraform プロバイダの大きなコミュニティです。
マルチクラウド
マルチクラウドがますます普及している状況 (複数のパブリッククラウドプロバイダがディスパッチし、インフラストラクチャの冗長性を備えている状況) では、クラウドリソース管理を処理する方法を標準化することが重要です。
スタンダード
Gandi ではパブリックOpenStack API が VPS サーバーで提供されています。 Terraform 用の OpenStack プロバイダが利用可能であるため、Terraform を使用して Gandi VPS サーバーをデプロイできます。
Terraform で VPS サーバーを作成する
使用する
Gandi クラウド VPSを使用する
リソースを作成する
Gandi クラウドのアカウントが作成されるとすぐにリソースを作成できます。 Terraform は Openstack パブリック API を使用するため、Openstack CLI / APIがセットアップされている必要があります。このガイドに従って、Openstack CLI / APIをセットアップできます。
サーバーを作成する
次に、最後のステップは、ここで説明されているように最初のサーバーを作成することです。