多くの場合、Vultr クラウド インフラストラクチャのプロビジョニングと構成を自動化したい場合があります。世の中にはたくさんのツールがありますが、cloud-init は業界標準であり、ユーザー データを使用して VM インスタンスを初期化および構成するために使用されます。 多くの場合、Vultr クラウド インフラストラクチャのプロビジョニングと構成を自動化したい場合があります。世の中にはたくさんのツールがありますが、cloud-init は業界標準であり、ユーザー データを使用して VM インスタンスを初期化および構成するために使用されます。 多くの場合、Vultr クラウド インフラストラクチャのプロビジョニングと構成を自動化したい場合があります。世の中にはたくさんのツールがありますが、cloud-init は業界標準であり、ユーザー データを使用して VM インスタンスを初期化および構成するために使用されます。 Terraform は、ユーザーがインフラストラクチャを安全かつ効率的に構築、変更、およびバージョン管理できるようにするコードとしてのインフラストラクチャ ツールです。高レベルの構文を使用してインフラストラクチャを宣言的にプロビジョニングおよび管理し、構成をより小さなチャンクに分割して、編成、再利用、および保守性を向上させることができます。 Terraform のインストールと実行に関する情報は、こちらにあります。 user_data パラメーターを Terraform.yaml ファイルに渡すことで、自動化を使用して起動時に Vultr インスタンスを構成できます。詳細は以下をご覧ください Terraform を使用して cloud-init で Cherryserver を構成する Terraform が優先されるインフラストラクチャ プロビジョニング方法である場合は、こちらの Github Repo で Vultr Terraform Provider を見つけることができます。 どのインフラストラクチャ プロバイダーでも、Terraform をプロビジョニング ツールとして使用する場合は、次のようにプロバイダー ブロックを指定する必要があります。 ユーザーデータを利用して起動時に Vultr インスタンスを構成するモジュールの例を次に示します。 このモジュールでは、プロビジョニングするリソースのタイプとして vultr_server を指定し、project_id や user_data などの変数を使用してプロビジョニングを処理するリソースがあります。 user_data に文字列を指定すると、起動時にベアメタル サーバーが実行する起動スクリプトが指定されます。 API を介して新しいサーバーをプロビジョニングし、cloud-init サービスを介して Vultr のユーザー データを取得できます。これにより、サーバーのデプロイ時にユーザー データ ディレクティブをフェッチすることで、さまざまなサーバー構成タスクを自動化できます。提供されたタスクは、サーバーの初回起動時に実行されます。これを行うには、シェル スクリプトまたは cloud-init ディレクティブの 2 つの方法があります。 cloud-init ディレクティブについて説明します Cloud-Init ディレクティブはサーバーの初回起動時に実行されますが、構文が若干異なります。シナリオは #cloud-config 行で開始する必要があります。そうしないと、ユーザー データ ディレクティブが拒否されます。詳細については、cloud-init の公式ドキュメント (httpscloudinit.readthedocs.io/en/latest/index.html) を確認することをお勧めします。 渡される cloud-init スクリプトの簡単な例は次のとおりです。 このデータ シナリオを Vultr API に渡すには、base64 形式に変換する必要があります。 Linux システムでは、test.yaml ファイルに対して次のようにします。 この出力テキストは、新しいサーバーを注文するときに、Vultr API の user_data パラメータを介して取得する必要があります すべてを一緒に入れて これを実際に確認するには、プロビジョニング先のプラットフォームとして Vultr を指定できるように、リソース プロバイダーを指定します。最終的なスクリプトは次のようになります。 それだけです! Terraform は、構文とその仕組みを理解すれば、インフラストラクチャを自動化するための非常に優れたツールです。この記事を気に入っていただければ幸いです。