翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
VMware 環境には Amazon EC2 Instance Meta Data Service (IMDS) がないため、AL2023 を設定する代替方法が必要です。このセクションでは、vSphere で使用できるseed.iso
仮想 CD-ROM VMware ドライブの代替設定メカニズムを使用する方法について説明します。
この設定方法は、 VMwareextraconfig
メカニズムを使用して設定データを に提供しますcloud-init
。次のキーごとに、対応する
プロパティを指定する必要があります。keyname
.encoding
VMware extraconfig
メカニズムには、次のキーを指定できます。
-
guestinfo.metadata
-
cloud-init
メタデータを含む JSON または YAML -
guestinfo.userdata
-
cloud-config
フォーマットのcloud-init
ユーザーデータを含む YAML ドキュメント -
guestinfo.vendordata
(オプション) -
YAML
cloud-init
ベンダーデータを含む
対応するエンコーディングプロパティ (guestinfo.metadata.encoding
、guestinfo.userdata.encoding
、および guestinfo.vendordata.encoding
) には以下を含めることができます。
-
base64
-
プロパティの内容は
base64
エンコードされます。 -
gzip+base64
-
プロパティの内容は
base64
エンコード後にgzip
で圧縮されます。
注記
seed.iso
メソッドは、個別の (オプション) network-config
設定ファイルをサポートします。 は、ネットワーク設定の提供方法VMwareguestinfo
によって異なります。追加情報は、次のセクションで説明します。
明示的なネットワーク設定が必要な場合は、2 つの YAML または JSON プロパティのフォーマットで metadata
に埋め込む必要があります。
-
network
-
JSON または YAML 形式でエンコードされたネットワーク設定が含まれます。
-
network.encoding
-
上記のネットワーク設定データのエンコードが含まれます。
cloud-init
でサポートされているエンコーディングは、guestinfo
データのエンコーディングと共通です:base64
およびgzip+base64
。
例 vSphere VMware CLI ツールを使用して govc
で設定を渡す guestinfo
-
「」の説明に従って
meta-data
、、user-data
、およびオプションのnetwork-config
設定ファイルを準備しますKVM および VMware での Amazon Linux 2023 の NoCloud (seed.iso) cloud-init 設定。 -
設定ファイルを で使用できる形式に変換しますVMware
guestinfo
。# 'meta-data', `user-data` and `network-config` are the configuration # files in the same format that would be used by a NoCloud (seed.iso) # data source, read-them and convert them to VMware guestinfo # # The VM_NAME variable is assumed to be set to the name of the VM # It is assumed that the necessary govc environment (credentials etc...) are already set metadata=$(cat "meta-data") userdata=$(cat "user-data") if [ -e "network-config" ] ; then # We need to embed the network config inside the meta-data netconf=$(base64 -w0 "network-config") metadata=$(printf "%s\nnetwork: %s\nnetwork.encoding: base64" "$metadata" "$netconf") fi metadata=$(base64 -w0 <<< "$metadata") govc vm.change -vm "$VM_NAME" \ -e guestinfo.metadata="$metadata" \ -e guestinfo.metadata.encoding="base64" userdata=$(base64 -w0 <<< "$userdata") govc vm.change -vm "$VM_NAME" \ -e guestinfo.userdata="$userdata" \ -e guestinfo.userdata.encoding="base64"