LoginSignup
4
0

More than 3 years have passed since last update.

IBM Cloud: suspend billingが有効になるシナリオをコマンドラインで検証

Last updated at Posted at 2019-08-22

はじめに

IBM Cloudにおいては、https://cloud.ibm.com から購入した仮想サーバーはデフォルトでsuspend billingが有効になっています。利用する際には、OSにログインしてコマンドから停止するのでは有効にならず、Customer PortalやAPIからPower OFFする必要があります。
しかし、疑問が残ります。もしOSを正常に停止した後に、Customer PortalやAPIでPower OFFをするとどうなるのでしょうか?この記事では、

  • 1) 稼働中のOSをCustomer PortalからPower OFFするケース(これはドキュメント通りなので当然動く)
  • 2) 稼働中のOSに一旦SSHでログインし、安全にshutdownした後に、Customer PortalからPower OFFするケース

の2つの挙動を調査し、2)のケースでもSuspend Billingが有効になるかどうかの検証を行いました。

結論(2019/10/07更新)

2)のケースでは以前はSuspend Billingは有効になりませんでした。しかし、2019/10/07現在修正されて、1),2)のどちらのケースでもSuspend Billingは有効になったようです。

実験1: 稼働中のOSをCustomer PortalからPower OFFするケース

1.1 正常起動時

Power StatusはRunningであり、SUSPENDED_BILLINGが0

# slcli call-api Virtual_Guest getObject --id=88032042 --mask=id,hostname,status,powerState,attributes
:............:.............................................:
:       name : value                                       :
:............:.............................................:
:     status : :.........:........:                        :
:            : :    name : value  :                        :
:            : :.........:........:                        :
:            : : keyName : ACTIVE :                        :
:            : :    name : Active :                        :
:            : :.........:........:                        :
: attributes : :.................................:.......: :
:            : :               type              : value : :
:            : :.................................:.......: :
:            : : :.........:...................: :   0   : :
:            : : :    name : value             : :       : :
:            : : :.........:...................: :       : :
:            : : : keyname : SUSPENDED_BILLING : :       : :
:            : : :    name : Suspended Billing : :       : :
:            : : :.........:...................: :       : :
:            : :.................................:.......: :
:   hostname : virtualserver01                             :
: powerState : :.........:.........:                       :
:            : :    name : value   :                       :
:            : :.........:.........:                       :
:            : : keyName : RUNNING :                       :
:            : :    name : Running :                       :
:            : :.........:.........:                       :
:         id : 88032042                                    :
:............:.............................................:

1.2 Customer Portalから停止

image.png

Power StatusがHaltになり、SUSPENDED_BILLINGが1になった。

# slcli call-api Virtual_Guest getObject --id=88032042 --mask=id,hostname,status,powerState,attributes
:............:.............................................:
:       name : value                                       :
:............:.............................................:
:     status : :.........:........:                        :
:            : :    name : value  :                        :
:            : :.........:........:                        :
:            : : keyName : ACTIVE :                        :
:            : :    name : Active :                        :
:            : :.........:........:                        :
: attributes : :.................................:.......: :
:            : :               type              : value : :
:            : :.................................:.......: :
:            : : :.........:...................: :   1   : :
:            : : :    name : value             : :       : :
:            : : :.........:...................: :       : :
:            : : : keyname : SUSPENDED_BILLING : :       : :
:            : : :    name : Suspended Billing : :       : :
:            : : :.........:...................: :       : :
:            : :.................................:.......: :
:   hostname : virtualserver01                             :
: powerState : :.........:........:                        :
:            : :    name : value  :                        :
:            : :.........:........:                        :
:            : : keyName : HALTED :                        :
:            : :    name : Halted :                        :
:            : :.........:........:                        :
:         id : 88032042                                    :
:............:.............................................:
[root@syasuda2 ~]#

1.3 確認

実験2: 稼働中のOSに一旦SSHでログインし、安全にshutdownした後に、Customer PortalからPower OFFするケース

2.1 正常起動時

Power StatusはRunningであり、SUSPENDED_BILLINGが0

# slcli call-api Virtual_Guest getObject --id=88032042 --mask=id,hostname,status,powerState,attributes
:............:.............................................:
:       name : value                                       :
:............:.............................................:
:     status : :.........:........:                        :
:            : :    name : value  :                        :
:            : :.........:........:                        :
:            : : keyName : ACTIVE :                        :
:            : :    name : Active :                        :
:            : :.........:........:                        :
: attributes : :.................................:.......: :
:            : :               type              : value : :
:            : :.................................:.......: :
:            : : :.........:...................: :   0   : :
:            : : :    name : value             : :       : :
:            : : :.........:...................: :       : :
:            : : : keyname : SUSPENDED_BILLING : :       : :
:            : : :    name : Suspended Billing : :       : :
:            : : :.........:...................: :       : :
:            : :.................................:.......: :
:   hostname : virtualserver01                             :
: powerState : :.........:.........:                       :
:            : :    name : value   :                       :
:            : :.........:.........:                       :
:            : : keyName : RUNNING :                       :
:            : :    name : Running :                       :
:            : :.........:.........:                       :
:         id : 88032042                                    :
:............:.............................................:

2.2 OSをsshでログインして、OSコマンドで停止

OSを停止してもIBM Cloudからは認識していないので、Power StatusはRunningであり、SUSPENDED_BILLINGが0のまま。

対象のVSIにSSHでログインして、OSコマンドで停止
# shutdown -h now
# slcli call-api Virtual_Guest getObject --id=88032042 --mask=id,hostname,status,powerState,attributes
:............:.............................................:
:       name : value                                       :
:............:.............................................:
:     status : :.........:........:                        :
:            : :    name : value  :                        :
:            : :.........:........:                        :
:            : : keyName : ACTIVE :                        :
:            : :    name : Active :                        :
:            : :.........:........:                        :
: attributes : :.................................:.......: :
:            : :               type              : value : :
:            : :.................................:.......: :
:            : : :.........:...................: :   0   : :
:            : : :    name : value             : :       : :
:            : : :.........:...................: :       : :
:            : : : keyname : SUSPENDED_BILLING : :       : :
:            : : :    name : Suspended Billing : :       : :
:            : : :.........:...................: :       : :
:            : :.................................:.......: :
:   hostname : virtualserver01                             :
: powerState : :.........:.........:                       :
:            : :    name : value   :                       :
:            : :.........:.........:                       :
:            : : keyName : RUNNING :                       :
:            : :    name : Running :                       :
:            : :.........:.........:                       :
:         id : 88032042                                    :
:............:.............................................:

2.3 Customer Portalから停止

image.png

Failed to halt guest as it has already been haltedというエラーが出る。
image.png

Customer PortalをreloadしてみるとPower StatusはOFFに変わっている。
image.png

しかし、APIで見てみるとPower StatusはHaltになったが、SUSPENDED_BILLINGは0のまま。つまり、この場合はSuspend Billingは有効になっていない。
(2019/10/07更新)しかし、APIで見てみるとPower StatusはHaltになったが、SUSPENDED_BILLINGは1に変更された。つまり、この場合でもSuspend Billingは有効になっている。

# slcli call-api Virtual_Guest getObject --id=88032042 --mask=id,hostname,status,powerState,attributes
:............:.............................................:
:       name : value                                       :
:............:.............................................:
:     status : :.........:........:                        :
:            : :    name : value  :                        :
:            : :.........:........:                        :
:            : : keyName : ACTIVE :                        :
:            : :    name : Active :                        :
:            : :.........:........:                        :
: attributes : :.................................:.......: :
:            : :               type              : value : :
:            : :.................................:.......: :
:            : : :.........:...................: :   1   : :
:            : : :    name : value             : :       : :
:            : : :.........:...................: :       : :
:            : : : keyname : SUSPENDED_BILLING : :       : :
:            : : :    name : Suspended Billing : :       : :
:            : : :.........:...................: :       : :
:            : :.................................:.......: :
:   hostname : virtualserver01                             :
: powerState : :.........:........:                        :
:            : :    name : value  :                        :
:            : :.........:........:                        :
:            : : keyName : HALTED :                        :
:            : :    name : Halted :                        :
:            : :.........:........:                        :
:         id : 88032042                                    :
:............:.............................................:
4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0