Database Support Blog

  • Oracle Cloud
2024.06.10

OCI CLIでコンピュートインスタンスを作成する方法

OCI CLIは、Oracle Cloud Infrastructure(以下、OCI)の各種サービスを操作するためのコマンドラインツールです。前回は基礎的なネットワークリソースを作成する方法についてご紹介しました。
今回はコンピュートインスタンスの構築方法についてご紹介します。

1)OCI CLIを使用したコンピュートインスタンスの作成

1-1)事前準備

今回コンピュートインスタンスを構築する環境は、前記事で作成したネットワーク(VCNおよびサブネット)を利用します。また、事前の準備としてコンパートメントとサブネットのOCIDを確認しておきます。


1-1-1)設定パラメーター検討

コンピュートインスタンスへ設定する主なパラメーターを整理したものが以下です。

大項目名 小項目名 必須 パラメーター 備考
display-name - - ocicli_test インスタンスの表示名を指定
compartment-id - ocid1.compartment.oc1..xxxxx 所属するコンパートメントのOCIDを指定
availability-domain - xxxx:AP-TOKYO-1-AD-1 作成する可用性ドメイン名を指定
fault-domain - - FAULT-DOMAIN-1 作成するフォルト ドメイン名を指定
image-id - - ocid1.image.oc1.ap-tokyo-1.xxxxx OSイメージのOCIDを指定
shape - - VM.Standard.E4.Flex シェイプ名を指定
shape-config - -
shape-config memoryInGBs - 4 メモリーを指定
shape-config ocpus - 2 OCPU数を指定
vnic-display-name - - null VNICに名前を付ける場合に指定
subnet-id - ocid1.subnet.oc1.ap-tokyo-1.xxxxx サブネットのOCIDを指定
private-ip - - 10.0.1.10 プライベートIPを指定
metadata - - ssh-ed25519 AAA… パブリックキーの中身を指定
boot-volume-size-in-gbs - - 75 ブートボリュームのサイズを50~16384GBの間で指定

※必須のパラメーター以外は任意で設定するパラメーターです。必要に応じて設定ください。
※これ以外にもパラメーターは存在します。詳細はリファレンスをご参照ください。


「memoryInGBs」「ocpus」「boot-volume-size-in-gbs」のデフォルト値はそれぞれ「16 GB」「1 OCPU」「50 GB」のため、今回は明示的に設定していることが判断できる値を設定します。

また、後続の手順にて、可用性ドメイン名(Availability Domain/AD)、フォルト ドメイン名(Fault Domain/FD)、OSイメージのOCID、シェイプ名を確認します。

その他のパラメーターについては、任意の値を設定します。


1-1-2)パラメーターの取得(可用性ドメイン名、フォルト ドメイン名)

コンピュートインスタンスの作成時に、インスタンスの作成先となる可用性ドメイン名、フォルト ドメイン名を指定するため、事前に確認します。

可用性ドメイン名、フォルト ドメイン名の確認には以下のコマンドを実行します。

コマンド構文

・可用性ドメイン名の確認
oci iam availability-domain list\
--compartment-id <所属するコンパートメントのOCID>\
--output table\
--query 'data[].{"AD_Name":"name"}'

・フォルト ドメイン名の確認
oci iam fault-domain list\
--compartment-id <所属するコンパートメントのOCID>\
--availability-domain "<有効な可用性ドメイン名>"\
--output table\
--query 'data[].{"01_AD_Name":"availability-domain ", "02_FD_Name":"name"}'

# 実行結果
xxxxxxxxxx@cloudshell:~ (ap-tokyo-1)$ oci iam availability-domain list\
> --compartment-id ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
> --output table\
> --query 'data[].{"AD_Name":"name"}'
+----------------------+
| AD_Name |
+----------------------+
| xxxx:AP-TOKYO-1-AD-1 |
+----------------------+

xxxxxxxxxx@cloudshell:~ (ap-tokyo-1)$ oci iam fault-domain list\
> --compartment-id ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
> --availability-domain "xxxx:AP-TOKYO-1-AD-1"\
> --output table\
> --query 'data[].{"01_AD_Name":"availability-domain ", "02_FD_Name":"name"}'
+----------------------+----------------+
| 01_AD_Name | 02_FD_Name |
+----------------------+----------------+
| xxxx:AP-TOKYO-1-AD-1 | FAULT-DOMAIN-1 |
| xxxx:AP-TOKYO-1-AD-1 | FAULT-DOMAIN-2 |
| xxxx:AP-TOKYO-1-AD-1 | FAULT-DOMAIN-3 |

+----------------------+----------------+

実行結果から、有効な可用性ドメイン名とフォルト ドメイン名を確認できます。


1-1-3)パラメーターの取得(OSイメージのOCID)

次にOSイメージのOCIDを確認します。OSイメージのOCIDの確認には以下のコマンドを実行します。

コマンド構文
oci compute image list\
--compartment-id <所属するコンパートメントのOCID>\
--all\
--output table\
--query 'data[].{"01_Enable":"create-image-allowed", "02_OS":"operating-system", "03_OS_ver":"operating-system-version", "04_Name":"display-name", "05_OCID":"id", "06_Launch_mode":"launch-mode", "07_Lifecyclestate":"lifecycle-state"}'

# 実行結果
xxxxxxxxxx@cloudshell:~ (ap-tokyo-1)$ oci compute image list\
> --compartment-id ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
> --all\
> --output table\
> --query 'data[].{"01_Enable":"create-image-allowed", "02_OS":"operating-system", "03_OS_ver":"operating-system-version", "04_Name":"display-name", "05_OCID":"id", "06_Launch_mode":"launch-mode", "07_Lifecyclestate":"lifecycle-state"}'
+-----------+------------------------------+---------------------------+------------------------------------------------------------------------+------------------------------------+-----------------+-------------------+
| 01_Enable | 02_OS | 03_OS_ver | 04_Name | 05_OCID | 06_Launch_mode | 07_Lifecyclestate |
+-----------+------------------------------+---------------------------+------------------------------------------------------------------------+------------------------------------+-----------------+-------------------+
| True | Windows | Server 2022 Standard | Windows-Server-2022-Standard-Edition-VM-PV-2024.04.18-0 | ocid1.image.oc1.ap-tokyo-1.xxxxx...| CUSTOM | AVAILABLE |
| True | Windows | Server 2022 Standard | Windows-Server-2022-Standard-Edition-VM-PV-2024.03.15-0 | ocid1.image.oc1.ap-tokyo-1.xxxxx...| CUSTOM | AVAILABLE |
| True | Windows | Server 2022 Standard | Windows-Server-2022-Standard-Edition-VM-PV-2024.02.27-0 | ocid1.image.oc1.ap-tokyo-1.xxxxx...| CUSTOM | AVAILABLE |
~~~~~ レスポンスが長いため一部省略 ~~~~~
| True | Oracle Linux | 8 | Oracle-Linux-8.9-2024.04.19-0 | ocid1.image.oc1.ap-tokyo-1.xxxxx...| NATIVE | AVAILABLE |
~~~~~ レスポンスが長いため一部省略 ~~~~~
| True | Canonical Ubuntu | 18.04 | Canonical-Ubuntu-18.04-2023.05.10-0 | ocid1.image.oc1.ap-tokyo-1.xxxxx...| NATIVE | AVAILABLE |
| True | Canonical Ubuntu | 18.04 | Canonical-Ubuntu-18.04-2023.04.18-0 | ocid1.image.oc1.ap-tokyo-1.xxxxx...| NATIVE | AVAILABLE |
| True | Canonical Ubuntu | 18.04 | Canonical-Ubuntu-18.04-2023.03.17-0 | ocid1.image.oc1.ap-tokyo-1.xxxxx...| NATIVE | AVAILABLE |
| True | Oracle Linux | 8 | web_seed | ocid1.image.oc1.ap-tokyo-1.xxxxx...| PARAVIRTUALIZED | AVAILABLE |
+-----------+------------------------------+---------------------------+------------------------------------------------------------------------+------------------------------------+-----------------+-------------------+

実行結果から、OSイメージのOCIDが確認できます。
今回はOracle Linux8のバージョンが8.9、イメージビルドが2024.04.19のOSイメージで構築します。


1-1-4)パラメーターの取得(シェイプ名)

最後にシェイプ名を確認します。シェイプ名の確認には以下のコマンドを実行します。

コマンド構文
oci compute shape list\
--compartment-id <所属するコンパートメントのOCID>\
--all\
--output table\
--query 'data[].{"01_Shape":"shape", "02_Processor":"processor-description", "03_OCPU_option":"ocpu-options", "04_VNIC_atacchoption":"max-vnic-attachment-options"}'
# 実行結果
xxxxxxxxxx@cloudshell:~ (ap-tokyo-1)$ oci compute shape list\
> --compartment-id ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
> --all\
> --output table\
> --query 'data[].{"01_Shape":"shape", "02_Processor":"processor-description", "03_OCPU_option":"ocpu-options", "04_VNIC_atacchoption":"max-vnic-attachment-options"}'
+------------------------+-----------------------------------------------+-------------------------------------------------------+--------------------------------------------------+
| 01_Shape | 02_Processor | 03_OCPU_option | 04_VNIC_atacchoption |
+------------------------+-----------------------------------------------+-------------------------------------------------------+--------------------------------------------------+
| BM.Standard.E5.192 | 2.3 GHz AMD EPYC™ 9J14 (Genoa) | None | None |
| BM.Standard.A1.160 | 3.0 GHz Ampere® Altra™ | None | None |
| BM.Standard3.64 | 2.6 GHz Intel® Xeon® Platinum 8358 (Ice Lake) | None | None |
| BM.Standard2.52 | 2.0 GHz Intel® Xeon® Platinum 8167M (Skylake) | None | None |
| BM.Optimized3.36 | 3.0 GHz Intel® Xeon® Gold 6354 (Ice Lake) | None | None |
| BM.DenseIO.E4.128 | 2.55 GHz AMD EPYC™ 7J13 (Milan) | None | None |
| BM.Standard.E4.128 | 2.55 GHz AMD EPYC™ 7J13 (Milan) | None | None |
| BM.Standard.E3.128 | 2.25 GHz AMD EPYC™ 7742 (Rome) | None | None |
| BM.Standard.E2.64 | 2.0 GHz AMD EPYC™ 7551 (Naples) | None | None |
| BM.DenseIO2.52 | 2.0 GHz Intel® Xeon® Platinum 8167M (Skylake) | None | None |
| BM.HPC2.36 | 3.0 GHz Intel® Xeon® Gold 6154 (Skylake) | None | None |
| BM.GPU3.8 | 2.0 GHz Intel® Xeon® Platinum 8167M (Skylake) | None | None |
| VM.Optimized3.Flex | 3.0 GHz Intel® Xeon® Gold 6354 (Ice Lake) | {'min': 1.0, 'max': 18.0, 'max-per-numa-node': 18.0} | {'min': 2, 'max': 24.0, 'default-per-ocpu': 2.0} |
| VM.Standard.E4.Flex | 2.55 GHz AMD EPYC™ 7J13 (Milan) | {'min': 1.0, 'max': 114.0, 'max-per-numa-node': 64.0} | {'min': 2, 'max': 24.0, 'default-per-ocpu': 1.0} |
| VM.Standard.E3.Flex | 2.25 GHz AMD EPYC™ 7742 (Rome) | {'min': 1.0, 'max': 114.0, 'max-per-numa-node': 64.0} | {'min': 2, 'max': 24.0, 'default-per-ocpu': 1.0} |
| VM.Standard.A1.Flex | 3.0 GHz Ampere® Altra™ | {'min': 1.0, 'max': 80.0, 'max-per-numa-node': 80.0} | {'min': 2, 'max': 24.0, 'default-per-ocpu': 1.0} |
| VM.Standard2.1 | 2.0 GHz Intel® Xeon® Platinum 8167M (Skylake) | None | None |
| VM.Standard2.2 | 2.0 GHz Intel® Xeon® Platinum 8167M (Skylake) | None | None |
| VM.Standard2.4 | 2.0 GHz Intel® Xeon® Platinum 8167M (Skylake) | None | None |
| VM.Standard2.8 | 2.0 GHz Intel® Xeon® Platinum 8167M (Skylake) | None | None |
| VM.Standard2.16 | 2.0 GHz Intel® Xeon® Platinum 8167M (Skylake) | None | None |
| VM.Standard2.24 | 2.0 GHz Intel® Xeon® Platinum 8167M (Skylake) | None | None |
| VM.Standard.E2.1 | 2.0 GHz AMD EPYC™ 7551 (Naples) | None | None |
| VM.Standard.E2.2 | 2.0 GHz AMD EPYC™ 7551 (Naples) | None | None |
| VM.Standard.E2.4 | 2.0 GHz AMD EPYC™ 7551 (Naples) | None | None |
| VM.Standard.E2.8 | 2.0 GHz AMD EPYC™ 7551 (Naples) | None | None |
| VM.Standard.E2.1.Micro | 2.0 GHz AMD EPYC™ 7551 (Naples) | None | None |
| VM.Standard3.Flex | 2.6 GHz Intel® Xeon® Platinum 8358 (Ice Lake) | {'min': 1.0, 'max': 56.0, 'max-per-numa-node': 32.0} | {'min': 2, 'max': 24.0, 'default-per-ocpu': 1.0} |
| VM.DenseIO2.8 | 2.0 GHz Intel® Xeon® Platinum 8167M (Skylake) | None | None |
| VM.DenseIO2.16 | 2.0 GHz Intel® Xeon® Platinum 8167M (Skylake) | None | None |
| VM.DenseIO2.24 | 2.0 GHz Intel® Xeon® Platinum 8167M (Skylake) | None | None |
| VM.GPU3.1 | 2.0 GHz Intel® Xeon® Platinum 8167M (Skylake) | None | None |
| VM.GPU3.2 | 2.0 GHz Intel® Xeon® Platinum 8167M (Skylake) | None | None |
| VM.GPU3.4 | 2.0 GHz Intel® Xeon® Platinum 8167M (Skylake) | None | None |
| VM.DenseIO.E4.Flex | 2.55 GHz AMD EPYC™ 7J13 (Milan) | {'min': 1.0, 'max': 64.0, 'max-per-numa-node': 64.0} | {'min': 2, 'max': 24.0, 'default-per-ocpu': 1.0} |
| VM.GPU.A10.1 | 2.6 GHz Intel® Xeon® Platinum 8358 (Ice Lake) | None | None |
| VM.GPU.A10.2 | 2.6 GHz Intel® Xeon® Platinum 8358 (Ice Lake) | None | None |
| VM.Standard.E5.Flex | 2.3 GHz AMD EPYC™ 9J14 (Genoa) | {'min': 1.0, 'max': 94.0, 'max-per-numa-node': 94.0} | {'min': 2, 'max': 24.0, 'default-per-ocpu': 1.0} |
| BM.GPU.A10.4 | 2.6 GHz Intel® Xeon® Platinum 8358 (Ice Lake) | None | None |
+------------------------+-----------------------------------------------+-------------------------------------------------------+--------------------------------------------------+

実行結果から、シェイプ名の一覧が確認できます。


1-2)コンピュートインスタンスの作成

コンピュートインスタンスを作成するには、以下のコマンドを実行します。

コマンド構文
oci compute instance launch\
--display-name "<コンピュートインスタンスの表示名>"\
--compartment-id <所属するコンパートメントのOCID>\
--availability-domain "<有効な可用性ドメイン名>"\
--fault-domain "<インスタンスを作成するフォルト ドメイン名>"\
--image-id <OSイメージのOCID>\
--shape "<シェイプ名>"\
--shape-config '{"memoryInGBs": <コンピュートインスタンスの総メモリー>, "ocpus": <コンピュートインスタンスの総OCPU数>}'\
--vnic-display-name <VNICの名前>\
--subnet-id <インスタンスを作成するサブネットのOCID>\
--private-ip "<プライベートIPアドレス>"\
--metadata '{ "ssh-authorized-keys": "<パブリックキーの中身>" }'\
--boot-volume-size-in-gbs <ブートボリュームのGB数>
# 実行結果
xxxxxxxxxx@cloudshell:~ (ap-tokyo-1)$ oci compute instance launch\
> --display-name "ocicli_test"\
> --compartment-id ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
> --availability-domain "xxxx:AP-TOKYO-1-AD-1"\
> --fault-domain "FAULT-DOMAIN-1"\
> --image-id ocid1.image.oc1.ap-tokyo-1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
> --shape "VM.Standard.E4.Flex"\
> --shape-config '{"memoryInGBs": 4, "ocpus": 2}'\
> --vnic-display-name null\
> --subnet-id ocid1.subnet.oc1.ap-tokyo-1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
> --private-ip "10.0.1.10"\
> --metadata '{ "ssh-authorized-keys": "ssh-ed25519 AAA..." }'\
> --boot-volume-size-in-gbs 75
{
"data": {
"agent-config": {
"are-all-plugins-disabled": false,
"is-management-disabled": false,
"is-monitoring-disabled": false,
"plugins-config": null
},
"availability-config": {
"is-live-migration-preferred": null,
"recovery-action": "RESTORE_INSTANCE"
},
"availability-domain": "xxxx:AP-TOKYO-1-AD-1",
"capacity-reservation-id": null,
"compartment-id": "ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"dedicated-vm-host-id": null,
"defined-tags": {
"Oracle-Tags": {
"CreatedBy": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"CreatedOn": "2024-05-02T07:31:25.493Z"
}
},
"display-name": "ocicli_test",
"extended-metadata": {},
"fault-domain": "FAULT-DOMAIN-1",
"freeform-tags": {},
"id": "ocid1.instance.oc1.ap-tokyo-1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"image-id": "ocid1.image.oc1.ap-tokyo-1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"instance-configuration-id": null,
"instance-options": {
"are-legacy-imds-endpoints-disabled": false
},
"ipxe-script": null,
"is-cross-numa-node": false,
"launch-mode": "PARAVIRTUALIZED",
"launch-options": {
"boot-volume-type": "PARAVIRTUALIZED",
"firmware": "UEFI_64",
"is-consistent-volume-naming-enabled": true,
"is-pv-encryption-in-transit-enabled": false,
"network-type": "PARAVIRTUALIZED",
"remote-data-volume-type": "PARAVIRTUALIZED"
},
"lifecycle-state": "PROVISIONING",
"metadata": {
"ssh-authorized-keys": "ssh-ed25519 AAA..."
},

"platform-config": null,
"preemptible-instance-config": null,
"region": "ap-tokyo-1",
"shape": "VM.Standard.E4.Flex",
"shape-config": {
"baseline-ocpu-utilization": null,
"gpu-description": null,
"gpus": 0,
"local-disk-description": null,
"local-disks": 0,
"local-disks-total-size-in-gbs": null,
"max-vnic-attachments": 2,
"memory-in-gbs": 4.0,
"networking-bandwidth-in-gbps": 2.0,
"ocpus": 2.0,
"processor-description": "2.55 GHz AMD EPYC\u2122 7J13 (Milan)",

"vcpus": 4
},
"source-details": {
"boot-volume-size-in-gbs": null,
"boot-volume-vpus-per-gb": null,
"image-id": "ocid1.image.oc1.ap-tokyo-1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"instance-source-image-filter-details": null,
"kms-key-id": null,
"source-type": "image"
},
"system-tags": {},
"time-created": "2024-05-02T07:31:25.964000+00:00",
"time-maintenance-reboot-due": null
},
"etag": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"opc-work-request-id": "ocid1.coreservicesworkrequest.oc1.ap-tokyo-1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}

実行結果より、"lifecycle-state"の項目が”PROVISIONING”であり、コンピュートインスタンスが作成中であることが分かります。また、ここで確認したインスタンスのOCIDは後続の手順で使用するため、エディタにメモしておきます。


発行したコマンドでパラメーター通りにインスタンスが作成されたことを改めて確認します。ここでは、コンピュートインスタンスの"lifecycle-state"が”RUNNING”、VNICの"lifecycle-state"が”AVAILABLE”になったことを確認します。

確認には以下のコマンドを実行します。

コマンド構文

・コンピュートインスタンスの確認
oci compute instance list\
--compartment-id <所属コンパートメントのOCID>\
--output table\
--query 'data[?id == `<コンピュートインスタンスのOCID>`].{"01_Name":"display-name", "02_AD":"availability-domain", "03_FD":"fault-domain", "04_Shape":"shape", "05_Lifecyclestate":"lifecycle-state", "06_Created":"time-created"}'

・VNICの確認
oci compute instance list-vnics\
--compartment-id <所属コンパートメントのOCID>\
--instance-id <コンピュートインスタンスのOCID>\
--output table\
--query 'data[].{"01_VNIC_Name":"display-name", "02_AD":"availability-domain", "03_MACADDRESS":"mac-address", "04_PrivateIP":"private-ip", "05_PublicIP":"public-ip", "06_OCID":"id", "07_Lifecyclestate":"lifecycle-state", "08_Created":"time-created"}'
# 実行結果
xxxxxxxxxx@cloudshell:~ (ap-tokyo-1)$ oci compute instance list\
> --compartment-id ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
> --output table\
> --query 'data[?id == `ocid1.instance.oc1.ap-tokyo-1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`].{"01_Name":"display-name", "02_AD":"availability-domain", "03_FD":"fault-domain", "04_Shape":"shape", "05_Lifecyclestate":"lifecycle-state", "06_Created":"time-created"}'
+-------------+----------------------+----------------+---------------------+-------------------+----------------------------------+
| 01_Name | 02_AD | 03_FD | 04_Shape | 05_Lifecyclestate | 06_Created |
+-------------+----------------------+----------------+---------------------+-------------------+----------------------------------+
| ocicli_test | xxxx:AP-TOKYO-1-AD-1 | FAULT-DOMAIN-1 | VM.Standard.E4.Flex | RUNNING | 2024-05-02T07:31:25.964000+00:00 |
+-------------+----------------------+----------------+---------------------+-------------------+----------------------------------+

xxxxxxxxxx@cloudshell:~ (ap-tokyo-1)$ oci compute instance list-vnics\
> --compartment-id ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
> --instance-id ocid1.instance.oc1.ap-tokyo-1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
> --output table\
> --query 'data[].{"01_VNIC_Name":"display-name", "02_AD":"availability-domain", "03_MACADDRESS":"mac-address", "04_PrivateIP":"private-ip", "05_PublicIP":"public-ip", "06_OCID":"id", "07_Lifecyclestate":"lifecycle-state", "08_Created":"time-created"}'
+--------------+----------------------+-------------------+--------------+-----------------+----------------------------------------------------------------------------------------+-------------------+----------------------------------+
| 01_VNIC_Name | 02_AD | 03_MACADDRESS | 04_PrivateIP | 05_PublicIP | 06_OCID | 07_Lifecyclestate | 08_Created |
+--------------+----------------------+-------------------+--------------+-----------------+----------------------------------------------------------------------------------------+-------------------+----------------------------------+
| null | xxxx:AP-TOKYO-1-AD-1 | aa:bb:cc:dd:ee:ff | 10.0.1.10 | 132.145.XXX.YYY | ocid1.vnic.oc1.ap-tokyo-1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx | AVAILABLE | 2024-05-02T07:31:28.034000+00:00 |
+--------------+----------------------+-------------------+--------------+-----------------+----------------------------------------------------------------------------------------+-------------------+----------------------------------+

実行結果より、コンピュートインスタンスとアタッチされたVNICの情報が確認できます。
コンピュートインスタンスの"lifecycle-state"の項目も”RUNNING”になり正常稼働していることが確認できます。その他のパラメーターも設定値通りに作成されていることがわかります。


1-3)コンピュートインスタンスの起動停止

最後に作成したコンピュートインスタンスの落とし上げの動作確認をします。

コンピュートインスタンスを起動、停止するには、以下のコマンドを実行します。

コマンド構文
・インスタンス起動
oci compute instance action\
--instance-id ocid1.instance.oc1.ap-tokyo-1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
--action start\
--wait-for-state "RUNNING"

・インスタンス停止
oci compute instance action\
--instance-id ocid1.instance.oc1.ap-tokyo-1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
--action stop\
--wait-for-state "STOPPED"


はじめに、現在起動しているコンピュートインスタンスを停止します。

# 実行結果
xxxxxxxxxx@cloudshell:~ (ap-tokyo-1)$ oci compute instance action\
> --instance-id ocid1.instance.oc1.ap-tokyo-1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
> --action stop\
> --wait-for-state "STOPPED"
Action completed. Waiting until the resource has entered state: ('STOPPED',)
{
"data": {
"agent-config": {
"are-all-plugins-disabled": false,
"is-management-disabled": false,
"is-monitoring-disabled": false,
"plugins-config": null
},
"availability-config": {
"is-live-migration-preferred": null,
"recovery-action": "RESTORE_INSTANCE"
},
"availability-domain": "xxxx:AP-TOKYO-1-AD-1",
"capacity-reservation-id": null,
"compartment-id": "ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"dedicated-vm-host-id": null,
"defined-tags": {
"Oracle-Tags": {
"CreatedBy": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"CreatedOn": "2024-05-02T07:31:25.493Z"
}
},
"display-name": "ocicli_test",
"extended-metadata": {},
"fault-domain": "FAULT-DOMAIN-1",
"freeform-tags": {},
"id": "ocid1.instance.oc1.ap-tokyo-1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"image-id": "ocid1.image.oc1.ap-tokyo-1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"instance-configuration-id": null,
"instance-options": {
"are-legacy-imds-endpoints-disabled": false
},
"ipxe-script": null,
"is-cross-numa-node": false,
"launch-mode": "PARAVIRTUALIZED",
"launch-options": {
"boot-volume-type": "PARAVIRTUALIZED",
"firmware": "UEFI_64",
"is-consistent-volume-naming-enabled": true,
"is-pv-encryption-in-transit-enabled": false,
"network-type": "PARAVIRTUALIZED",
"remote-data-volume-type": "PARAVIRTUALIZED"
},
"lifecycle-state": "STOPPED",
"metadata": {
"ssh-authorized-keys": "ssh-ed25519 AAA..."
},
"platform-config": null,
"preemptible-instance-config": null,
"region": "ap-tokyo-1",
"shape": "VM.Standard.E4.Flex",
"shape-config": {
"baseline-ocpu-utilization": null,
"gpu-description": null,
"gpus": 0,
"local-disk-description": null,
"local-disks": 0,
"local-disks-total-size-in-gbs": null,
"max-vnic-attachments": 2,
"memory-in-gbs": 4.0,
"networking-bandwidth-in-gbps": 2.0,
"ocpus": 2.0,
"processor-description": "2.55 GHz AMD EPYC\u2122 7J13 (Milan)",
"vcpus": 4
},
"source-details": {
"boot-volume-size-in-gbs": null,
"boot-volume-vpus-per-gb": null,
"image-id": "ocid1.image.oc1.ap-tokyo-1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"instance-source-image-filter-details": null,
"kms-key-id": null,
"source-type": "image"
},
"system-tags": {},
"time-created": "2024-05-02T07:31:25.964000+00:00",
"time-maintenance-reboot-due": null
},
"etag": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}

実行結果より、コンピュートインスタンスが停止したことが分かります。

インスタンスの確認コマンドでも確認してみます。

# 実行結果
xxxxxxxxxx@cloudshell:~ (ap-tokyo-1)$ oci compute instance list\
> --compartment-id ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
> --output table\
> --query 'data[?id == `ocid1.instance.oc1.ap-tokyo-1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`].{"01_Name":"display-name", "02_AD":"availability-domain", "03_FD":"fault-domain", "04_Shape":"shape", "05_Lifecyclestate":"lifecycle-state", "06_Created":"time-created"}'
+-------------+----------------------+----------------+---------------------+-------------------+----------------------------------+
| 01_Name | 02_AD | 03_FD | 04_Shape | 05_Lifecyclestate | 06_Created |
+-------------+----------------------+----------------+---------------------+-------------------+----------------------------------+
| ocicli_test | xxxx:AP-TOKYO-1-AD-1 | FAULT-DOMAIN-1 | VM.Standard.E4.Flex | STOPPED | 2024-05-02T07:31:25.964000+00:00 |
+-------------+----------------------+----------------+---------------------+-------------------+----------------------------------+

"lifecycle-state"が"STOPPED"になったことが確認できました。

次はインスタンスを起動します。

# 実行結果
xxxxxxxxxx@cloudshell:~ (ap-tokyo-1)$ oci compute instance action\
> --instance-id ocid1.instance.oc1.ap-tokyo-1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
> --action start\
> --wait-for-state "RUNNING"
Action completed. Waiting until the resource has entered state: ('RUNNING',)
{
"data": {
"agent-config": {
"are-all-plugins-disabled": false,
"is-management-disabled": false,
"is-monitoring-disabled": false,
"plugins-config": null
},
"availability-config": {
"is-live-migration-preferred": null,
"recovery-action": "RESTORE_INSTANCE"
},
"availability-domain": "xxxx:AP-TOKYO-1-AD-1",
"capacity-reservation-id": null,
"compartment-id": "ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"dedicated-vm-host-id": null,
"defined-tags": {
"Oracle-Tags": {
"CreatedBy": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"CreatedOn": "2024-05-02T07:31:25.493Z"
}
},
"display-name": "ocicli_test",
"extended-metadata": {},
"fault-domain": "FAULT-DOMAIN-1",
"freeform-tags": {},
"id": "ocid1.instance.oc1.ap-tokyo-1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"image-id": "ocid1.image.oc1.ap-tokyo-1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"instance-configuration-id": null,
"instance-options": {
"are-legacy-imds-endpoints-disabled": false
},
"ipxe-script": null,
"is-cross-numa-node": false,
"launch-mode": "PARAVIRTUALIZED",
"launch-options": {
"boot-volume-type": "PARAVIRTUALIZED",
"firmware": "UEFI_64",
"is-consistent-volume-naming-enabled": true,
"is-pv-encryption-in-transit-enabled": false,
"network-type": "PARAVIRTUALIZED",
"remote-data-volume-type": "PARAVIRTUALIZED"
},
"lifecycle-state": "RUNNING",
"metadata": {
"ssh-authorized-keys": "ssh-ed25519 AAA..."
},
"platform-config": null,
"preemptible-instance-config": null,
"region": "ap-tokyo-1",
"shape": "VM.Standard.E4.Flex",
"shape-config": {
"baseline-ocpu-utilization": null,
"gpu-description": null,
"gpus": 0,
"local-disk-description": null,
"local-disks": 0,
"local-disks-total-size-in-gbs": null,
"max-vnic-attachments": 2,
"memory-in-gbs": 4.0,
"networking-bandwidth-in-gbps": 2.0,
"ocpus": 2.0,
"processor-description": "2.55 GHz AMD EPYC\u2122 7J13 (Milan)",
"vcpus": 4
},
"source-details": {
"boot-volume-size-in-gbs": null,
"boot-volume-vpus-per-gb": null,
"image-id": "ocid1.image.oc1.ap-tokyo-1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"instance-source-image-filter-details": null,
"kms-key-id": null,
"source-type": "image"
},
"system-tags": {},
"time-created": "2024-05-02T07:31:25.964000+00:00",
"time-maintenance-reboot-due": null
},
"etag": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}

実行結果より、コンピュートインスタンスが起動したことが分かります。

こちらもインスタンスの確認コマンドでも確認してみます。

# 実行結果
xxxxxxxxxx@cloudshell:~ (ap-tokyo-1)$ oci compute instance list\
> --compartment-id ocid1.compartment.oc1..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\
> --output table\
> --query 'data[?id == `ocid1.instance.oc1.ap-tokyo-1.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx`].{"01_Name":"display-name", "02_AD":"availability-domain", "03_FD":"fault-domain", "04_Shape":"shape", "05_Lifecyclestate":"lifecycle-state", "06_Created":"time-created"}'
+-------------+----------------------+----------------+---------------------+-------------------+----------------------------------+
| 01_Name | 02_AD | 03_FD | 04_Shape | 05_Lifecyclestate | 06_Created |
+-------------+----------------------+----------------+---------------------+-------------------+----------------------------------+
| ocicli_test | lihX:AP-TOKYO-1-AD-1 | FAULT-DOMAIN-1 | VM.Standard.E4.Flex | RUNNING | 2024-05-02T07:31:25.964000+00:00 |
+-------------+----------------------+----------------+---------------------+-------------------+----------------------------------+

インスタンスの"lifecycle-state"が"RUNNING"になったことが確認できました。


2)あとがき

今回は、コンピュートインスタンスの作成についてご紹介しました。

ネットワークリソースに比べて、必要なパラメーターが増えてきたかと思います。しかし、コマンドのみでコンピュートインスタンスを構築できる点や、確認事項が少なくなる点は、CUI操作のメリットを得られているのではないでしょうか。

今後は、DBインスタンスの作成方法を紹介する予定です。


執筆者情報

ふかやけんじ プロフィール画像

2024年に中途入社。前職では主にOracleのオンプレミス環境の設計構築から運用保守と幅広い業務を経験。現在はOCIのポストセールス業務を中心に担当。趣味はパフェ巡り。


■本記事の内容について
 本記事に示した定義及び条件は変更される場合があります。あらかじめご了承ください。

■商標に関して
 ・Oracle®、Java、MySQL及びNetSuiteは、Oracle、その子会社及び関連会社の米国及びその他の国における登録商標です。
 ・Amazon Web Services、AWS、Powered by AWS ロゴ、[およびかかる資料で使用されるその他の AWS 商標] は、Amazon.com, Inc. またはその関連会社の商標です。
  文中の社名、商品名等は各社の商標または登録商標である場合があります。

関連している記事

  • Oracle Database
  • Oracle Cloud
  • AWS
2024.07.09

Oracle Databaseライセンスの定義とルールを正しく理解する ~第4回:クラウド編~

今回はOracle Databaseライセンス「クラウド環境編」です。これまでエディション、ライセンスの種類、カウントの方法、という基本的な部分と、構成面の理解として仮想化環境の考え方をご紹介してきました。今回はクラウド環境におけるOracle Databaseライセンスの定義やルールを解説します。

  • Oracle Cloud
2024.07.02

OCI CLIでデータベースインスタンスを作成する方法

OCI CLIは、OCIの各種サービスを操作するためのコマンドラインツールです。OCI CLIを使用してデータベースインスタンスを構築する方法についてご紹介します。

  • Oracle Cloud
  • AWS
2024.06.18

AWSとOCIを接続してみよう!

ビジネスインフラ環境を様々な形態で運用されている昨今、クラウドもその選択肢のひとつです。各社クラウドの特性を活かすために複数のクラウドを利用されているお客様も多くなってきました。今回は2つのクラウド(OCIとAWS)を閉域接続する構成をどのように構築するのかを紹介します。

ページの先頭へ戻る