IBM i のクラウドを試す　-Power Systems Virtual Server on IBM Cloud-

IBM CloudのPower Systems Virtual Server でIBM iのインスタンスを作成して、5250エミュレーターでの接続を試しました。

IBM Cloudは無償のライト・アカウントがありますが、Power Systems Virtual Serverを使用するにはアップグレードが必要です。また、現時点で利用できるのは英語環境のみです。

## Power Systems Virtual Serverのサービスを作成

IBM Cloudにログインしてカタログで"power systems"と検索するとPower Systems Virtual Server が見つかります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/1883177f-619b-83a1-1201-cdb54157f7c5.png)

拠点を選びます。
 **--2020/3/13更新--**
**（2020年3月現在、アメリカのダラスとワシントンDC、ドイツのフランクフルト1、フランクフルト2の4拠点から選べます）**


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/140e0051-f9fe-b7e0-6a70-b873e48af73a.png)

サービス名、リソース・グループ、タグを確認、指定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/4e36a0c8-e4fb-8f2a-0aa2-3fadcedbe5fe.png)

作成ボタンでサービスを作成します。
（ライトアカウントだと作成できません）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/17ba1b74-12ef-b4e0-aa1f-ca8892094c7e.png)


## IBM i のインスタンスを作成

左上のボタンからリソース・リストを開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/f673b761-ac0e-5890-f2a9-36161b1111ed.png)

Service配下にあるPower Systems Virtual Serverを開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/f774d96b-3d73-70ff-51ad-19f788f88bd5.png)

サービスを作成した段階では、仮想サーバー・インスタンスはないので、**New instance**を押してインスタンスを作成していきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/539ffe6e-89c2-b4c8-0714-ffcb27a85f0f.png)

インスタンス作成画面です。リソースを選択していくと、右側に月額料金の見積もりも確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/50e3257c-c1bd-64b8-b9f4-04006749d337.png)

以下のような設定でインスタンスを作ってみます。

- マシン： S922（POWER9）
- CPU： 0.5コア（Shared processor）
- メモリ：　16GB
- OS： IBM i 7.4
- 言語： 英語（英語しかありません）
- 追加ディスク： 100GB SSD x2（必要であれば。ロードソースは80GBで自動的に作成されます）
- Public network: あり


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/eae73e58-13e9-db7c-4ad6-87cc9bad06e2.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/c9974f58-dd22-408d-2cf0-d5db70b911bc.png)

月額見積もりが表示されますが、インスタンスが存在している間の時間で課金されます。
FEEDBACKボタンで隠れていますが、Networkは＄0.00でした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/436158e0-a575-59d4-5acf-d9fbe641c2f0.png)


契約条項に同意の上、**Create**を押すとインスタンスが作成されます。

## コンソールでサインオン
インスタンスを作成すると、**仮想サーバー・インスタンス**にVirtual Serverが追加されて、Buildが開始されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/8cd70878-6ee5-6a15-d20c-8a08a7e3216f.png)

数分でステータスが緑のActiveになり、IBM iのIPLが開始されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/58af0f27-b041-7d9a-5147-49655f89251e.png)

サーバー名のリンクをクリックして、詳細を確認します。この画面でインターネット経由で接続する際のIPアドレス（External IP）が確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/438e3c10-7daf-516f-ce22-412a1cc88dcd.png)

右上のコンソールアイコンをクリックして、コンソールを起動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/1cca3b8b-988f-8fc2-1150-e4c5137abf24.png)

5250コンソールが起動しました。
IPLの進行状況が確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/838a2d06-aabf-6f96-a979-9f554d7cc4a0.png)

インスタンス作成から5分ほどでサインオン画面が表示されました。System名はPOWERVS#となっています。
ユーザー名：QSECOFR、パスワード：QSECOFRで入ります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/5637bacd-d2bc-4179-a14e-875a327ec4b5.png)

QSECOFRのパスワードを変更します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/fd6cde73-7803-192a-f461-a86710609e08.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/92d4c3c7-581d-9cf7-da11-a8084c4d401b.png)

初回サインオン時に、IBM i ライセンス条項への同意が必要です。
リストされているすべてのLicensed ProgramのOptに5を入力します。
複数ページあるのでページダウンしながら全てに5を入れたら、Enterキーで進みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/b42e7014-5aaf-1ff2-cae2-295c09068320.png)

各Programへの使用条件を確認して同意（Accept）が必要です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/3b60aca2-96d3-7258-4453-cc535b971503.png)
AcceptはF14キーです。コンソール画面下部にあるソフトウェアキーを使います。
まず、Nextをクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/288910ee-4e81-0fef-d125-79d499d269e8.png)

PF13からPF24が表示されるので、使用条件に同意するにはPF14を押します。さきほど5を指定したLicense Programが順に表示されるのでPF14で同意していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/ebcb47d9-5b7d-2f2c-1825-e26255074962.png)
同意するとAccept StatusがYesになります。F3でExitします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/d9c60ac1-da37-ec75-d7c0-5958e6bad1b5.png)

IBM i メインメニューが表示されました！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/8485afce-96a2-5133-8af4-034e762cc7d4.png)


## ネットワーク設定

コンソールを使って、Public Network経由で5250 Telnet 接続するための設定を進めていきます。
インターネット経由でtelnetポートは解放されていないので、SSHトンネリングを使用します。

コマンドラインでコマンドを実行していきます。

SSHサーバーを起動。

```
STRTCPSVR SERVER(*SSHD)
```

TELNETサーバーを起動。

```
STRTCPSVR SERVER(*TELNET)
```

起動を確認。

```
NETSTAT ＊CNN
```
sshとtelnetがListenになっていればOKです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/423fdc87-5389-b746-23dc-d941ee7bdc19.png)

接続テストのために、システム値を変更します。
QAUTOVRT：　デフォルトの0から、1以上に変更
QLMTSECOFR：　デフォルトの1から0に変更（接続できたら1に戻して、セキュリティを強化）

```
WRKSYSVAL QAUTOVRT -> 2で変更
WRKSYSVAL QLMTSECOFR -> 2で変更
```

ネットワークインターフェースを確認します。

```
CFGTCP ->1
```
今回はPublic Networkのみ構成しているので、CLOUDINT1という回線記述が一つ作成されていました。IPインターフェースは初回サインオン時に作成されるので、サインオン後、数分待つ必要がありました。

IBM i上は192.168.xxx.xxxのアドレスが振られていますが、実際にインターネット経由で使用する場合はExternal IPアドレスを用います。External IPはインスタンス詳細画面で確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/7c2f09e2-68ac-e768-28da-9e3bb3b2fbc8.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/22276560-da75-6a2e-40ec-0c047f8134ad.png)

ここまでで、IBM i側の設定が完了です。

## SSHトンネリングの準備

MacやLinuxの場合は、ターミナルでSSHのポート転送を設定します。
末尾の<myuser>@<myIPaddress>は所定の値に変更します。myIPaddressはExternal IPが該当するので、qsecofr＠52.117.xxx.xxxのようになります。

```
 ssh -L 50000:localhost:23 -L 2001:localhost:2001 -L 2005:localhost:2005 -L 449:localhost:449 -L 8470:localhost:8470 -L 8471:localhost:8471 -L 8472:localhost:8472 -L 8473:localhost:8473 -L 8474:localhost:8474 -L 8475:localhost:8475 -L 8476:localhost:8476 -o ExitOnForwardFailure=yes -o ServerAliveInterval=15 -o ServerAliveCountMax=3 <myuser>@<myIPaddress>
```
WindowsはPuTTYを使うのが簡単です。
以下のドキュメントにPuTTYの設定方法があります。
[ポート転送を使用した IBM i Cloud 仮想マシン (VM) への接続](https://cloud.ibm.com/docs/infrastructure/power-iaas?topic=power-iaas-connect-ibmi&locale=ja)

## インターネット経由で5250セッション接続
SSHポート転送の設定が完了したら、ACSを起動してエミュレーターの接続設定をします。

最低限変更が必要なのは以下の3パラメータです。

- 宛先アドレス: localhost
- 宛先ポート： 50000
- ホスト・コード・ページ: 037 米国

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/7fbaccc2-dc99-ec0d-ed7e-07bd3f47b276.png)

セッションを起動するとサインオン画面が表示されました！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/2d277443-b0de-cd90-297e-248dcda5fd6f.png)

WRKACTJOBで確認すると、DSP01のコンソールセッションと、QPADEV0001のTelnetセッションが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/f6802d6c-0cda-dfa0-59b5-44d0c1696959.png)

## インスタンスの削除

IBM CloudのPower Systems Virtual Serverは時間課金なので、不要になったらインスタンスを削除して課金されないようにします。

インスタンスの画面右にある、ゴミ箱ボタンで削除できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/c108dc56-a015-e639-3b96-3adcc444c8a6.png)

一覧から削除されたことを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/2b0285ff-421c-38e7-ac8e-87573c4c582a.png)

ストレージ・ボリュームとブート・イメージも削除します。
（IBM iのインスタンスを消してもストレージはそのまま残っていました）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/f0f45d6c-6959-6dd3-241b-cec9f2be0555.png)

## 最後に
[マニュアル](https://cloud.ibm.com/docs/infrastructure/power-iaas?topic=power-iaas-configuring-ibmi&locale=ja)を参考にして5250接続までを試してみました。また利用できるライセンスプログラムも[こちら](https://cloud.ibm.com/docs/infrastructure/power-iaas?topic=power-iaas-ibmi-lpps&locale=ja)に記載されています。記事執筆時点では英語環境Onlyであったり、開発ツールであるRational Development Studio (5770-WDS) が含まれていない点はご留意ください。


## 追記：ディスク構成について（2020.1.31）
インスタンス作成時に追加するディスクは、**ロードソース以外に必要な場合のみ**でよさそうです。現時点では80GB固定のディスクがロードソースとして自動的に作成される仕組みのようです。

下の画面は、100GBのディスク1本をインスタンス作成時に指定した際のWRKDSKSTSの画面です。この例では100GBディスクは非構成の状態です。利用するにはDST/SSTからASPに追加する必要があります。IBM Cloudのマニュアルを見るとDST/SSTユーザーはパスワード満了にセットされているので、SYSVALのQIPLTYPEを"1"に変更してからRe-IPLすると、DSTを起動できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/2f12459d-4d6e-3e5b-6712-d7288275ee38.png)

## 追記：ディスク構成について（2020.3.16）
インスタンス作成時にイメージをデプロイするディスクタイプを選べるようになっています。

インスタンス作成画面のOS選択の下にStorage typeのメニューが追加されています。こちらの画面はフランクフルト2の画面です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/0fa0cee5-416f-4f2b-9d2e-ee707d2c78dc.png)

SSD、HDDという表記ではなくTier1、Tier3という表記になっています。（Tier1＝SSD、Tier3＝HDD）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/7ea9a34d-e3b9-dc94-88f5-d4d98c9c3aae.png)

ダラス拠点のインスタンス作成画面では、ssd/standardという表記になっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/708ef183-3ef5-045a-b046-1bf9c0568614.png)

そして、ダラスの場合はプルダウンメニューを開くと選べるタイプが増えています。"Tier1 Gen2"としてNVMeタイプのディスクも選択できるようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/47e5e244-7c37-5bd6-1cf9-7b187d354100.png)

また、用意されているOSのイメージもR730とR740はTRが1レベル更新されていました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/524161/0ee3dac4-df53-bfd1-f1ee-34054f91830d.png)