REST APIからComputeインスタンスの起動・停止を行う。
Oracle Cloud always free Advent Calendar 2019の11日目です。
12/10のユーザの作成~APIキーの作成までおこなっていることが前提となります。
#REST API発行するサンプルシェルのダウンロード
wget https://docs.cloud.oracle.com/iaas/Content/Resources/Assets/signing_sample_bash.txt
mv signing_sample_bash.txt oci-curl.sh
chmod +x oci-curl.sh
oci-curl.shを編集する。
tenancyId・・・・テナンシのOCID
authUserId・・・・REST APIを発行するユーザーのOCID
keyFingerprint・・・・REST APIを発行するユーザーのAPI KEYのkeyFingerprint
privateKeyPath・・・・REST APIを発行するユーザーの秘密鍵
#空のjsonファイル作成 (jsonの空要素{}ではダメで空ファイルであることが必要)
touch empty.json
#読み込み
source oci-curl.sh
#VM停止
#ocid1.instance~の部分が操作対象のコンピュートインスタンスのOCID、
#actions=の後が行いたいアクション
oci-curl iaas.ap-tokyo-1.oraclecloud.com post ./empty.json "/20160918/instances/ocid1.instance.oc1.ap-tokyo-1.anxhiljrzww3oficeo6igkzvj75zqvyytzzavjreb3k5mcpesbrqznfqx3aq?action=STOP"
Oracle Cloud Infrastructureから確認すると、インスタンスが停止していることが確認できます。
#起動
oci-curl iaas.ap-tokyo-1.oraclecloud.com post ./empty.json "/20160918/instances/ocid1.instance.oc1.ap-tokyo-1.anxhiljrzww3oficeo6igkzvj75zqvyytzzavjreb3k5mcpesbrqznfqx3aq?action=START"
#起動
[opc@docker vmoperator]$ oci-curl iaas.ap-tokyo-1.oraclecloud.com post ./empty.json "/20160918/instances/ocid1.instance.oc1.ap-tokyo-1.anxhiljrzww3oficeo6igkzvj75zqvyytzzavjreb3k5mcpesbrqznfqx3aq?action=START"
Oracle Cloud Infrastructureから確認すると起動していることが確認できます。
<参考>