Amazon Elastic Compute Cloud
Linux インスタンス用ユーザーガイド

Amazon Linux 2 を仮想マシンとしてオンプレミスで実行する

オンプレミスの開発とテストには、Amazon Linux 2 仮想マシン (VM) イメージを使用します。これらのイメージは、以下の仮想化プラットフォームで使用できます。

  • VMWare

  • KVM

  • VirtualBox (Oracle VM)

  • Microsoft Hyper-V

サポートされているいずれかの仮想プラットフォームで Amazon Linux 2 仮想マシンイメージを使用するには、次の操作を行います。

ステップ 1: seed.iso 起動イメージを準備する

seed.iso 起動イメージには、新しい VM の起動に必要な初期設定情報 (例: ネットワーク設定、ホスト名、ユーザーデータ) が含まれます。

注記

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

seed.iso 起動イメージを生成するには、2 つの設定ファイルが必要です。

  • meta-data — このファイルには、VM のホスト名と静的ネットワーク設定が含まれます。

  • user-data — このファイルを使用して、ユーザーアカウントを設定し、パスワード、キーペア、およびアクセスメカニズムを指定します。デフォルトでは、Amazon Linux 2 VM イメージでは、ec2-user のユーザーアカウントを作成します。デフォルトのユーザーアカウントのパスワードを設定するには、user-data 設定ファイルを使用します。

seed.iso 起動ディスクを作成するには

  1. seedconfig という名前の新しいフォルダを作成し、そのフォルダに移動します。

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

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

    2. 任意のテキストエディタを使用して meta-data ファイルを開き、以下を追加します。

      local-hostname: vm_hostname # eth0 is the default network interface enabled in the image. You can configure static network settings with an entry like the following. network-interfaces: | auto eth0 iface eth0 inet static address 192.168.1.10 network 192.168.1.0 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.254

      vm_hostname を任意の VM ホスト名に置き換え、必要に応じてネットワーク設定を行います。

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

    VM ホスト名 (amazonlinux.onprem) を指定し、デフォルトのネットワークインターフェイス (eth0) を構成し、必要なネットワークデバイスの静的 IP アドレスを指定する meta-data 構成ファイルの例については、サンプルの Seed.iso ファイルを参照してください。

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

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

    2. 任意のテキストエディタを使用して user-data ファイルを開き、以下を追加します。

      #cloud-config #vim:syntax=yaml users: # A user by the name `ec2-user` is created in the image by default. - default chpasswd: list: | ec2-user:plain_text_password # In the above line, do not add any spaces after 'ec2-user:'.

      plain_text_password を、デフォルトの ec2-user ユーザーアカウントの任意のパスワードに置き換えます。

    3. (オプション) デフォルトでは、cloud-init は VM が起動される度にネットワーク設定に適用されます。ブート起動時の cloud-init によるネットワーク設定の適用を無効にし、最初の起動時のネットワーク設定を保持するには、以下を追加します。

      # NOTE: Cloud-init applies network settings on every boot by default. To retain network settings from first boot, add following ‘write_files’ section: write_files: - path: /etc/cloud/cloud.cfg.d/80_disable_network_after_firstboot.cfg content: | # Disable network configuration after first boot network: config: disabled
    4. user-data 設定ファイルを保存して閉じます。

    また、他のユーザーアカウントを作成して、アクセスメカニズム、パスワード、およびキーペアを指定することもできます。サポートされるディレクティブについては、「モジュール」を参照してください。3 人のユーザーを追加で作成し、デフォルトの ec2-user ユーザーアカウントのカスタムパスワードを指定する user-data ファイルの例については、サンプル Seed.iso ファイルを参照してください。

  4. seed.iso および meta-data 設定ファイルを使用して、user-data 起動イメージを作成します。

    Linux の場合は、genisoimage などのツールを使用します。seedconfig フォルダに移動し、次のコマンドを実行します。

    $ genisoimage -output seed.iso -volid cidata -joliet -rock user-data meta-data

    macOS の場合は、hdiutil などのツールを使用します。seedconfig フォルダの 1 つ上に移動し、次のコマンドを実行します。

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

ステップ 2: Amazon Linux 2 VM イメージのダウンロード

サポートされている仮想化プラットフォームごとに異なる Amazon Linux 2 VM イメージをお使いいただけます。選択したプラットフォームに合う VM イメージをダウンロードします。

ステップ 3: 新しい VM を起動して接続する

新しい VM を起動して接続するには、seed.iso 起動イメージ (ステップ 1 で作成済み) と Amazon Linux 2 VM イメージ (ステップ 2 でダウンロード済み) が必要です。ステップは、選択した VM プラットフォームによって異なります。

最初の起動時に seed.iso 起動イメージを VM に接続する必要があります。seed.iso は最初の起動時にのみ評価されます。

VM を起動したら、user-data 設定ファイルで定義されているいずれかのユーザーアカウントを使用してログインします。VMWare 以外の仮想化プラットフォームでは、seed.iso 起動イメージは、VM の初回ログイン後に切断することができます。