ibmcloud CLI で IBM Cloud の PowerSystems Virtual Server サービスに AIXサーバーをデプロイする


IBM Cloud CLI で  IBM Cloud の PowerSystems Virtual Server サービスに AIX サーバーをデプロイした記録です。

---
#### 前提環境
・IBM Cloud のアカウントがあること
・IBM PowerSystems Virtual Server on IBM Cloud サービスがデプロイされていること
・ibmcloud コマンドが作業端末に導入されていること
・ibmcloud コマンドの power-iaas プラグインが導入されていること



＊ibmcloud コマンドの導入、power-iaas のplugin を導入、ibmcloud への CLI ログインは次のリファレンスを参照ください。

・[IBM Power Systems Virtual Servers CLI のリファレンス](https://cloud.ibm.com/docs/power-iaas-cli-plugin?topic=power-iaas-cli-plugin-power-iaas-cli-reference&locale=en)

＊リファレンスは日本語版より英語版の方が情報量が多い場合があります。

---


IBM Cloud CLI ログイン済みの前提で以下進めます。
・ 一部の固有値はマスクしています。

#### サービスを確認

" <font color="MediumVioletRed">ibmcloud pi service-list</font> "  コマンドで PowerSystems Virtual Server のサービス ID を確認します。

```
$ ibmcloud pi service-list
Listing services under account IBM - <アカウント名> as user <ユーザー>...
ID                                                                                                                    Name
crn:v1:bluemix:public:power-iaas:us-south:a/xxxxxx0f3a4109ac0de691xxxxxxxx:xxxx604-xxxx-xxxx-xxxx-45b968xxxx::      <サービス名>
```



#### ターゲット・サービス設定

" <font color="MediumVioletRed">ibmcloud pi service-target <サービス></font>" コマンドで目的のサービス (power-iaas) を設定します。

```
$ ibmcloud pi service-target crn:v1:bluemix:public:power-iaas:us-south:a/xxxxxx0f3a4109ac0de691xxxxxxxx:xxxx604-xxxx-xxxx-xxxx-45b968xxxx:: 
Targeting service crn:v1:bluemix:public:power-iaas:us-south:a/xxxxxx0f3a4109ac0de691xxxxxxxx:xxxx604-xxxx-xxxx-xxxx-45b968xxxx:: ...

```

---
### インスタンス作成

インスタンスを作成するコマンドは [ibmcloud-pi-instance-create](https://cloud.ibm.com/docs/power-iaas-cli-plugin?topic=power-iaas-cli-plugin-power-iaas-cli-reference#ibmcloud-pi-instance-create) です。

オプションを確認します。

|*option*  |*description*  |*設定値* |
|---|---|---|
|INSTANCENAME  |任意のインスタンス名  | - |
|--image  |オペレーティング・システムのイメージ ID または名前  | (1) |
|--memory  |インスタンスに割り振るメモリー量 (GB) | -|
| --networks |インスタンスに関連付けるネットワークの ID または名前のスペース区切りリスト | (2)|
| --processors |インスタンスに割り振るプロセッサーの数 | -|
| --processor-type |プロセッサーのタイプ:「shared」または「dedicated」| -|
| --volumes | インスタンスに関連付けるボリュームの ID または名前のスペース区切りリスト| -|
| --key-name  | SSH 鍵の名前| (3)|
| --sys-type | システム・タイプの名前 (「s922」、「e880」、「any」)| -|
|  --replicants| この要求で作成する重複インスタンス数 |- |
| --replicant-scheme |重複 VM に使用する命名方式 (「suffix (接尾辞)」、「prefix (接頭辞)」)| -|
| --json |  出力を JSON でフォーマット| -|




続いて設定値(1) - (3) 使用可能な値をコマンドで確認します。


##### (1)イメージ

"<font color="MediumVioletRed"> ibmcloud pi images </font>" コマンドで登録している使用可能なイメージを確認します。

````
$ ibmcloud pi images
Listing images under account IBM - <アカウント> as user <ユーザー>...
ID                                     Name                   Address
0dd8346b-99c1-42ee-83d4-xxxxxxxxxxxxx   7100-05-04             /pcloud/v1/cloud-instances/xxxxxxxxx8a000a2672bxxxxx/images/xxxxxx99c1-42ee-83d4-xxxxxxxxxxxxx
f2a1c801-8b0d-4424-a011-xxxxxxxxxxxxx   7100-05-05             /pcloud/v1/cloud-instances/xxxxxxxx8a000a2672bxxxxx/images/xxxxxxx-8b0d-4424-a011-xxxxxxxxxxxx
b97b94e6-d71f-49a4-a187-xxxxxxxxxxxxx   7200-03-03             /pcloud/v1/cloud-instances/xxxxxxxx8a000a2672bxxxxx/images/xxxxxx6-d71f-49a4-a187-xxxxxxxxxxxxx
d16dd949-c95c-4cab-9c4e-xxxxxxxxxxxxx   7200-04-01             /pcloud/v1/cloud-instances/xxxxxxxx8a000a2672bxxxxx/images/dxxxxx49-c95c-4cab-9c4e-xxxxxxxxxxx

````

##### (2)ネットワーク


ネットワークがない場合は、作成します。

public network の作成例です。
[ibmcloud-pi-network-create-public](https://cloud.ibm.com/docs/power-iaas-cli-plugin?topic=power-iaas-cli-plugin-power-iaas-cli-reference&locale=ja#ibmcloud-pi-network-create-public) コマンドを使用します。

```
$ ibmcloud pi network-create-public public-test --dns-servers “x.x.x.x"
Creating network public-test under account IBM - <アカウント> as user <ユーザー>...
Network public-test created.
ID                1xxx37c0-xxxx-xxxx-ae05-34xxxa9f19xxx
Name              public-test
Type              pub-vlan
VLAN              2000
CIDR Block        192.168.xxx.xxx/xx
IP Range          [192.168.xxx.xxx 192.168.xxx.xxx ]
Public IP Range   [52.11x.xxx.xxx  52.11x.xxx.xxx ]
Gateway           192.168.xx.xx
DNS               x.x.x.x
```


"<font color="MediumVioletRed"> ibmcloud pi networks </font>" コマンドで使用可能なネットワークを確認します。


```
$ ibmcloud pi networks
Listing images under account IBM - <アカウント> as user <ユーザー>...
ID                                     Name         Address
1xxx37c0-xxxx-xxxx-ae05-34xxxa9f19xxx   public-test   /pcloud/v1/cloud-instances/adxxxxxxxxxxxx000a2672bxxxxxxx3/networks/1xxx37c0-xxxx-xxxx-ae05-34xxxa9f19xxx
```


##### (3) ssh key

登録している ssh key を確認します。

```
$ ibmcloud pi keys
Listing images under account IBM - <アカウント> as user <ユーザー>...
Name                Key
id_rsa_2020_xxxx   ssh-rsa xxxAB3NzaC1yc2EAAAADAxxxxxxxxxxxxxxxxxxxx2XDVTxf/xxxxxxxxxxxxxxxx/aipzMxxxxxxxxxxxxxxxxxxxxqNT8/o4JGD2vOh5xxxxxxxxxxxxxxxxxxxxX48wNa5mZ/ciRCJGaADkxxxxxxxxxxxxxxxxxxxx6yC25TdZBlo3JDJcWL6Q0alwSsWZxxxxxxxxxxxxxxxxxxxxGeKv1Qe+6+JnN+PvhT7vm6WJ30S8YM68+/zbPSNqSO/8czqSxxxxxxxxxxxxxxxxxxxx+bODTahG5b7qPJCF7iR/8xxxxMs6r5F/xxxxxxxxxxxxxxxxxxxx/5IXVxxxx5

```

IBM Cloud コンソールからSSH 鍵の追加は次のマニュアルに記載があります。
[SSH鍵の追加] (https://cloud.ibm.com/docs/infrastructure/ssh-keys?topic=ssh-keys-adding-an-ssh-key)

---


#### 使用する設定値確認

|*option*  |*description*  |*設定値* |
|---|---|---|
|INSTANCENAME  |任意のインスタンス名  | <font color="Red"> test-aix-720401 </font> |
|--image  |オペレーティング・システムのイメージ ID または名前  | <font color="Red">7200-04-01</font> |
|--memory  |インスタンスに割り振るメモリー量 (GB) | <font color="Red">2</font> |
| --networks |インスタンスに関連付けるネットワークの ID または名前のスペース区切りリスト | <font color="Red">public-test</font>|
| --processors |インスタンスに割り振るプロセッサーの数 | <font color="Red">0.25</font> |
| --processor-type |プロセッサーのタイプ:「shared」または「dedicated」| <font color="Red">shared</font>|
| --volumes | インスタンスに関連付けるボリュームの ID または名前のスペース区切りリスト| (なし)|
| --key-name  | SSH 鍵の名前| <font color="Red">id_rsa_2020_xxxx</font>|
| --sys-type | システム・タイプの名前 (「s922」、「e880」、「any」)| <font color="Red">e880</font>|
|  --replicants| この要求で作成する重複インスタンス数 |<font color="Red">1</font> |
| --replicant-scheme |重複 VM に使用する命名方式 (「suffix (接尾辞)」、「prefix (接頭辞)」)|<font color="Red">suffix</font>|
| --json |  出力を JSON でフォーマット| (なし)|





-----
##### インスタンス作成

" <font color="MediumVioletRed">ibmcloud pi instance-create </font>" コマンドを実行します。


```
$ ibmcloud pi instance-create test-aix-720401 --image 7200-04-01 --memory 2 --networks public-net --processors 0.25 --processor-type shared --key-name id_rsa_2020_xxxx --sys-type e880 --replicants 1 --replicant-scheme suffix

Creating instance test-aix-720401 under account <アカウント> as user <ユーザー>..
Instance test-aix-720401 already exists, created on 0001-01-01T00:00:00.000Z.

ID               19cxxx-xxxx-xxxx-aa63-xxxxxxxxxxx
Name             test-aix-720401
CPU Cores        0.25
Memory           2
Processor Type   shared
Networks         6cxxxx-xxxx-xxxx-9831-e37xxxx
Disk Size        20
Volumes          -
Storage Type     -
Image            dxxxx949-xxxx-xxxx-xxxx-7e411xxxx
Created          0001-01-01T00:00:00.000Z
Last Updated     0001-01-01T00:00:00.000Z
Status           BUILDING
Progress         0
Address          Internal Address: , Mac Address:
````

already exists と言われることは気になりますが、Status は BUILDINGです。作成待ちです。




" <font color="MediumVioletRed">ibmcloud pi instance <*INSTANCENAME*>  </font>" コマンドでインスタンスの詳細を確認します。
下記では「Health Status」が「WARNING」なのでもう少し待ちます。

```
$ ibmcloud pi instance test-aix-720401
Getting instance test-aix-720401 under account IBM - <アカウント> as user <ユーザー>..

ID                   19cxxx-xxxx-xxxx-aa63-xxxxxxxxxxx
Name                 test-aix-720401
CPU Cores            0.25
Memory               2
Processor Type       shared
Networks            6cxxxx-xxxx-xxxx-9831-e37xxxx
Disk Size            20
Volumes              acfxxxx-xxxx-xxxx-xxxx-0799xxxxxx
Storage Type         standard-legacy
Image                dxxxx949-xxxx-xxxx-xxxx-7e411xxxx
Created              2020-03-19T00:37:59.000Z
Last Updated         2020-03-19T00:37:59.000Z
Status               ACTIVE
Progress             0
Address              Internal Address: 192.168.xxx.xxx, External Address: 52.11x.xx.xxx, Mac Address: fa:xx:xx:aa:xx:xx
Last Health Update   2020-03-19T00:42:18.745376
Health Reason
Health Status        WARNING
```

10分程度で 「Health Status」 が「OK」となりました。

```
$ ibmcloud pi instance test-aix-720401
Getting instance test-aix-720401 under account IBM - <アカウント> as user <ユーザー>...

ID                   19cxxx-xxxx-xxxx-aa63-xxxxxxxxxxx
Name                 test-aix-720401
CPU Cores            0.25
Memory               2
Processor Type       shared
Networks            6cxxxx-xxxx-xxxx-9831-e37xxxx
Disk Size            20
Volumes              acfxxxx-xxxx-xxxx-xxxx-0799xxxxxx
Storage Type         standard-legacy
Image                dxxxx949-xxxx-xxxx-xxxx-7e411xxxx
Created              2020-03-19T00:37:59.000Z
Last Updated         2020-03-19T00:37:59.000Z
Status               ACTIVE
Progress             0
Address              Internal Address: 192.168.xxx.xxx, External Address: 52.11x.xx.xxx, Mac Address: fa:xx:xx:aa:xx:xx
Last Health Update   2020-03-19T00:51:18.192723
Health Reason
Health Status        OK
```

ログインしてみます。

```
$ ssh -i id_rsa_2020_xxxx root@52.11x.xxx.xxx

The authenticity of host '52.11x.xxx.xxx (52.11x.xxx.xxx)' can't be established.
RSA key fingerprint is SHA256:WdNxxxxxx6Km2vbbtm2VSxxxxxxxxxxIPuHAF3oAA.
Are you sure you want to continue connecting (yes/no)? yes   #<= yesを入力

Warning: Permanently added '52.11x.xxx.xxx' (RSA) to the list of known hosts.
1 unsuccessful login attempt since last login.
Last unsuccessful login: Wed Mar 18 19:49:28 CDT 2020 on ssh from 106.xxx.xxx.xxx
Last login: Wed Mar 18 19:48:32 CDT 2020 on /dev/pts/0 from xxx.xxx.xxx.xxx
*******************************************************************************
*                                                                             *
*                                                                             *
*  Welcome to AIX Version 7.2!                                                *
*                                                                             *
*                                                                             *
*  Please see the README file in /usr/lpp/bos for information pertinent to    *
*  this release of the AIX Operating System.                                  *
*                                                                             *
*                                                                             *
*******************************************************************************
#
# oslevel -s
7200-04-01-1939
# exit

```

OK!

---

#### インスタンス削除


" <font color="MediumVioletRed">ibmcloud pi instance-delete </font>" コマンドでインスタンスを削除します。

```
$ ibmcloud pi instance-delete test-aix-720401
Deleting instance test-aix-720401 under account IBM - <アカウント> as user <ユーザー>...
OK
Instance test-aix-720401 is deleted.
```


インスタンスが削除されているかを確認します。

```
$ ibmcloud pi instance test-aix-720401
Getting instance test-aix-720401 under account IBM - <アカウント> as user <ユーザー>...
FAILED
[GET /pcloud/v1/cloud-instances/{cloud_instance_id}/pvm-instances/{pvm_instance_id}][404] pcloudPvminstancesGetNotFound  &{Code:0 Description:pvm-instance does not exist, id: 6a5f3xxxxx-xxxx-xxxx-xxxx-1ed6a5fxxxxxa Error:pvm-instance not found Message:}
```

not found が返ってきました。


---

##### 参照

・[PowerSystems Virtual Server 入門チュートリアル](https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-getting-started&locale=ja)



以上です。