2.2. cloud-init のデータソースの種類
データソースとは、ユーザーデータ、メタデータ、およびオプションでベンダーデータといった形式で、cloud-init の設定データを提供するソースのことです。メタデータには、認定クラウドサービスプロバイダーによって作成された設定ドライブがあります。cloud-init は、既存のデータソースを自動的に識別しますが、カスタムデータソースディレクティブを設定することもできます。
# grep -i "vendor data" /var/log/cloud-init.log
データソースには、ユーザーデータ、メタデータ、ベンダーデータの 3 種類の設定データがあります。
-
ユーザーデータには、
cloud.cfgファイルとcloud.cfg.dディレクトリーで指定されたディレクティブが含まれます。たとえば、ユーザーデータには、実行するファイル、インストールするパッケージ、シェルスクリプトなどが含まれます。cloud-initが許可するユーザーデータのタイプに関する詳細は、cloud-initドキュメントの User-Data Formats セクションを参照してください。 -
メタデータには、特定のデータソースに関連付けられたデータが含まれます。たとえば、メタデータにはサーバー名やインスタンス ID を含めることができます。特定のクラウドプラットフォームを使用している場合、インスタンスがユーザーデータやメタデータをどこで取得できるかは、CCSP が決定します。HTTP サービスにユーザーデータとメタデータを追加した後。この場合、
cloud-initが実行されると、HTTP サービスからユーザーデータとメタデータが使用されます。 -
ベンダーデータは、組織 (クラウドプロバイダーなど) がオプションで提供し、イメージが実行される環境に合わせてイメージをカスタマイズできる情報が含まれます。
cloud-initは、メタデータを読み込んでシステムを初期化した後に、オプションのベンダーデータおよびユーザーデータに対応します。デフォルトでは、ベンダーデータは初回起動時に実行されます。ベンダーデータの実行を無効にすることができます。
デフォルトでは、cloud-init は既存のデータソースを自動的に識別します。cloud-init は、ds-identify スクリプトを使用してクラウドプラットフォームの特定を試みます。スクリプトは、インスタンスの初回起動時に実行されます。カスタムデータソースディレクティブを追加すると cloud-init の実行時間を抑えることができます。ディレクティブは、/etc/cloud/cloud.cfg ファイルまたは /etc/cloud/cloud.cfg.d ディレクトリーに追加します。cloud-init の実行後に、プラットフォームに関する詳細情報を提供するログファイル (run/cloud-init/ds-identify.log) を表示できます。datasource_list の詳細は、カスタムデータソース を参照してください。
認定クラウドサービスプロバイダーのデータソースの設定方法について、詳細は以下を参照してください。