このセクションでは、cloud-init パッケージを使用してインスタンスの早期初期化を処理する方法について説明します。

cloud-init について

cloud-init は、インスタンスの早期初期化を行う Linux パッケージです。 ディストリビューションで使用可能な場合は、インストール後にインスタンスの多くの一般的なパラメータを直接構成できます。これにより、一連の入力に基づいて構成された完全に機能するインスタンスが作成されます。

cloud-init の動作は、user-data を使用して構成できます。user-data は、インスタンスの起動時にユーザーが指定できます。これは通常、最初の起動時に cloud-init で検索される ISO 形式のセカンダリ ディスクを接続することにより実行されます。このディスクには、その時点で適用される早期構成データがすべて含まれています。

SD-WAN Orchestrator は cloud-init をサポートし、すべての重要な構成を ISO イメージを介してパッケージ化できます。

cloud-init メタデータ ファイルの作成

最後のインストール構成オプションは、cloud-init 構成ファイルのペアで設定されます。最初のインストール構成ファイルには、メタデータが含まれています。テキスト エディタを使用してこのファイルを作成し、meta-data という名前を付けます。このファイルは、インストールされている SD-WAN Orchestrator のインスタンスを識別するための情報を提供します。instance-id は任意の識別名にすることができ、local-hostname はサイトの標準に従うホスト名にする必要があります。たとえば、次のようになります。

instance-id: vco01
local-hostname: vco-01

また、ネットワーク インターフェイスの情報を指定することもできます(ネットワークが DHCP によって構成されていない場合など)。

instance-id: vco01
local-hostname: vco-01
network-interfaces: |
  auto eth0
  iface eth0 inet static
  address 10.0.1.2
  network 10.0.1.0
  netmask 255.255.255.0
  broadcast 10.0.1.255
  gateway 10.0.1.1

cloud-init user-data ファイルの作成

2 番目のインストール構成オプション ファイルは、ユーザー データ ファイルです。このファイルは、システム上のユーザーに関する情報を提供します。テキスト エディタを使用して作成し、user-data という名前を付けます。このファイルは、SD-WAN Orchestrator のインストールへのアクセスを有効にするために使用されます。  次に、user-data ファイルの例を示します。

#cloud-config 
            password: Velocloud123 
            chpasswd: {expire: False} 
            ssh_pwauth: True 
            ssh_authorized_keys:
              - ssh-rsa AAA...SDvz user1@yourdomain.com
              - ssh-rsa AAB...QTuo user2@yourdomain.com
            vco:
              super_users:
                list: |
                  user1@yourdomain.com:password1
                remove_default_users: True
              system_properties:
                 list: |
                    mail.smtp.port:34
                    mail.smtp.host:smtp.yourdomain.com
                    service.maxmind.enable:True
                    service.maxmind.license:todo_license
                    service.maxmind.userid:todo_user
                    service.twilio.phoneNumber:222123123
                    network.public.address:222123123
            write_files:
               - path: /etc/nginx/velocloud/ssl/server.crt
                 permissions: '0644'
                 content: "-----BEGIN CERTIFICATE-----\nMI….ow==\n-----END CERTIFICATE-----\n"
               - path: /etc/nginx/velocloud/ssl/server.key
                 permissions: '0600'
                 content: "-----BEGIN RSA PRIVATE KEY-----\nMII...D/JQ==\n-----END RSA PRIVATE KEY-----\n" 
               - path: /etc/nginx/velocloud/ssl/velocloudCA.crt
この user-data ファイルを使用すると、デフォルトのユーザーである vcadmin は、パスワードまたは SSH キーを使用してログインできます。両方の方法を使用することは可能ですが、必須ではありません。パスワード ログインは、 passwordchpasswd の行によって有効になります。
  • password には、vcadmin ユーザーのプレーンテキストのパスワードが含まれています。
  • chpasswd の行はパスワードの有効期限をオフにして、初回ログイン時にパスワードの変更をすぐに要求しないようにします。これはオプションです。
注: パスワードを設定する場合は、パスワードがプレーンテキスト ファイルに保存されているため、初めてログインするときにパスワードを変更することをお勧めします。

ssh_pwauth の行は SSH ログインを有効にします。ssh_authorized_keys の行は、1 つ以上の認証済みキーのブロックを開始します。ssh-rsa の行にリストされている各パブリック SSH キーは、vcadmin ~/.ssh/authorized_keys ファイルに追加されます。

この例では、2 つのキーが表示されています。この例では、キーは切り詰められています。実際のファイルには、パブリック キー全体が表示されている必要があります。ssh-rsa の行は 2 つのスペースで始まり、その後にハイフンを続け、その後に 1 つのスペースを指定する必要があることに注意してください。

vco セクションでは、構成された SD-WAN Orchestrator サービスを指定します。

super_users には、VMware スーパー オペレータ アカウントおよび対応するパスワードのリストが含まれています。

system_properties セクションでは、Orchestrator のシステム プロパティをカスタマイズできます。システム プロパティの構成に関する詳細については、システム プロパティを参照してください。

write_files セクションでは、システム上のファイルを置き換えることができます。デフォルトでは、 SD-WAN Orchestrator の Web サービスは、自己署名 SSL 証明書を使用して構成されます。別の SSL 証明書を提供する場合、上記の例では、 /etc/nginx/velocloud/ssl/ フォルダの server.crtserver.key ファイルをユーザーが指定したファイルに置き換えます。
注: server.key ファイルは暗号化されていない必要があります。そうしないと、キー パスワードがないためサービスを開始できなくなります。

ISO ファイルの作成

ファイルの入力が完了したら、ISO イメージにパッケージ化する必要があります。この ISO イメージは、仮想マシンとともに仮想構成 CD として使用されます。この ISO イメージは vco01-cidata.iso と呼ばれ、Linux システムで次のコマンドを使用して作成されます。

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

新しく作成した ISO イメージを VMware を実行しているホスト上のデータストアに転送します。