起動プランを使用したインスタンスの作成
/launchplan/
起動プランは、作成するインスタンスのプロビジョニング順序と属性を指定します。 起動プランJSONファイルを再利用して、JSONファイルで指定された属性とプロビジョニング順序に基づいて新しいインスタンスを作成することはできますが、起動プラン自体はCompute Classicでは維持されません。
起動プランJSONファイルで指定できる属性については、「Oracle Cloud Infrastructure Compute Classicの使用」の「起動プランを使用したインスタンスの作成」を参照してください。
必要なロール: このタスクを実行するには、Compute_Operationsのロールが必要です。 このロールが割り当てられていない、または割当てが不明な場合は、システム管理者に連絡してロールがユーザーにOracle Cloud My Servicesで割り当てられるようにしてください。 Oracle Cloudの管理および監視のユーザー・ロールの変更に関する項を参照してください。
リクエスト
- application/oracle-compute-v3+json
- Cookie: string
Cookie:ヘッダーは、サービスに対するすべてのリクエストに含まれる必要があります。 それをPOST /authenticate/コールに対して受信されたレスポンス内のset-cookieヘッダーの値に設定してください。
object- instances: array instances
インスタンスのリスト。
各インスタンスは、インスタンス属性を使用して定義されます。
- relationships(optional): array relationships
様々なインスタンス間の関係。
有効な値:
- same_node: 指定したインスタンスは同じ物理サーバー上に作成されます。 これはインスタンス間の低遅延を確保する場合に便利です。
- different_node: 指定したインスタンスは同じ物理サーバー上には作成されません。 これはセキュリティまたは冗長性のためにインスタンスを分離する場合に便利です。
arrayインスタンスのリスト。
各インスタンスは、インスタンス属性を使用して定義されます。
- Array of: object Instance-post-request
リクエスト本文には、作成するインスタンスの詳細が含まれます。
array様々なインスタンス間の関係。
有効な値:
- same_node: 指定したインスタンスは同じ物理サーバー上に作成されます。 これはインスタンス間の低遅延を確保する場合に便利です。
- different_node: 指定したインスタンスは同じ物理サーバー上には作成されません。 これはセキュリティまたは冗長性のためにインスタンスを分離する場合に便利です。
- Array of: object items
許可される追加プロパティ: additionalProperties
object- attributes(optional): object attributes
許可される追加プロパティ: additionalPropertiesインスタンスに対して使用可能にするJSONオブジェクトまたはユーザー定義属性。
- boot_order(optional): array boot_order
インスタンスを起動するために使用する必要があるブート可能なストレージ・ボリュームのインデックス番号。 唯一の有効な値は1です。 この属性を設定する場合は、storage_attachmentsのvolumeサブパラメータにインデックス番号1のブート可能なストレージ・ボリュームを指定する必要もあります。 boot_orderを指定する場合、インスタンスは指定したブート可能なストレージ・ボリューム上のイメージを使用して起動されるため、imagelist属性を指定する必要はありません。 boot_orderとimagelistの両方を指定する場合、imagelist属性は無視されます。
- desired_state(optional): string
望ましいインスタンスの状態
*
desired_stateパラメータの値をshutdownに設定して、インスタンスをシャットダウンします。*
desired_stateパラメータの値をrunningに設定して、以前にシャットダウンしたインスタンスを再起動します。 インスタンスは、インスタンス・データまたは構成のいずれも失うことなく再開されます。 - entry(optional): integer
オプションのイメージ・リスト・エントリ番号(指定しない場合はデフォルトが使用されます)。
- hostname(optional): string
インスタンスに割り当てられたホスト名。 Oracle Linuxインスタンスでは、このホスト名はhostnameコマンドへのレスポンスとして表示されます。 相対DNSのみがサポートされます。 ドメイン名が、指定するホスト名に接尾辞として付けられます。 ホスト名の末尾にはピリオドが必要です。 ホスト名を指定しない場合、名前は自動的に生成されます。
- imagelist(optional): string
使用するイメージが含まれているイメージ・リストの3つの部分からなる名前(
/Compute-identity_domain/user/object)。 boot_order属性を使用してブート可能なストレージ・ボリュームを指定しない場合は、これを使用する必要があります。 imagelist属性およびboot_order属性を指定する場合、imagelist属性は無視されます。 - label(optional): string
ユーザーによって割り当てられたラベル。特に、インスタンス間関係を定義する場合。
- name(optional): string
インスタンスの3つの部分からなる名前(
/Compute-identity_domain/user/object)。 このパラメータを指定しない場合、自動生成されます。 - networking(optional): object networking
許可される追加プロパティ: additionalPropertiesこのインスタンスにアタッチする仮想NICのデバイス名とネットワーク指定子のマッピング。
- reverse_dns(optional): boolean
true (デフォルト)に設定されている場合、リバースDNSレコードが作成されます。 false (デフォルト)に設定されている場合、いずれのリバースDNSレコードも作成されません。
- shape: string
インスタンスに必要なCPUの数とRAMを定義するシェイプの名前。
- sshkeys(optional): array sshkeys
インスタンスに関連付けるSSH公開キーのリスト。
- storage_attachments(optional): array storage_attachments
storage_attachmentsパラメータを指定する場合は、アタッチメントごとに次のサブパラメータを指定します。
volume: インスタンスにアタッチするストレージ・ボリュームの3つの部分からなる名前(
/Compute-identity_domain/user/object)。 起動時にインスタンスにアタッチされたボリュームはデタッチできない点に注意してください。index: ボリュームのインデックス番号。 指定できる範囲は1から10までです。 ストレージ・ボリュームをブート・ディスクとしてインスタンスに使用する場合は、そのボリュームのインデックス番号を1と指定する必要があります。 インデックスにより、ボリュームに公開するインスタンスに応じてデバイス名が決定されます。
- tags(optional): array tags
JSON配列またはインスタンスのタグ付けに使用される文字列のリスト。 人間にとってわかりやすいタグをインスタンスに割り当てることにより、インスタンスのリストを実行する際に簡単にインスタンスを特定できます。 これらのタグはインスタンス内からは使用できません。
arrayarrayvolume: インスタンスにアタッチするストレージ・ボリュームの3つの部分からなる名前(/Compute-identity_domain/user/object)。 起動時にインスタンスにアタッチされたボリュームはデタッチできない点に注意してください。
index: ボリュームのインデックス番号。 指定できる範囲は1から10までです。 ストレージ・ボリュームをブート・ディスクとしてインスタンスに使用する場合は、そのボリュームのインデックス番号を1と指定する必要があります。 インデックスにより、ボリュームに公開するインスタンスに応じてデバイス名が決定されます。
objectobjectobjectレスポンス
- application/oracle-compute-v3+json
201レスポンス
- set-cookie: string
セッションが拡張された場合、Cookie値が返されます。
object- instances(optional): array instances
インスタンスのリスト。
各インスタンスは、インスタンス属性を使用して定義されます。
- relationships(optional): array relationships
様々なインスタンス間の関係。
有効な値:
- same_node: 指定したインスタンスは同じ物理サーバー上に作成されます。 これはインスタンス間の低遅延を確保する場合に便利です。
- different_node: 指定したインスタンスは同じ物理サーバー上には作成されません。 これはセキュリティまたは冗長性のためにインスタンスを分離する場合に便利です。
array様々なインスタンス間の関係。
有効な値:
- same_node: 指定したインスタンスは同じ物理サーバー上に作成されます。 これはインスタンス間の低遅延を確保する場合に便利です。
- different_node: 指定したインスタンスは同じ物理サーバー上には作成されません。 これはセキュリティまたは冗長性のためにインスタンスを分離する場合に便利です。
- Array of: object items
許可される追加プロパティ: additionalProperties
object- account(optional): string
アイデンティティ・ドメインのデフォルトのアカウントを示します。
- attributes(optional): object attributes
許可される追加プロパティ: additionalPropertiesインスタンスに対して使用可能にする属性のディクショナリ。 キー"userdata"を持つ値はEC2互換の使用方法で使用可能になります。
- availability_domain(optional): string
インスタンスが入っている可用性ドメイン
- boot_order(optional): array boot_order
起動順序リスト。
- desired_state(optional): string
望ましいインスタンスの状態 この値は、インスタンスをシャットダウンするか、以前にシャットダウンしたインスタンスをそれぞれ再起動するために、
shutdownまたはrunningにすることができます。 - disk_attach(optional): string
ディスクを識別するためにユーザーによって割り当てられたラベル。
- domain(optional): string
ホスト名およびDNSルックアップに使用するデフォルト・ドメイン。
- entry(optional): integer
オプションのイメージ・リスト・エントリ番号(指定しない場合はデフォルトが使用されます)。
- error_reason(optional): string
使用可能な場合、インスタンスがエラー状態になる理由。
- fingerprint(optional): string
インスタンスによって提示されたSSHサーバーのフィンガープリント。
- hostname(optional): string
このインスタンスのホスト名。
- hypervisor(optional): object hypervisor
許可される追加プロパティ: additionalPropertiesハイパーバイザ固有属性のディクショナリ。
- image_format(optional): string
イメージの形式。
- imagelist(optional): string
起動するイメージ・リストの名前。
- ip(optional): string
インスタンスのIPアドレス。
- label(optional): string
ユーザーによって割り当てられたラベル。特に、インスタンス間関係を定義する場合。
- name(optional): string
インスタンスのマルチパート名。
- networking(optional): object networking
許可される追加プロパティ: additionalProperties
「このインスタンスにアタッチされる仮想NICのネットワーク指定子」 のマッピング。 - placement_requirements(optional): array placement_requirements
配置場所に一致するノードに任意のタグを指定する文字列のリスト。
- platform(optional): string
インスタンスのOSプラットフォーム。
- priority(optional): string
このインスタンスが実行される優先度。
- quota(optional): string
使用されません
- relationships(optional): array relationships
このインスタンスの配置場所で満たされる必要のある関係指定のリスト
- resolvers(optional): array resolvers
デフォルト・リゾルバのかわりに使用するリゾルバ。
- reverse_dns(optional): boolean
ホスト名のPTRレコードを追加します。
- shape(optional): string
シェイプは、インスタンスに割り当てられるCPUスレッドの数とメモリー容量(MB)を指定するリソース・プロファイルです。
- sshkeys(optional): array sshkeys
インスタンスに公開されるSSHキー。
- start_time(optional): string
インスタンスの開始時間
- state(optional): string
インスタンスの状態。
- storage_attachments(optional): array storage_attachments
ストレージ・アタッチメント情報が含まれるディクショナリのリスト。
- tags(optional): array tags
インスタンスのタグ付けに使用される文字列のカンマ区切りリスト。
- uri(optional): string
Uniform Resource Identifier
- vcable_id(optional): string
このインスタンスのvCable。
- vnc(optional): string
インスタンスのVNCコンソールのIPアドレスおよびポート。
objectarray- Array of: object items
許可される追加プロパティ: additionalProperties
objectobjectobjectobjectobject例
cURLコマンド
次の例では、cURLを使用してlaunchplan RESTリソースに対するPOSTリクエストを発行することによって、インスタンス表を作成する方法を示しています。 cURLの詳細は、「cURLの使用」を参照してください。
コマンドを1行で入力します。 この例では、読みやすくするために改行が使用されています。
curl -i -X POST
-H "Cookie: $COMPUTE_COOKIE"
-H "Content-Type: application/oracle-compute-v3+json"
-H "Accept: application/oracle-compute-v3+json"
-d "@launchplan.json"
https://api-z999.compute.us0.oraclecloud.com/launchplan/
-
COMPUTE_COOKIEは、前の手順で認証cookieを格納した変数の名前です。 認証クッキーの取得および変数への格納の詳細は、認証を参照してください。 -
api-z999.compute.us0.oraclecloud.comはRESTエンドポイントURLの例です。 この値をCompute ClassicサイトのRESTエンドポイントURLに変更します。 サイトのRESTエンドポイントURLを見つける方法については、「リクエストの送信」を参照してください。
リクエスト本文の例
次の例では、指定したインスタンス属性のインスタンスを2つ作成するための、launchplan.jsonファイルのリクエスト本文の内容を示しています。
{
"instances": [
{
"shape": "oc3",
"imagelist": "/oracle/public/oel_6.4_2GB_v1",
"name": "/Compute-acme/jack.jones@example.com/dev-vm",
"label": "dev-vm",
"sshkeys": [
"/Compute-acme/jack.jones@example.com/dev-key1"
]
},
{
"shape": "oc4",
"imagelist": "/oracle/public/oel_6.4_2GB_v1",
"name": "/Compute-acme/jack.jones@example.com/prod-vm",
"label": "prod-vm",
"sshkeys": [
"/Compute-acme/jack.jones@example.com/prod-key1"
]
}
]
}
レスポンス本文の例
次の例は、レスポンス本文をJSON形式で示しています。
いくつかの行は、読みやすくするために省略記号(...)で切り捨てられます。
{
"relationships": [
],
"instances": [
{
"domain": "compute-acme...",
"placement_requirements": [
"/system/compute/placement/default",
"/system/compute/allow_instances"
],
"ip": "0.0.0.0",
"fingerprint": "",
"site": "",
"last_state_change_time": null,
"cluster": null,
"shape": "oc3",
"vethernets": null,
"imagelist": "/oracle/public/oel_6.4_2GB_v1",
"image_format": "raw",
"id": "437b72fd-b870-47b1-9c01-7a2812bbe30c",
"cluster_uri": null,
"networking": {
"eth0": {
"model": "",
"seclists": [
"/Compute-acme/default/default"
],
"dns": [
"d9dd5d.compute-acme.oraclecloud.internal."
],
"nat": null,
"vethernet": "/oracle/public/default"
}
},
"seclist_associations": null,
"hostname": "d9dd5d.compute-acme.oraclecloud.internal.",
"state": "queued",
"disk_attach": "",
"label": "dev-vm",
"priority": "/oracle/public/default",
"platform": "linux",
"quota_reservation": null,
"suspend_file": null,
"node": null,
"resource_requirements": {
"compressed_size": 727212045,
"ram": 7680,
"cpus": 2.0,
"root_disk_size": 0,
"io": 200,
"decompressed_size": 2277507072
},
"virtio": null,
"vnc": "",
"storage_attachments": [],
"start_time": "2016-04-06T18:03:12Z",
"storage_attachment_associations": [],
"quota": "/Compute-acme",
"vnc_key": null,
"numerical_priority": 100,
"suspend_requested": false,
"entry": 1,
"error_reason": "",
"nat_associations": null,
"sshkeys": ["/Compute-acme/jack.jones@example.com/dev-key1"],
"tags": [],
"resolvers": null,
"metrics": null,
"account": "/Compute-acme/default",
"node_uuid": null,
"name": "/Compute-acme/jack.jones@example.com/dev-vm/437b72fd-b870-47b1-9c01-7a2812bbe30c",
"vcable_id": null,
"hypervisor": {"mode": "hvm"},
"uri": "https://api-z999.compute.us0.oraclecloud.com/instance/Compute-acme/jack.jones@example.com/dev-vm/437b72fd-b870-47b1-9c01-7a2812bbe30c",
"console": null,
"reverse_dns": true,
"delete_requested": null,
"hypervisor_type": null,
"attributes": {
"sshkeys": ["ssh-rsa AAAAB3..."]
},
"boot_order": [],
"last_seen": null
},
{
"domain": "compute-acme...",
"placement_requirements": [
"/system/compute/placement/default",
"/system/compute/allow_instances"
],
"ip": "0.0.0.0",
"fingerprint": "",
"site": "",
"last_state_change_time": null,
"cluster": null,
"shape": "oc4",
"vethernets": null,
"imagelist": "/oracle/public/oel_6.4_2GB_v1",
"image_format": "raw",
"id": "8e37d700-c63c-46f7-bfc0-eea5d788bd04",
"cluster_uri": null,
"networking": {
"eth0": {
"model": "",
"seclists": [
"/Compute-acme/default/default"
],
"dns": [
"...compute-acme..."
],
"nat": null,
"vethernet": "/oracle/public/default"
}
},
"seclist_associations": null,
"hostname": "...compute-acme...",
"state": "queued",
"disk_attach": "",
"label": "prod-vm",
"priority": "/oracle/public/default",
"platform": "linux",
"quota_reservation": null,
"suspend_file": null,
"node": null,
"resource_requirements": {
"compressed_size": 727212045,
"ram": 15360,
"cpus": 4.0,
"root_disk_size": 0,
"io": 400,
"decompressed_size": 2277507072
},
"virtio": null,
"vnc": "",
"storage_attachments": [],
"start_time": "2016-04-06T18:03:12Z",
"storage_attachment_associations": [],
"quota": "/Compute-acme",
"vnc_key": null,
"numerical_priority": 100,
"suspend_requested": false,
"entry": 1,
"error_reason": "",
"nat_associations": null,
"sshkeys": ["/Compute-acme/jack.jones@example.com/prod-key1"],
"tags": [],
"resolvers": null,
"metrics": null,
"account": "/Compute-acme/default",
"node_uuid": null,
"name": "/Compute-acme/jack.jones@example.com/prod-vm/8e37d700-c63c-46f7-bfc0-eea5d788bd04",
"vcable_id": null,
"hypervisor": {"mode": "hvm"},
"uri": "https://api-z999.compute.us0.oraclecloud.com/instance/Compute-acme/jack.jones@example.com/prod-vm/8e37d700-c63c-46f7-bfc0-eea5d788bd04",
"console": null,
"reverse_dns": true,
"delete_requested": null,
"hypervisor_type": null,
"attributes": {
"sshkeys": ["ssh-rsa AAAA..."]
},
"boot_order": [],
"last_seen": null
}
]
}