2.4. cloud-init にとって重要なファイルとディレクトリー
Red Hat は、cloud-init ユーティリティー、cloud-init モジュール、およびデフォルトのディレクトリーとファイルをサポートしています。ディレクトリーとファイルを使用すると、次のようなタスクを実行できます。
-
cloud-initの設定 -
cloud-init実行後の設定詳細の確認 - ログファイルの検証
- テンプレートの検索
要件とデータソースによっては、設定にとって重要な追加のファイルとディレクトリーが存在する場合があります。
| ディレクトリーまたはファイル | 説明 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
このディレクトリーには、特定のシナリオの |
|
|
|
|
|
|
2.4.1. デフォルトの cloud.cfg ファイル リンクのコピーリンクがクリップボードにコピーされました!
/etc/cloud/cloud.cfg ファイルには、cloud-init の基本設定に含まれるモジュールがリストされます。これらのモジュールは cloud-init のデフォルトモジュールです。要件に応じてモジュールを設定または削除できます。
-
いずれかの
cloud-initフェーズでアクションを実行するには、各モジュールを個別に設定し、cloud.cfgファイルにリストする必要があります。モジュールは、cloud.cfgで指定された順序で実行されます。通常、この順序を変更することはありません。ただし、追加するモジュールが Red Hat によってサポートされている場合は、cloud.cfgにモジュールを追加できます。 -
cloud.cfgディレクティブは、ユーザーデータによって上書きされることができます。cloud-initを手動で実行する場合、コマンドラインオプションを使用してcloud.cfgを上書きできます。 - 各モジュールには独自の設定オプションが含まれており、この設定オプションに特定の情報を追加することができます。
-
設定の機能を最適化するには、モジュール名にダッシュ (
-) ではなくアンダースコア (_) を使用します。 - Red Hat Enterprise Linux (RHEL) 用ファイルのデフォルトの内容は次のとおりです。
-
usersはシステムのデフォルトユーザーを指定します。詳細は、Users and Groups を参照してください。 -
disable_rootは、root ログインを有効または無効にします。詳細は、Authorized Keys を参照してください。 -
ssh_pwauthは、パスワード認証を許可するようにsshを設定するかどうかを指定します。詳細は、Set Passwords を参照してください。 -
mount_default_fieldsはマウントポイントを設定します。6 つの値を含むリストを設定する必要があります。詳細は、Mounts を参照してください。 -
ssh_deletekeysは、デフォルトのホスト SSH 鍵を削除するかどうかを指定します。詳細は、Host Keys を参照してください。 -
ssh_genkeytypesは生成する鍵の種類を指定します。詳細は、Host Keys を参照してください。 -
syslog_fix_permsは、すべてのブート段階をログファイルに記録するようにcloud-initを設定します。詳細は、usr/share/doc/cloud-init/examplesディレクトリーのcloud-config.txtファイルを参照してください。 -
disable_vmware_customizationは、VMware vSphere のカスタマイズを有効または無効にします。 -
cloud_init_modules:このセクションのモジュールは、ブートプロセスの早い段階でcloud-initサービスが起動するときに実行されるサービスです。 -
cloud_config_modules:これらのモジュールは、初期ブート後のcloud-init設定中に実行されます。 -
cloud_final_modules:これらのモジュールは、設定が完了した後、cloud-initの最終フェーズで実行されます。 -
default_userは、デフォルトユーザーの詳細を指定します。詳細は、Users and Groups を参照してください。 -
distro:ディストリビューションを指定します。 -
cloud_dirは、cloud-init固有のサブディレクトリーを含むメインディレクトリーを指定します。詳細は、Directory layout を参照してください。 -
templates_dirはテンプレートが配置される場所を指定します。 -
ssh_svcnameは SSH サービスの名前です。
2.4.2. デフォルトの cloud.cfg.d ディレクトリー リンクのコピーリンクがクリップボードにコピーされました!
cloud-init は、ユーザーが提供および設定するディレクティブに対応します。通常、これらのディレクティブは cloud.cfg.d ディレクトリーに含まれています。
cloud.cfg ファイル内でユーザーデータディレクティブを追加することでモジュールを設定できますが、cloud.cfg を未変更のままにすること (ベストプラクティス) をご検討ください。ディレクティブを /etc/cloud/cloud.cfg.d ディレクトリーに追加します。このディレクトリーにディレクティブを追加することで、今後の変更およびアップグレードを容易にすることができます。
ユーザースクリプトを *.cfg ファイルとして追加する方法の詳細は ユーザーデータ形式 を参照してください。
2.4.3. デフォルトの 05_logging.cfg ファイル リンクのコピーリンクがクリップボードにコピーされました!
05_logging.cfg ファイルは、ログ情報と cloud-init のデフォルトのログ設定ファイルを設定します。/etc/cloud/cloud.cfg.d ディレクトリーには、このファイルとその他の cloud-init ディレクティブが含まれています。RHEL のファイルのデフォルトの内容は次のとおりです。
2.4.4. /var/lib/cloud ディレクトリーのレイアウト リンクのコピーリンクがクリップボードにコピーされました!
cloud-init が開始されると、インスタンスの詳細と cloud-init 設定を含むディレクトリーレイアウトが作成されます。このディレクトリーには、/scripts/vendor などのオプションのディレクトリーを含めることができます。以下は、cloud-init のサンプルディレクトリーレイアウトです。