Cisco Elastic Services Controller(ESC)は仮想ネットワーク機能マネージャ(VNFM)であり、仮想ネットワーク機能(VNF)のライフサイクル管理を実行します。ESC により、仮想サービスのプロビジョニング、およびその正常性と負荷のモニタリングによるエージェントレスのマルチベンダー VNF 管理が可能になります。ESC を使うことで、モニタリングのルールを定義し、ルールの結果に基づいてトリガーされるアクションを関連付けることができるため、柔軟な管理が実現します。モニタリングの結果に基づき、ESC は VNF に対してスケールインまたはスケールアウトを実行します。また、VM に障害が発生した場合の自動 VM リカバリもサポートしています。
以降のセクションでは、展開シナリオを示し、すべての必須 XML ファイルも示します。
展開プロセスを開始する前に、次のリストのすべての必須 XML ファイルを更新してください。
次の表に、展開(dep.xml)属性を示します。
属性 |
データ タイプ |
説明 |
tenant |
list |
テナントのリスト。 |
name |
string |
テナントの名前。 |
managed_resource |
boolean |
true の場合、テナントが作成、使用、および削除されます。false の場合、テナントは ESC でのみ使用されます。デフォルトは true |
extensions |
container |
|
extension |
list |
テナントレベルで関連付けられる拡張機能(例:quota)。 |
deployments(サービス登録なしの VNF 展開用) |
||
deployment |
list |
展開のリスト。 |
name |
string |
展開の名前。 |
extensions |
container |
|
extension |
list |
展開レベルで関連付けられる拡張機能(例:VMWARE_VCD_PARAMS)。 |
locators |
container |
VMware マルチ VDC の VIM 固有リソースロケータプロパティを含みます。VMware マルチ VDC のみをサポートします。単一の VIM 展開でサポートします。 |
datacenter |
string |
展開を実行するデータセンターを指定します。VMware でのみサポートされます。 |
placement |
list |
配置ポリシーの仕様。これをリストとして指定すると、vm_group の組み合わせごとに異なる配置ポリシーを定義できます。 |
placement_group |
list |
配置グループポリシーの指定。このポリシーでは、配置ポリシーとこのポリシーの一部となる VM グループを定義できます。 |
Policies |
Container |
VM の起動方法に影響する、指定可能なさまざまなポリシーについて記述します。 |
Policy |
list |
条件のリストとアクションのリストを含むポリシーリスト。 |
name |
string |
ポリシーの一意の名前(展開内)を指定し |
conditions |
Container |
アクションをトリガーするライフサイクルステージ条件。 |
condition |
list |
このポリシーが依存する条件のリスト。 |
Name |
String |
このポリシーが依存する条件を指定します。ESC は、サポートされる条件のリストを提供します。 |
Actions |
Container |
条件を満たす場合にトリガーされるアクション。 |
Action |
List |
このポリシーによってトリガーされるアクションのリスト。 |
Name |
String |
トリガーされるアクションの名前を指定します。アクション名によっては ESC で事前に定義されている場合があります。 |
Type |
Enum(SCRIPT または PRE_DEFINED) |
アクションのタイプを指定します。 |
Properties |
Container |
name/value <property> のリストを含みます。 |
file_locators |
Container |
ファイルロケータのリスト。 |
file_locator |
list |
各ファイルロケータは、LCS、Day 0 または KPI セクションで参照できるローカルファイルまたはリモートファイルを指定します。remote_file は、ファイルサーバを使用した認証サポートで使用できます。 |
local_file |
Container |
ローカルファイルシステム上のファイルパス。 |
remote_file |
Container |
接続先のファイルサーバ定義の名前。 |
deployment_groups |
||
anti_affinity_group |
String |
この展開に関連するアンチアフィニティグループの名前を指定します。展開は、0 個または複数の anti_affinity_groups と関連付けることができます。OpenStack でのみサポートされます。 |
vm_group |
||
vm_group |
list |
このセクションでは、このグループの各 VM のインターフェイス数、モニタリングタイプ、モニタリング頻度、イベントタイプ、スケーリングメカニズム、柔軟性プロパティなどのプロパティを定義できます。これは、VM のタイプを表します。たとえば、1 回の展開で 2 つの Web サーバが必要な場合、1 つの VM インスタンスのみが定義され、スケーリングセクションでインスタンス数が 2 に設定されます。2 種類の VM(たとえば、Web サーバとデータベースサーバ)がある場合、このようなサービスは 2 つの vm_groups が設定されます。1 つは Web サーバ用、もう 1 つはデータベースサーバ用です。 |
name |
string |
VM グループの名前を記述します。 |
placement |
container |
配置ポリシーの仕様。これをリストとして指定すると、vm_group の組み合わせごとに異なる配置ポリシーを定義できます。 |
locator |
container |
VIM が明示的に定義されたマルチ VIM 対応設定を示します。 |
vim_id |
string |
設定を適用するターゲット VIM の ESC 定義 ID を指定します。 |
vim_project |
string |
設定を適用するターゲットプロジェクトの名前を指定します。 |
vim_region |
string |
設定を適用するターゲットリージョンの名前を指定します(AWS のみ)。 |
vim_vdc |
string |
設定を適用するターゲット仮想データセンターの名前を指定します(vCloud Director |
type |
enum(affinity/anti- affinity/host_placement/zone_placement/z one-host) |
affinity/anti_affinity/host_placement/zone_place ment |
enforcement |
enum(strict/loose) |
Strict または Loose。 |
host |
string |
上で指定した VM のグループを展開するホ |
zone |
string |
上で指定した VM のグループを展開する |
bootup_time |
integer |
VM がコールドブートの実行に要する時間(単位:秒)。ESC は bootup_time の間待機し、VM が何らかの理由でこの時間内に起動しない場合、リカバリタイマーを開始します。 |
reboot_time |
integer |
VM が通常のリブートの実行に要する時間(単位:秒)。指定されていない場合、bootup_time 値を使用します。 |
recovery_wait_time |
integer |
VM が通常のウォームリブートの実行に要する時間(単位:秒)。 ESC はリカバリ待機時間の経過後に、dep.xml で定義されたリカバリ(リブート、再展開、またはリブート/再展開)を開始します。 リブートおよび展開アクションは、ESC が VM の展開の成否を判断するまでに、3 回(または設定による回数)実行される場合があります。 |
recovery_policy |
container |
リカバリポリシーのタイプを指定します。 |
action_on_recovery |
enum |
リカバリポリシーのタイプを指定します。値は、REBOOT_THEN_REDEPLOY、REBOOT_ONLY、REDEPLOY_ONLY です。デフォルトは REBOOT_THEN_REDEPLOY です。 |
recovery_type |
enum |
リカバリのタイプ。値は AUTO、MANUAL です。デフォルトは AUTO です。 |
max_retries |
integer |
リカバリの試行回数。デフォルトは 3 です。 |
image |
string |
VIM 上の既存のイメージ(OpenStack 環境) またはテンプレート(VMware VIM 環境)を参照します。 |
flavor |
string |
VIM 上の既存のフレーバを参照します。OpenStack 環境でのみ使えます。 |
vim_vm_name |
string |
VIM 上の VM のユーザ指定の名前。 |
software_version |
String |
VM グループのソフトウェアバージョン。ソフトウェアバージョンとライフサイクルの段階に応じて、VM または VNF ではソフトウェアアップグレードの実行が可能になります。 |
volumes
size と sizeunit が指定されている場合、ESC はボリュームを作成します。それ以外の場合は、指定された詳細情報に適合するボリュームを VIM 内で特定します。 |
||
name |
string |
表示名を指定します。 |
volid |
string |
アウトオブバンドボリュームがアタッチされる順序を指定します。 |
bus |
enum |
アタッチされるボリュームのバスタイプを指定します。 |
type |
string |
(オプション)ボリュームを ESC が指定したタイプと一致させるためのタイプを指定します。 |
size |
integer |
(オプション)ボリュームのサイズ。 |
sizeunit |
enum |
サイズの単位。単位は、MiB/GiB/TiB/PiB/EiB です。 |
boot_index |
integer |
ブート可能ボリュームのブート順序を指定します。 |
Interface (list)
インターフェイスの数と各インターフェイスのプロパティを指定します。ここで指定されたインターフェイスの順序は、VM 内のインターフェイスの順序に対応していません。
インターフェイスリストでは、新しいインターフェイスまたはポートを作成するか、既存のポートを使用するかを選択できます。新しいインターフェイスの場合、ESC は VM または VNF の作成中にインターフェイスを作成します。この一環として、ユーザはインターフェイスを DHCP または静的に設定でき、その他のポートの設定も可能です。 既存ポートの場合にはユーザはポートを VM または VNF に追加できますが、その他の設定を追加することはできません。 |
||
nicid |
integer |
インターフェイスの論理 ID。モニタリング対象の nic を指定するために、後で KPI セクションで使用されます。 |
vim_interface_name |
string |
VIM 上のインターフェイスのユーザ指定名。 |
model |
enum |
仮想の場合:e1000 または virtio。パススルーの場合:NIC のモデル。これはデータセンターに固有となります。データセンターには、インテル、シスコなどのさまざまなベンダーの仮想機能をサポートする NIC が含まれる場合があります。デフォルトは virtio です。 |
mac_address |
ietf-macaddress |
このインターフェイスのスタティック MAC アドレス。 |
network |
string |
このインターフェイスを接続する必要があるネットワーク。 |
choice single_subnet_or_multiple
subnet/ip_address または addresses を選択します。複数の subnet/ip_address の組み合わせをサポートするために、コンテナ addresses が追加されました。これは、VNF がデュアルスタック インターフェイスまたは 1 つのインターフェイスに対する複数の IP 設定をサポートするために必要です。 |
||
subnet |
string |
ポートを作成する必要がある、ネットワーク内のサブネット。 |
ip_address |
ietf-ipaddress |
このインターフェイスのスタティック IP アドレス。 |
addresses |
container |
デュアルスタック インターフェイスまたは 1 つのインターフェイスに対する複数の IP 設定をサポートします。 |
address |
list |
subnet と ip_address のリスト。 |
address_id |
uint16 |
アドレスリスト内のアドレスの ID。 |
subnet |
String |
IP をこのポートに割り当てるためのサブネット名または UUID。 |
ip_address |
ietf-ipaddress |
この特定のサブネットのスタティック IP アドレス。 |
type |
enum |
インターフェイスタイプ。値は、virtual、passthru、direct、macvtap です。デフォルト値は virtual です。Single Root I/O Virtualization を設定します。 インターフェイスのタイプを direct に設定すると、SR-IOV が設定されます。 |
port_security_enabled |
boolean |
ポートセキュリティがポートレベルで有効かどうか。 |
public_ip_address |
ietf-ipaddress |
このインターフェイスのパブリック IP アドレス。 |
security_groups |
container |
このインスタンス用に設定されたセキュリティグループのコンテナ。 |
security_group |
string |
VM インスタンスのアクセス制御を決定する IP フィルタルール。 |
allowed_address_pairs |
container |
許可されたアドレスは、サブネットに関係なくポートを通過できる任意の mac_address/ip_address(cidr) ペアを指定できます。 |
network |
list |
このインターフェイスで許可されたネットワーク。 |
name |
string |
ネットワーク名または uuid。 |
address |
list |
このインターフェイス上で許可されたアド レス。 |
Ip_address |
ietf-ipaddress |
このネットワークの IP アドレスまたはサブネットアドレス。 |
netmask |
ietf-ipaddress |
サブネットアドレスのネットマスク。 |
Ip_prefix |
string |
サブネットアドレスのプレフィックス長。整数で表されます。IPv4 アドレスの範囲は 0 〜 32 です。IPv6 アドレスの範囲は 0 ~ 128 |
port |
string |
既存のポートを参照するインターフェイス。 |
pci_id |
string |
インターフェイス用の PCI デバイスを指定します。VMware vShpere のみ。 |
Monitoring |
||
monitoring data |
list |
ESC 内のモニタモジュールの設定に使用するモニタリングルールを指定します。 |
event_name |
string |
ユーザ定義のイベント名。対応するイベント名が rules セクションに存在している必要があります。 モニタモジュールは、イベントをトリガーする必要がある場合にイベントジェネレータに通知します。VM_ALIVE |
monitoring_agent |
uri |
VNF のモニタを指定します(ローカル MONA や 分散型 MONA など)。 |
nicid |
integer |
メトリックをモニタするために使用するインターフェイス。これは、プロキシが使用されていない場合に使用されます。この ID のインターフェイスが以前に指定されていることを確認してください。 |
address_id |
integer |
メトリックのモニタに使用するインターフェイス内のアドレス。これは、プロキシが使用されておらず、nicid インターフェイスに複数のアドレスがある場合に使用されます。この ID を持つアドレスが以前に指定されていることを確認してください。 |
metric_value |
string |
モニタモジュールによってチェックされるしきい値。 |
metric_cond |
enum(GT、LT、EQ、GE、LE) |
メトリックでサポートされる条件は、GT、LT、EQ、GE、LE です。 |
metric_type |
integer |
サポートされるメトリックタイプは、INT8、UINT8、INT16、UINT16、INT32、UINT32、FLOAT、DOUBLE、STRING です。 |
metric_occurrences_tr ue |
integer |
モニタリングモジュールによって条件が true であると検出される連続ポーリングサイクル数。この数を超えると、モニタリングモジュールがイベントを送信します。 |
metric_occurrences_fal se |
integer |
モニタリングモジュールによって条件が false であると検出される連続ポーリングサイクル数。この数を超えると、モニタリングモジュールがイベントを送信します。 |
metric_collector |
container |
このセクションでは、モニタリングが必要なメトリックと、モニタリングを実行する頻度に関する情報を指定します。 |
type |
string |
モニタモジュールがモニタするタイプ。例:ICMP ping。これらは、モニタリングモジュールでサポートされているタイプです。サポートされるすべての名前のリストはモニタモジュールによって異なるため、特定の実装で使用されるモニタモジュールのドキュメントを参照することをお勧めします。 |
poll_frequency |
integer |
モニタモジュールがメトリックをポーリングする頻度。 |
polling_unit |
enum(minutes、seconds) |
ポーリング頻度の単位(seconds または minutes)。 |
rules |
||
admin_rules |
container |
これらは、管理者がサービスの登録時に指定するルールです。このアクションは、サービスの展開ごとに実行されます。 |
rule |
list |
イベントがイベントによってトリガーされたときに、ESC またはその代わりの他のモジュールによって実行されるアクション。すべてのルールには、名前とアクションスクリプトが関連付けられます。アクションスクリプトは、ESC がスクリプトをダウンロードして対応するイベントを実行する URL です。 |
event_name |
string |
対応するイベント名が monitoring セクションに存在している必要があります。 |
action |
string |
上記のイベントに関連付けられたアクション。値は、ALWAYS log、TRUE servicebooted.sh、FALSE recover auto healing です。これには特定の形式があり、記述はより有用な情報で更新する必要があり |
scaling |
||
scaling |
container |
インスタンス化する必要がある特定タイプの VM のインスタンス数、および柔軟なスケールインとスケールアウトが必要かどうかを指定します。 |
min_active |
integer |
展開内の VM の最小数を記述します。これらの VM 上の負荷に関係なく、ESC は少なくともこの最小数のサービス VM が常に実行されていることを保証します。 |
max_active |
integer |
ESC によってアクティブ化されるアクティブ VM の最大数を記述します。負荷が増加すると、新しい VM がアクティブ化されます。 |
elastic |
container |
柔軟なスケールインとスケールアウトを要求します。デフォルトでは、この値は true に設定されています。 |
static_ip_address_pool |
string |
IP アドレスをリストします。 |
placement |
string |
VM 配置のタイプを指定します。 |
type |
string(host/zone/zone-host) |
VM 配置のタイプを指定します。値は、host、zone、zone-host です。 |
zone |
string |
クラスタを指定します。 |
config_data |
||
configuration |
container |
Day-0 設定データをサービス VM に渡すことを可能にします。ファイルとインラインデータの 2 つの方法があります。いずれの場合も、CDROM が設定データの内容で作成され、VM にアタッチされます。file_locator_name が新たに追加され、展開時に定義されたファイルロケータを参照します。
注:file_locators は廃止されました |
config_type |
String |
ESC が設定データを処理する方法を定義します。デフォルトは CREATE_ISO です。 値が存在しない場合、ESC は ISO などへの変換を試行せずに、設定リストからファイルを渡します。 |
config_options |
container |
ISO ファイルを作成するために必要なオプションを定義します。 |
configuration |
List |
設定ファイル/テンプレートのリストです。リストにすることで、複数の Day-0 設定を指定できます。 |
属性 |
データ タイプ |
説明 |
name |
string |
ネットワークの名前。 |
shared |
boolean |
ネットワークが他のテナントとの間で共有されている場合は True。デフォルトは True です。 |
admin_state |
boolean |
管理状態がアップかダウンかを指定します。アップの場合は true、ダウンの場合は false に設定します。ダウンの場合、ネットワークはパケットを転送しません。 |
router_external |
boolean |
このネットワークが外部からアクセス可能かどうかを示します。 |
provider_physical_network |
String |
仮想ネットワークが実装されている物理ネットワークの名前を指定し |
provider_network_type |
String |
仮想ネットワークを実装するための物理メカニズムを指定します。 |
provider_segmentation_id |
Int |
基盤となる物理ネットワークの ID またはトンネル ID。 |
vlan_id |
Int |
(VMware のみ)このポートグループに割り当てる VLAN ID を指定し |
number_of_ports |
int |
(VMware のみ)このポートグループに割り当てるポートの数を指定し |
switch_name |
|
(VMware のみ)スイッチの名前を指定します。 |
locators |
|
仮想データセンターの識別に使用されるレガシーロケータ。 |
multi_vim_locators |
|
複数 VIM 環境で VIM を特定します。 |
subnet ネットワーク下にサブネットを作成します。 |
||
name |
String |
サブネットの名前。 |
ipversion |
String |
IP バージョン:IPv4 または IPv6。 |
dhcp |
boolean |
このネットワーク上の VM の IP アドレスが DHCP によって割り当てられるかどうか。 |
address |
etf-inet-types:ip-address |
このネットワークのサブネットアドレス。 |
netmask |
etf-inet-types:ip-address |
IP アドレスで表されるサブネットマスク。 |
ip_prefix |
String |
IP プレフィックスで表されるサブネットマスク。 |
gateway |
etf-inet-types:ip-address |
ネットワークのデフォルトゲートウェイ。指定しない場合、ESC はネットワークへのゲートウェイの決定を試行します。 |
no_gateway |
boolean |
ネットワークのゲートウェイなし。ゲートウェイ設定を無視します。 |
次の表に、イメージ(image.xml)の属性を示します。
属性 |
データ タイプ |
説明 |
name |
string |
イメージの名前。 |
src |
string |
イメージのソースを ESC に示します。これは、ESC がイメージをダウンロードする URL(http:// ...)、または ESC VM 自体にあるファイルの場所のパス(file:// ...)のいずれかです。 |
disk_format |
enum(qcow2、raw、vmdk) |
ディスクの形式を記述します。例:qcow。 |
container_format |
enum(bare) |
コンテナの形式を記述します。例:bare。 |
serial_console |
boolean |
イメージにシリアルコンソールがある場合は、true に設定します。 |
disk_bus |
enum(ide、scsi、virtio) |
ルートディスクバス。値は ide、scsi、または virtio です。 |
visibility |
string |
イメージをパブリックとして作成するかプライベートとして作成するかを指定します。デフォルト値は public です。値は public または private です。 |
checksum |
string |
ファイルの SHA チェックサム。 |
checksum_algorithm |
enum(sha256sum、sha512sum) |
与えられたチェックサムを検証するために使用するアルゴリズム。 |
remove_src_on_completio |
boolean |
イメージの登録が完了した後にイメージソースファイルを削除する場合は TRUE。デフォルトは FALSE です。 |
locators |
container |
VIM 固有のリソースロケータプロパティを含みます。 |
datacenter |
string |
イメージが作成されるデータセンターを指定します。VMware でのみサポートされます。 |
locator |
container |
|
vim_id |
string |
設定を適用するターゲット VIM の ESC 定義 ID を指定します。 |
vim_project |
string |
設定を適用するターゲットプロジェクトの名前を指定します。 |
vim_region |
string |
設定を適用するターゲットリージョンの名前を指定します。 |
vim_vdc |
string |
設定を適用するターゲット vDC の名前を指定します。 |
metadata |
container |
このセクションでは、メタデータのプロパティについて説明し |
src |
ietf-inet-types:uri |
ESC によってダウンロードできるメタデータファイルの URL。 |
checksum |
string |
ファイルの SHA チェックサム。 |
checksum_algorithm |
string |
与えられたチェックサムを検証するために使用するアルゴリズム。 |
properties |
container |
オプションのプロパティリストをイメージ作成ペイロードに含めることができます。これは、OpenStack 上のイメージの作成の場合にのみサポートされます。イメージのプロパティは、イメージメタデータとして OpenStack に保存されます。プロパティ名と値は ESC によって検証されません。 |
次の表に、Flavor(flavor.xml)属性を示します。
属性 |
データ タイプ |
説明 |
name |
string |
フレーバの名前。 |
vcpu |
integer |
VM インスタンスあたりの仮想 CPU 数。 |
memory_mb |
integer |
VM インスタンスあたりのメモリ量(メガバイト単位)。 |
root_disk_mb |
integer |
仮想ルートディスクのサイズ(ギガバイト単位)。これは、ベースイメージのコピー先のエフェメラルディスクです。永続ボリュームからブートする場合は使用しません。「0」サイズは、エフェメラル ルート ボリュームのサイズとしてネイティブのベースイメージサイズを使用する特殊なケースで設定します。 |
ephemeral_disk_mb |
integer |
セカンダリ エフェメラル データ ディスクのサイズを指定します。これは空の未フォーマットのディスクで、インスタンスの存続期間中のみ存在します。 |
swap_disk_mb |
integer |
インスタンスのスワップ領域割り当て(オプション)。 |
name |
string |
OpenStack インターフェイスをパススルーする PCI デバイスの名前を指定します。 |
value |
integer |
プロパティの値を指定します。 |
次の表に、ボリューム属性を示します。
属性 |
データ タイプ |
説明 |
name |
string |
ボリュームの名前。 |
size |
Int |
ボリュームのサイズ。 |
sizeunit |
enum |
サイズの単位。MiB/GiB/TiB/PiB/EiB |
image |
String |
ソースイメージの名前または UUID。 |
type |
String |
特定のバックエンドにスケジューリングを提供できます。また、バックエンドストレージデバイスが動作する条件となる特定の情報を指定するためにも使用できます。 |
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: http://www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R)
Cisco 著作権
© 2020 Cisco Systems, Inc. All rights reserved.