IBM Cloud をコンソールで操作する IBM Cloud CLI の様々な利用方法のまとめ


IBM Cloud は Web 画面でも操作できますが、操作量が多い場合には、IBM Cloud CLI ソフトウェアを利用したコンソールからの操作が快適です。

IBM Cloud CLI の利用方法は幾つかありますので、ざっと整理してまとめてみました。特に業務用PCなどで、ソフトウェアの追加に制限がある場合、これらの選択肢のどれかが役に立つとおもいます。

# IBM Cloud シェルに関する追記(2020年5月6日)

いつの間にか IBM Cloud ダッシュボードの右上から、IBM Cloud シェル が利用可能になっているので追記しておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193519/6abc54b7-27f4-2cb8-182e-79e2b9f300f2.png)
以下は起動後の様子(まだベータ版なんですね)。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193519/a822303f-ce1f-14ae-beed-9d36c50359a7.png)
CLI 環境としてはこんな感じ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193519/6e4bd8a6-915d-8d67-7179-f3cb1b94baad.png)
テキストエディタとして [vi (Vim)](https://ja.wikipedia.org/wiki/Vim) もあるし、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193519/a8980f92-1798-06a9-8974-38ebab755784.png)
より簡単に使える [nano](https://ja.wikipedia.org/wiki/Nano_(%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%A8%E3%83%87%E3%82%A3%E3%82%BF)) もありました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193519/5f71e0ed-3493-c110-d947-5b716ff9314c.png)
現時点でのバージョンは 0.6.6 のようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193519/23c36785-3276-0af7-7fff-f25b9a2bc9ef.png)
ロケーションは2ヶ所しか選べなくて、東京はまだのようですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193519/0d91a6cd-e2f3-9f07-df51-baa0a2fd7a3e.png)
ちなみワークスペースのサイズは 500MB で、セッションをリスタートしたり、セッションを閉じて2時間で作成したファイルなど消えてしまうようなので注意。大事なファイルは右上のメニューからダウンロードしておくと良いでしょう。

いやー、これは便利ですねぇ。

# 「Web 端末」機能を利用する

自分のPCが管理されていて、ソフトウェアのインストールが難しい場合、この **裏技** が役に立つかもしれません。

IBM Cloud の有償(PAYG/Subscription)アカウント限定の方法なのですが、Kubernetes クラスタを作成して、そのWeb 端末(コンソール)を利用する方法があります。

まずは無料の Kubernetes クラスタを作成します。30日間で削除されてしまいますので、定期的に作り直す必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193519/3730ea92-6275-d2bb-f4d4-a776a938f617.png)
「作成の要求中」の緑の進捗バーが終了するまで20～30分ほど放置します。完了したら右にある [Web端末] 機能が利用できるようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193519/12aa7693-6f4e-4fbf-0602-3a3c8a2ffeb2.png)
以下のような表示が出ますが、ブラウザのプラグインの導入ではないようです。たぶんIBM Cloud側で対応するサーバー機能をインストールするのではないかと。[インストール] を選択して進めましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193519/07c428bd-aaf0-d084-49bc-147cf50b5e32.png)
そして再び [Web端末] ボタンをクリックすると、以下のような端末(ターミナル)が起動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193519/08fce0be-064e-c562-441d-9a682dede787.png)
``ibmcloud ks`` コマンドを使用するようにガイドされていますが、単なる Linux のコンソールなので、いろいろな操作が可能です。

当然ながら ibmcloud CLI が用意されていますので、以下のようにログインコマンドを実行しましょう。

```
ibmcloud login -a cloud.ibm.com -r us-south
```

すると以下のように普通にログインできますので、CF アプリの管理など実行できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193519/4e0e07a5-ebd0-2246-08e4-d80b84079b15.png)
git コマンド使えますし、vi でテキストファイルの編集ができましたので、ちょっとした開発なら出来てしまいそうですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193519/78cbe1fb-8b3e-a7b2-0576-cb7646c6bcd7.png)
Kubernetes クラスターをお使いの方であれば、いつでも使えるのが利点です。例えば出先でちょっと、他人のWebブラウザをプライベートモードで借りて、コンソール操作をしたい場合などに利用できそうです。

ただし Kubernetes クラスター操作以外は正式な使い方ではないと思いますので、突然使えなくなるかもしれません。その点はご了承ください。

# Play with Docker を利用する

自分のPCが管理されていて、ソフトウェアのインストールが難しい場合、Docker も入っていないですよね。そんな時、この **裏技 その2** が役に立つかもしれません。こちらも Web ブラウザのみで実施できる方法です。

Docker の Playground 環境である、[Play with Docker](https://labs.play-with-docker.com/) サイトを利用します。Docker Hub の Docker ID があれば、無料で最長4時間、Docker 環境を試せるサイトです。

利用するのは Docker HUB にある以下のイメージです。

* [ibmcom/ibm-cloud-developer-tools-amd64
](https://hub.docker.com/r/ibmcom/ibm-cloud-developer-tools-amd64)

早速、[Play with Docker](https://labs.play-with-docker.com/) にログインしてみましょう。以下のように4時間のタイマーが表示されるので、[ADD NEW INSTANCE] をクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193519/115baba6-3df7-e7b4-b528-64f3a4c29b83.png)
すると docker が利用できる仮想環境が作成されて、そのコンソールが標示されます。

```
docker pull ibmcom/ibm-cloud-developer-tools-amd64
docker run -ti ibmcom/ibm-cloud-developer-tools-amd64
```

とコマンドを入力すれば、IBM Cloud CLI の利用を開始できます。

```
ibmcloud login -a cloud.ibm.com -r us-south
```

で IBM Cloud にログインし、サービスを使い始めましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193519/f63250b4-fb92-caf8-7213-4da0b4853210.png)
こちらも git コマンドを使えますし、vi でテキストファイルの編集ができましたので、ちょっとした開発なら出来てしまうでしょう。Kubernetes クラスタを操作する kubectl コマンドも入っていますよ！

本格的に使用する場合、このコンソール上で CentOS などのベースイメージを元に、IBM Cloud CLI やその他必要な Docker イメージを作成し、自分用に Docker Hub に登録してしまうのもアリかもしれません。

ただし表示される警告の通り、このサイトではセキュリティ的な問題が発生する可能性があります。業務アカウントなどでの利用は避け、個人の学習やテスト目的に限定して利用するべきですし、また取り扱う情報にも注意が必要です。

最大で4時間の利用ですので、時間切れには気をつけましょう。継続して作業をしたい場合には、早めにインスタンスを再作成する必要がありそうです。ただし再作成では作業中のファイルが失われるので、いったんどこかに保持しておく必要があります。

## ちょっと操作してみる

せっかくログオンしたので、NodeJS アプリを新規に作成してみましょう。

```
git clone https://github.com/sclorg/nodejs-ex
cd nodejs-ex
```

と実行し、GitHub リポジトリから nodejs-ex サンプルをダウンロードします。せっかくですので、少し修正します。以下のように vi エディタで表示する html の中身を少し書き換えておきます。

※ vi の操作は [こちら](http://archiva.jp/web/tool/vim_basic.html)。難しい場合はスキップしてもかまいません。

```
vi views/index.html
```

そして以下のコマンドで IBM Cloud 環境にアップロード(push)します。

```
ibmcloud cf push nodejs-ex -m 64M --hostname yamachan-nodejs-ex
```

こんな感じでアップロードが完了しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193519/3528f40d-a37b-e171-7764-8df8dfa225bf.png)
IBM Cloud の Web コンソールで、アプリが追加されているのを確認しましょう。アプリ名と使用メモリ量が、コマンドで指定した値になっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193519/f10e20d9-307f-b193-27f7-a95eda5f15ef.png)
そして [アプリ URL にアクセス] してみましょう。公開されたホスト名がコマンドで指定された値になっていることを確認します。また html への修正(今回はタイトルの OpenShift を PWD に変更)が反映されているのも確認しましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193519/419106a0-cc7c-5ab3-3067-0fe13c10c90a.png)
ね、ちょっとしたアプリの作成ならこんな感じで実施できちゃいます。

# Docker を利用する

PC に Docker が導入されていれば、話はより簡単。ターミナル (Windows の場場合は PowerShell もしくはコマンドプロンプト) を開き、以下のようにコマンドを実行します。

```
docker pull ibmcom/ibm-cloud-developer-tools-amd64
docker run -ti ibmcom/ibm-cloud-developer-tools-amd64
ibmcloud login -a cloud.ibm.com -r us-south
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193519/af5f4f48-c08d-0e89-ea9a-a21bfdbdc921.png)
詳細は Play with Docker サイトと同じ。終了は ``exit`` コマンドです。

Docker さえ入っていれば簡単に実行できますし、PC 環境に何もインストールせず、影響を与えないので、わりとお勧めの方法です。

# PC にインストールする

さて、日常的に IBM Cloud CLI を使用する方は、特に理由がなければ、PC へのインストールを実施すべきでしょう。

この場合、以下の2つのインストール方法があります。

* [IBM Cloud Developer Tools CLI](https://www.ibm.com/jp-ja/cloud/cli) のインストール
* [スタンドアロン IBM Cloud CLI](https://cloud.ibm.com/docs/cli?topic=cloud-cli-install-ibmcloud-cli&locale=ja) のインストール

前者は全部入りです。IBM Cloud CLI だけでなく、Docker、git、Helm、kubectl、curl など、基本的なツールがまとめて入ります。これから開発を始める初心者にお勧めします。

それに対して後者はシンプルに IBM Cloud CLI だけをインストールします。git など既にインストール済みの上級者はこちらをお勧めします。

なお Windows7 や Windows10 Home などをお使いの場合、Docker Desktop for Windows が導入できませんので、後者のスタンドアローン版を利用してください。

# というわけで

IBM Cloud CLI を利用する際のセットアップ方法について、ざっと整理してまとめてみました。

特に業務用PCなどで、ソフトウェアの追加に制限がある場合、これらの選択肢が役に立つとおもいます。また既にインストール済みの方でも、新しいバージョンをちょっと試したい場合などに、これら方法を使って貰えればと思います。

それではまた！