このセクションでは、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
password と
chpasswd の行によって有効になります。
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.crt と
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 を実行しているホスト上のデータストアに転送します。