インスタンスを更新
/instance/{name}
* desired_stateパラメータの値をshutdownに設定して、インスタンスをシャットダウンします。
* desired_stateパラメータの値をrunningに設定して、以前にシャットダウンしたインスタンスを再起動します。 インスタンスは、インスタンス・データまたは構成のいずれも失うことなく再開されます。
tagsパラメータの値を更新することもできます。 インスタンスがすでにシャットダウンされている場合は、shapeパラメータの値を変更することもできます。
単一のオーケストレーションで複数のインスタンスを作成した場合、インスタンスをシャットダウンすると便利です。 この場合、インスタンス・オーケストレーションを停止すると、すべてのインスタンスが削除されます。 1つ以上のインスタンスを停止したい場合、同じオーケストレーション内の他のインスタンスを実行させながら、必要なインスタンスを個別にシャットダウンすることができます。
インスタンスをシャットダウンすると、次のようになります:
*インスタンスIDは保持され、インスタンスの再起動時に再利用されます。 したがって、マルチパート・インスタンス名は変更されません。 これは、インスタンス名がストレージ・アタッチメントなどの他のオブジェクトによって参照される場合に便利です。
*Orchestrations v1を使用して作成されたインスタンスの場合、インスタンス・オーケストレーションにエラーが表示されます。 ただし、指定されたHAポリシーがアクティブであっても、インスタンスは自動的には再作成されません。
*ストレージ・ボリュームやIP予約など、そのインスタンスに関連付けられているリソースは解放され、必要に応じて他のインスタンスで使用できます。 ただし、インスタンスを再起動しようとする場合は、必要なリソースが使用可能であることを確認します。そうしないと、インスタンスは再起動できず、エラー状態になります。
*共有ネットワーク上のプライベートIPアドレスが解放されます。 後でインスタンスを再起動すると、プライベートIPアドレスが新たに割り当てられます。 そのため、共有ネットワーク上のインスタンスのプライベートIPアドレスが変更される可能性があります。
* IPネットワーク上の動的に割り当てられたIPアドレスも解放されます。 したがって、後でインスタンスを開始すると、IPネットワーク上の動的に割り当てられたIPアドレスも変更される可能性があります。 インスタンス・オーケストレーションのインタフェースに割り当てられた静的プライベートIPアドレスは変更されません。
*インスタンスの作成後にCompute Classicでインスタンスに加えた変更はすべて失われます。 たとえば、インスタンスをセキュリティ・リスト、アタッチされたストレージ・ボリューム、インスタンスに追加した場合、またはIP予約を切り離してアタッチした場合は、それらの変更を再度行う必要があります。 インスタンスは、インスタンス・オーケストレーションで関連付けられているリソースを使用して再起動されます。
注意: インスタンスにログインしてインスタンスに加えた変更は、インスタンスにアタッチされた永続的なストレージ・ボリューム上に保存されるため、失われません。 ストレージ・ボリュームのデータは、インスタンスをシャットダウンしても影響を受けません。
必要なロール: このタスクを実行するには、Compute_MonitorまたはCompute_Operationsのロールが必要です。 このロールが割り当てられていない、または割当てが不明な場合は、システム管理者に連絡してロールがユーザーにOracle Cloud My Servicesで割り当てられるようにしてください。 Oracle Cloudの管理および監視のユーザー・ロールの変更に関する項を参照してください。
リクエスト
- application/oracle-compute-v3+json
- name: string
更新するインスタンスのマルチパート名。
- Cookie: string
Cookie:ヘッダーは、サービスに対するすべてのリクエストに含まれる必要があります。 それをPOST /authenticate/コールに対して受信されたレスポンス内のset-cookieヘッダーの値に設定してください。
object- desired_state(optional): string
望ましいインスタンスの状態
*
desired_stateパラメータの値をshutdownに設定して、インスタンスをシャットダウンします。*
desired_stateパラメータの値をrunningに設定して、以前にシャットダウンしたインスタンスを再起動します。 インスタンスは、インスタンス・データまたは構成のいずれも失うことなく再開されます。 - shape(optional): string
シェイプは、インスタンスに割り当てられるCPUスレッドの数とメモリー容量(MB)を指定するリソース・プロファイルです。
インスタンスがすでにシャットダウンされている場合は、そのインスタンスに関連付けられているシェイプを変更できます。
- tags(optional): array tags
インスタンスにタグを付けるために使用できるカンマ区切りの文字列のリスト。 後でこれらのタグを使用してインスタンスを取得できます。
レスポンス
- application/oracle-compute-v3+json
200レスポンス
- set-cookie: string
セッションが拡張された場合、Cookie値が返されます。
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
objectobjectobjectobject例
cURLコマンド
次の例は、cURLを使用してRESTオブジェクトにPUTリクエストを送信して、インスタンス/Compute-acme/jack.jones@example.com/app_instance1/95404c2c-3b42-4e11-a412-5108f3c43ec8を更新する方法を示しています。 cURLの詳細は、「cURLの使用」を参照してください。
コマンドを1行で入力します。 この例では、読みやすくするために改行が使用されています。
curl -i -X PUT
-H "Cookie: $COMPUTE_COOKIE"
-H "Content-Type: application/oracle-compute-v3+json"
-H "Accept: application/oracle-compute-v3+json"
-d "@requestbody.json"
https://api-z999.compute.us0.oraclecloud.com/instance/Compute-acme/jack.jones@example.com/app_instance1/95404c2c-3b42-4e11-a412-5108f3c43ec8
-
COMPUTE_COOKIEは、前の手順で認証cookieを格納した変数の名前です。 認証クッキーの取得および変数への格納の詳細は、認証を参照してください。 -
api-z999.compute.us0.oraclecloud.comはRESTエンドポイントURLの例です。 この値をCompute ClassicサイトのRESTエンドポイントURLに変更します。 サイトのRESTエンドポイントURLを見つける方法については、「リクエストの送信」を参照してください。 -
acmeおよびjack.jones@example.comは値の例です。acmeをCompute Classicアカウントのアイデンティティ・ドメインIDに置き換え、jack.jones@example.comをユーザー名で置き換えます。 -
リクエスト本文のJSONファイルを作成したら、それを検証する必要があります。 これは、JSONLintなどのサードパーティ・ツールか、または任意の他の検証ツールを使用して行うことができます。 JSON形式が有効でない場合、リクエスト本文を渡すとエラー・メッセージが表示されます。
リクエスト本文の例
以下は、インスタンスのdesired_stateをshutdownに設定することにより、実行中のインスタンスをシャットダウンするためのrequestbody.jsonファイル内のリクエスト本文コンテンツの例を示しています。
{
"desired_state":"shutdown"
}
レスポンス本文の例
次の例は、インスタンスのdesired_stateをshutdownに設定して、実行中のインスタンスをシャットダウンする場合のJSON形式のレスポンス本文を示しています。
{
"domain": "compute-acme.oraclecloud.internal.",
"placement_requirements": [
"/system/compute/placement/default",
"/system/compute/allow_instances"
],
"ip": "10.196.35.146",
"fingerprint": "",
"site": "",
"shape": "oc1m",
"imagelist": null,
"image_format": "raw",
"relationships": [],
"networking": {
"eth0": {
"model": "",
"seclists": [
"/Compute-acme/default/default"
],
"dns": [
"abde9e.compute-acme.oraclecloud.internal."
],
"vethernet": "/oracle/public/default",
"nat": null
}
},
"storage_attachments": [
{
"index": 1,
"storage_volume_name": "/Compute-acme/jack.jones@example.com/volumes/app_boot_volume",
"name": "/Compute-acme/jack.jones@example.com/app_instance1/95404c2c-3b42-4e11-a412-5108f3c43ec8/20cf7e9e-2bd2-4c57-9aa4-1568d5928034"
}
],
"hostname": "abde9e.compute-acme.oraclecloud.internal.",
"quota_reservation": null,
"disk_attach": "",
"label": "1dafbfc8-dd3e-4858-8725-180c3d5fb9cf",
"priority": "/oracle/public/default",
"platform": "linux",
"state": "running",
"virtio": null,
"vnc": "10.196.35.145:5900",
"desired_state": "shutdown",
"tags": [],
"quota": "/Compute-acme",
"entry": null,
"error_reason": "",
"sshkeys": null,
"resolvers": null,
"account": "/Compute-acme/default",
"name": "/Compute-acme/jack.jones@example.com/app_instance1/95404c2c-3b42-4e11-a412-5108f3c43ec8",
"vcable_id": "/Compute-acme/jack.jones@example.com/135fccfb-135c-4ede-87d3-e8efbf57016f",
"hypervisor": {
"mode": "hvm"
},
"uri": "http://api-z999.compute.us0.oraclecloud.com/instance/Compute-acme/jack.jones@example.com/app_instance1/95404c2c-3b42-4e11-a412-5108f3c43ec8",
"reverse_dns": true,
"attributes": {
"oracle_metadata": {
"v2": {
"orchestration": "/Compute-acme/jack.jones@example.com/app_instance",
"object": "/Compute-acme/jack.jones@example.com/app_instance/8d5754ce-73af-4abb-9a22-c7c3d96597dc"
}
},
"sshkeys": [],
"dns": {
"domain": "compute-acme.oraclecloud.internal.",
"hostname": "abde9e.compute-acme.oraclecloud.internal.",
"nimbula_vcable-eth0": "abde9e.compute-acme.oraclecloud.internal."
},
"network": {
"nimbula_vcable-eth0": {
"vethernet_id": "0",
"vethernet": "/oracle/public/default",
"address": [
"c6:b0:81:cf:f8:6c",
"10.196.35.146"
],
"model": "",
"vethernet_type": "vlan",
"id": "/Compute-acme/jack.jones@example.com/135fccfb-135c-4ede-87d3-e8efbf57016f",
"dhcp_options": []
}
}
},
"boot_order": [
1
]
}
インスタンスの状態が変更されるまでには時間がかかります。 GET /instance/{name} HTTPリクエストを送信して、インスタンスのstateの変更を追跡できます。