プライマリ・コンテンツに移動
Oracle® Public Cloud Machine Oracle Compute Cloud Serviceの使用
リリース17.1.2
E62130-12
目次へ移動
目次

前
次
機械翻訳について

A オーケストレーション・テンプレート

オーケストレーションは、JSON形式のファイルに格納されます。

次のJSONファイルの例は、オーケストレーションのハイレベルの構造を示しています。 主要な構造はオブジェクト・プラン(oplan)と呼ばれます。 1つのオーケストレーションに、最大10個のoplanを含めることができます。 oplanにはオブジェクトが含まれ、関係を介して宣言された依存関係を含めることができます。

注意:

  • オーケストレーション・テンプレートでは、オブジェクト名、ラベルおよび他のユーザー固有の値にプレースホルダ・テキストを使用します。 これらのテンプレートを使用してオーケストレーションを構築する場合は、プレースホルダ値とユーザーの環境固有の値を置き換えてください。

  • JSONファイルでは、オーケストレーションの各要素間にカンマが必要です。

{
    "description": "someDescriptionHere",
    "name": "/<tenant_name>/public/<orchestration_name>",
    "oplans": [
        {
            "ha_policy": "active",
		"label": "someText",
            "obj_type": "objectType",
            "objects": [
                {
                    definitions of objects specific to this object type
                }
            ]
        },
        {
            "label": "someText",
            "obj_type": "objectType",
            "objects": [
                {
                    definitions of objects specific to this object type
                }
            ]
        },
                                        .
                                        . up to 10 oplans
                                        .
    ]
}

注意:

オーケストレーションではオブジェクトを使用して、オーケストレーション可能な様々なシステム・コンポーネントをカプセル化します。 たとえば、起動プランでは、obj_typelaunchplanです。 objectsセクションのフィールドはオブジェクト・タイプによって異なります。

次の表に、オーケストレーションの要素を示します。

表A-1 オーケストレーションの要素

オブジェクト識別子 説明 使用可能な要素または値

description

オーケストレーションの説明

オーケストレーションを説明するテキスト。

name

オーケストレーションの名前。 これは3つのコンポーネントで構成され、/tenant_name/public/で始まります

例: /mytenant/public/single_instance

オーケストレーションの名前を指定するテキスト。

oplans

オブジェクト・プランは、オーケストレーションにオブジェクトを定義するためのオーケストレーションの主要な構造です。

オーケストレーションでさまざまなオブジェクトを定義するための要素を持つ計画のリスト: ha_policylabelobj_type、およびobjectsを含みます。

label

ユーザーが指定したオブジェクトの名前。 ラベルは、関係の指定に使用されたり、エラー状態のoplanを特定するためにオーケストレーション・レベルのエラー・メッセージに表示されます。

オブジェクトを説明するテキスト。

relationships

オーケストレーションのコンポーネントが起動する順序を指定するコンテナ構造。 オーケストレーションのrelationshipsセクションでは、oplanのラベルおよび関係タイプを指定します。

関係を説明するJSON構造化要素。

次の表に、oplansの要素を示します。

表A-2 oplanの要素

オブジェクト識別子 説明 使用可能な値または要素

ha_policy

オブジェクト・タイプ(obj_type)の高可用性ポリシーを指定するオプション要素。

高可用性または監視が必要ない場合は、ha_policy要素を含めないでください。 起動プランはデフォルトで監視されます。

active: オブジェクト・タイプlaunchplanにのみ設定されます。

monitor: オブジェクト・タイプ
launchplan
およびstorage/volumeにのみ設定されます。

none: HAポリシーを無効にする場合、またはサポートされていないオブジェクトで使用する場合。

obj_type

定義するオブジェクトのタイプ。

launchplanstorage/volumeおよびvnetreservation

objects

オブジェクト・タイプにオブジェクトを定義するためのコンテナ構造。

launchplan: インスタンス、関係。

storage/ volume: 名前、サイズ、プロパティ。

ip/reservation: VNet予約。

これらが事前に作成されていなかった場合は、オーケストレーションの開始時にオーケストレーションで参照されるネットワーク、ストレージまたは他のオブジェクトが作成され、オーケストレーションの停止時にはこれらが破棄されます。

オーケストレーションの構造およびその要素のスキーマの詳細は、次の各項で説明します。

オーケストレーションの構造

{
"name": <string>,
"description": <string>,
"oplans": [ <oplan>,...]
"relationships": [ <oplan_relationship>,...] (optional)
}

次の表に、オーケストレーションの要素を示します。

フィールド 説明
name オーケストレーション・プランの名前
description オーケストレーション・プランの説明
oplans oplanのリスト
relationships このオーケストレーションで満たされる必要のある関係指定のリスト

oplanのオーケストレーション・テンプレート

オブジェクト・プラン(oplan)は、最上位のオーケストレーション属性です。 オブジェクト・プラン内で、様々なオブジェクト・タイプを指定し、各オブジェクト・タイプに対し1つ以上のオブジェクトを定義できます。

{
"label": <string>
,"obj_type": "launchplan" | "storage/volume",
"objects": [ <objtype_launchplan>,...] | [ <objtype_storagevolume>,...]
"ha_policy": "monitor" | "active", (optional)
}

次の表に、オブジェクト・プランの属性を示します。

フィールド 説明
ha_policy oplanのHA動作を決定します。 activeの指定は、プランの起動にのみ適用され、インスタンスが予期せず終了した場合は、インスタンスが自動的に再起動されます。 monitorの指定は、すべてのオブジェクト・タイプに適用されます。すべてのオブジェクトの状態が監視されるため、状態が変わるとオーケストレーションに反映されます。 ha_policyが指定されていない場合、ストレージ・ボリュームは監視されません。 起動プランはデフォルトで監視されるため、このプロパティを省略してもタイプlaunchplanのオブジェクトには影響しません。
label oplanの説明。
obj_type オブジェクトのタイプ。
objects タイプobj_typeのすべてのオブジェクトのリスト。

Oplanの関係

{
 "oplan": <string>,
 "to_oplan": <string>,
 "type": "depends",
}

次の表に、oplanの関係の属性を示します。

フィールド 説明
oplan oplan1のラベル
to_oplan oplan1が依存するoplanのラベル
type 関係のタイプ。 これはdependsである必要があります。

オブジェクト・タイプ: 起動プランのオーケストレーション・テンプレート

1つ以上のインスタンスを定義する場合は、このオブジェクト・タイプを使用します。 オーケストレーションでは、instancelaunchplanオブジェクト・タイプの属性です。

{
 "instances": [ <instance>,...]
 "relationships": [ <instance_relationship>,...] (optional)
}

次の表に、launchplanの属性を示します。

フィールド 説明
instances 起動プランで定義されたインスタンスのリスト。
relationships 起動プランのインスタンスと現在実行中のインスタンスの間に存在する関係のリスト。

オブジェクト・タイプ: ストレージ/ボリュームのオーケストレーション・テンプレート

インスタンスにアタッチするストレージ・ボリュームを作成するには、このオブジェクト・タイプを使用します。 

{
"name": <string>,
"properties": [ <string>, ...]
"size": <string>,
"description": <string>, (optional)
"source_storagevolume_name": <string>, (optional)
"imagelist": <string>, (optional)
"imagelist_entry": <number>, (optional)
"tags": [ <string>, ...] (optional)
"quota": <string>, (optional)
}

次の表に、storage/volumeの属性を示します。

フィールド 説明
name ストレージ・ボリュームの名前
properties このストレージ・ボリュームに関連付けられているストレージ・プロパティのリスト。
size バイト数またはバイトの倍数で測定したこのストレージ・ボリュームのサイズ
description ストレージ・ボリュームの説明。
source_storagevolume_name 作成時にこのボリュームにコピーする既存のストレージ・ボリュームの名前。 imagelistオプションを指定する場合は使用できません。
imagelist 作成時にこのボリュームに抽出するマシン・イメージの名前。 source_storagevolume_nameオプションを指定する場合は使用できません。
imagelist_entry 抽出する特定のイメージ・リスト入力バージョン。
tags ストレージ・ボリュームにタグ付けする文字列のリスト。
quota このボリュームが作成される割当て。

インスタンス属性

オーケストレーションでは、instancelaunchplanオブジェクト・タイプの属性です。 インスタンス属性で参照されるオブジェクトが、インスタンスと同じオーケストレーションで定義される場合は、各オブジェクトとインスタンスの起動プランの間で関係を指定する必要があります。

{
"shape": <string>,
"networking": <string>,
"imagelist": <string>,
"label": <string>, (optional but recommended)
"name": <string>, (optional but recommended)
"storage_attachments": [ <storage_attachment>, ...] (optional)
"tags": [ <string>, ...] (optional)
"attributes": <userdata>, (optional)
"nis": <nis>, (optional)
"sshkeys": [ <string>, ...] (optional)
"entry": <number>, (optional)
"quota": <string>, (optional)
}

次の表に、instancesの属性を示します。

フィールド 説明
shape インスタンスのサイズまたはリソース要件(メモリー/CPU)を定義します。 サイト構成で定義されたシェイプのいずれかに対応する必要があります。
networking インスタンスにアタッチする仮想NICのネットワーク指定子へのデバイス名のマッピング。
imagelist 起動するイメージ・リストの名前。
label ユーザーによって割り当てられたラベル。特に、インスタンス間関係を定義する場合。 オプションですが、使用をお薦めします。 一部のエラー・メッセージおよびステータス・メッセージでも使用されます。 指定されていない場合、ラベルが自動的に割り当てられます。
name サーバーで生成されたインスタンスの名前。 これはオプションですが、使用することをお薦めします。 名前の接頭辞を指定すると、list instanceなどのCLIコマンドの使用時にインスタンスの検出および識別が容易になります。 ユーザーは名前の接頭辞を指定でき、システムにより生成されたUUIDが接頭辞に付加されます。 例: tenant_name/public/instance_nameはインスタンス名tenant_name/public/instance_name/uuidになります。 名前が指定されていない場合の名前は、tenant_name/public/uuidになります。
storage_attachments ストレージ・アタッチメント情報を含むディクショナリのリスト。
tags インスタンスにタグ付けする文字列のリスト。
attributes メタデータ・サービスを通じてインスタンスに対して使用可能になるユーザー定義のキー値ペアのコレクション。
placement_requirements 該当なし
nis ネットワーク情報サービス構成。
sshkeys インスタンスにインストールされているSSHキー。
entry オプションのイメージ・リスト入力番号。 指定されていない場合、デフォルト値が使用されます。
quota このインスタンスが実行される割当て。

relationships属性

オーケストレーションでは、relationshipslaunchplanオブジェクト・タイプの属性です。

{
"instances": [ <string>, ...]
"type": "same_node" | "different_node",
}

次の表に、relationshipsの属性を示します。

フィールド 説明
instances インスタンスのラベルのリスト。 instance: running instance nameを使用して、launchplanのインスタンスとすでに実行中のインスタンスの間の関係を作成することもできます。
type 指定されたインスタンス間の関係のタイプ。

nis属性

{    
"domain": <string>,    
"servers": [ <nis_server>, ... ] 
}

次の表に、nisの属性を示します。

フィールド 説明
domain NISドメイン名。
servers NISサーバー・エントリのリスト。

nis_server属性

{    
"name": <string>,    
"ip": <string>, 
}

次の表に、nis_serverの属性を示します。

フィールド 説明
name NISサーバーの名前。
ip NISサーバーのIPアドレス。

userdata属性

{    
"userdata": { <string>: <string>, ... } 
}

次の表に、userdataの属性を示します。

フィールド 説明
userdata メタデータ・サービスを通じてインスタンスに対して使用可能になるユーザー定義のキー値ペアのコレクション。

networking属性

{    <string>: <networkblock>,
...
 }

次の表に、networkingの属性を示します。

フィールド 説明
string networkblockで記述されたネットワークの一意のラベル。 net0など、短い文字列が使用されます。 ネットワーク・エントリは、ドキュメントに出現する順序ではなくソート順で、このキーを使用して処理されます。

storage_attachment属性

{    
"volume": <string>,    
"index: <number>, 
}

次の表に、storage_attachmentの属性を示します。

フィールド 説明
volume インスタンスがアタッチされるストレージ・ボリュームの名前。
index デバイス名の生成時に使用される整数のインデックス(例: /dev/sda1の1)。

networkblock属性

{    
"vnet" | "vnetreservation": <string>,    
"options": <networkblock_options>, (optional) 
}

次の表に、networkblockの属性を示します。

フィールド 説明
vnet 完全なvNet名。 1つのvNetまたはvNet予約のみ指定できます。
options インスタンスのネットワーク構成のオプションのセット。 複数のネットワークにオプションが含まれる場合は、特定のオプションを指定する最初のブロックが使用され、その他は無視されます。

networkblock_options属性

{    
 "dns": <networkblock_dns>, (optional)   
  "hostname": <string>, (optional)    
 "network_route": [ <networkblock_route>,... ] (optional)    
 "default_gateway": <boolean>, (optional)   
 "provider": <boolean>, (optional)    
 "primary": <boolean>, (optional) 
}

次の表に、networkblock_optionsの属性を示します。

フィールド 説明
hostname インスタンスのネットワークIPに関連付けられているホスト名を指定します。 複数のネットワークに複数のホスト名が指定されている場合は、ブールのprimary属性でプライマリ・ホスト名を示す必要があります。 そうしないと、最初のネットワーク(キーでソートされた)のホスト名が、インスタンスのホスト名として使用されます。
network_route ルーティング・ルールのリスト。
default_gateway デフォルト・ルーティングにこのネットワークのゲートウェイを使用する必要があることを示すブール・フラグ。 設定されていない場合、デフォルトはfalseです。
provider 基礎となるサービス・ネットワークでインスタンスをプロバイダ(フル・メンバーシップ)として構成するために使用できるブール・フラグ。
primary このネットワークに指定されたホスト名をインスタンスのホスト名として使用する必要があることを示すブール・フラグ。 指定されていない場合、デフォルトはfalseです。 どのネットワークにもtrueとして指定されていない場合は、最初のネットワーク(キーでソートされた)が、インスタンスのホスト名として使用されます。

networkblock_dns属性

{    
"search_domains": <string>,    
"servers": <string>, 
}

次の表に、networkblock_dnsの属性を示します。

フィールド 説明
search_domains インスタンスに構成するDNS検索ドメインのセットを指定する、カンマ区切り値形式の単一文字列。
servers インスタンスに構成するDNSサーバーのセットを指定する、カンマ区切り値形式の単一文字列。

networkblock_route属性

{    
"type": "rule" | "static" | "policy"    
"name": "SameNICReply" # only if "rule"    
"ip_network": <string>, # only if "static" or "policy"    
"via": <string>,       # only if "static" or "policy" 
}

次の表に、networkblock_routeの属性を示します。

フィールド 説明
type rulestaticまたはpolicyである必要がある文字列。 この値に従って、他のすべてのプロパティを記述どおりに指定する必要があります。
name タイプがruleの場合のみ有効です。 使用するルールの名前を指定する文字列。 現在使用できるのはSameNICReplyのみです。 このルールは、インスタンスで作成されたソースベースのルーティング・ルールになり、vNet IPパケットの受信と同じネットワーク・インタフェースを介してリプライ・パケットをルーティングするよう設計されています。
ip_network タイプがstaticまたはpolicyの場合のみ有効です。 宛先IPアドレス範囲をCIDR形式で指定する文字列。
via タイプがstaticまたはpolicyの場合のみ有効です。 ゲートウェイIPアドレスを指定する文字列。