

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# KVM および VMware での Amazon Linux 2023 の NoCloud (`seed.iso`) `cloud-init` 設定
<a name="seed-iso"></a>

 このセクションでは、KVM または VMware で実行する Amazon Linux 2023 を設定するための `seed.iso` イメージを作成して使用する方法について説明します。KVM 環境と VMware 環境には [Amazon EC2 インスタンスメタデータサービス (IMDS)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service) がないため、Amazon Linux 2023 を設定する他の方法が必要であり、`seed.iso` イメージの提供はその方法の 1 つです。

 `seed.iso` ブートイメージには、ネットワーク設定、ホスト名、ユーザーデータなどの、新しい仮想化マシンの起動に必要な初期設定情報が含まれます。

**注記**  
 `seed.iso` イメージには、VM の起動に必要な設定情報のみ含まれています。Amazon Linux 2023 オペレーティングシステムファイルは含まれていません。

 `seed.iso` イメージを生成するには、2 つ (もしくは 3 つ) の設定ファイルが必要です。

** `meta-data` **  
 このファイルには通常、仮想化マシンのホスト名が含まれます。

** `user-data` **  
 このファイルでは、ユーザーアカウント、パスワード、ssh キーペア、およびアクセスメカニズムを設定します。デフォルトでは、Amazon Linux 2023 KVM および VMware イメージは、`ec2-user` ユーザーアカウントを作成します。`user-data` 設定ファイルを使用して、デフォルトユーザーアカウントのパスワードおよび SSH キーを設定します。

** `network-config` (オプション) **  
 このファイルには通常、デフォルトのネットワーク設定に上書きされる仮想化マシンのネットワーク設定が記載されています。デフォルト設定は、最初に使用可能なネットワークインターフェースで DHCP を使用します。

**`seed.iso` ディスクイメージを作成する**

1. Linux または macOS コンピュータでは、`seedconfig` という名前の新しいフォルダを作成し、そのフォルダに移動します。
**注記**  
 Windows または別のオペレーティングシステムを使用してこれらのステップを実行することも可能ですが、`seed.iso` イメージの作成を完了するには `mkisofs` と同等のツールを検索する必要があります。

1. `meta-data` 設定ファイルを作成します。

   1. `meta-data` という名前の新しいファイルを作成します。

   1.  任意のエディタを使用して `meta-data` ファイルを開き、以下を追加し、{{vm-hostname}} を VM のホスト名に置き換えます。

      ```
      #cloud-config
      local-hostname: {{vm-hostname}}
      ```

   1. `meta-data` 設定ファイルを保存して閉じます。

1. `user-data` 設定ファイルを作成します。

   1. `user-data` という名前の新しいファイルを作成します。

   1.  任意のエディタを使用して `user-data` ファイルを開き、以下を追加し、必要に応じて置き換えます。

      ```
      #cloud-config
      #vim:syntax=yaml
      users:
      # A user by the name 'ec2-user' is created in the image by default.
        - default
        - name: ec2-user
      ssh_authorized_keys:
        - ssh-rsa {{ssh-key}}
      # In the above line, replace {{ssh key}} with the content of your ssh public key.
      ```

   1.  必要に応じて、`user-data` 設定ファイルにさらにユーザーアカウントを追加できます。

       追加ユーザーアカウント、アクセスメカニズム、パスワード、およびキーペアを指定できます。サポートされているディレクティブの詳細については、「[アップストリーム `cloud-init` ドキュメント](https://cloudinit.readthedocs.io/en/22.2/topics/format.html)」を参照してください。

   1. `user-data` 設定ファイルを保存して閉じます。

1. (オプション) `network-config` 設定ファイルを作成します。

   1. `network-config` という名前の新しいファイルを作成します。

   1.  任意のエディタを使用して `network-config` ファイルを開き、以下を追加し、設定に応じてさまざまな IP アドレスを IP アドレスに置き換えます。

      ```
      #cloud-config
      version: 2
      ethernets:
        enp1s0:
          addresses:
            - {{192.168.122.161/24}}
          gateway4: {{192.168.122.1}}
          nameservers:
            addresses: {{192.168.122.1}}
      ```
**注記**  
 `cloud-init` ネットワーク構成は、仮想化マシンの設定によって変わる可能性のあるインターフェース名を指定する代わりに、インターフェースの MAC アドレスと照合するメカニズムを提供します。ネットワーク設定用のこの (およびその他の) `cloud-init` 機能については、「[アップストリームの `cloud-init` ネットワーク設定バージョン 2 のドキュメント](https://cloudinit.readthedocs.io/en/22.2/topics/network-config-format-v2.html)」で詳しく説明されています。

   1. `network-config` 設定ファイルを保存して閉じます。

1.  前の手順で作成した `meta-data`、`user-data`、およびオプションの `network-config` 設定ファイルを使用して `seed.iso` ディスクイメージを作成します。

    `seed.iso` ディスクイメージを作成する OS に応じて、以下のいずれかの操作を行います。
   +  Linux システムでは、**mkisofs** または **genisoimage** などのツールを使用して完成した `seed.iso` ファイルを作成します。`seedconfig` フォルダに移動し、以下のコマンドを実行します。

     ```
     $ mkisofs -output seed.iso -volid cidata -joliet -rock user-data meta-data
     ```
   +  `network-config` を使用する場合は、それを **mkisofs** の呼び出しに含めます。

     ```
     $ mkisofs -output seed.iso -volid cidata -joliet -rock user-data meta-data network-config
     ```
   +  macOS システムでは、**hdiutil** などのツールを使用して完成した `seed.iso` ファイルを生成できます。**hdiutil** はファイルのリストではなくパス名を使用するため、`network-config` 設定ファイルが作成されているかどうかにかかわらず、同じ呼び出しを使用できます。

     ```
     $ hdiutil makehybrid -o seed.iso -hfs -joliet -iso -default-volume-name cidata seedconfig/
     ```

1.  生成した `seed.iso` ファイルは、仮想化 CD-ROM ドライブを使用して新しい Amazon Linux 2023 仮想マシンにアタッチすることにより、`cloud-init` で初回起動時に設定を検索してシステムに適用できるようになります。