4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PowerVS IBM i 日記(20): IBM Cloud CLI で PowerVS に アクセスする

Last updated at Posted at 2020-10-20

IBM Cloud CLI で PowerVS に アクセスする

これまでは IBM Cloud のポータルから操作を行ってきました。
今回は処理の自動化を目指し、IBM Cloud CLI で PowerVS に アクセスする方法を確認します。
IBM Cloud CLI を使うと、Windows、Mac、Linux のコマンド・ラインから IBM Cloud の資源を表示・操作することができます。

他の Qiita の記事では Mac が多いようですが、ここでは Windows をクライアントにします。
また、IBM Cloud CLI 導入済みであることを前提とした記事が多いようですので、今回は一からセットアップを行いたいと思います。

IBM Cloud CLI と power-iaas/pi プラグインの導入

まず、IBM Cloud CLI と PowerVS を操作するための power-iaas/pi プラグインを導入します。

IBM Cloud CLI のインストール方法は、下記にガイドされています。

GitHub にある「インストーラーを使用したインストール」と PowerShell から直接インストール出来る「シェルからのインストール」の二つの方法がガイドされています。

今回は「シェルからのインストール」に従います。

PowerShell で下記を実行します。

iex(New-Object Net.WebClient).DownloadString('https://clis.cloud.ibm.com/install/powershell')

導入されました。

image.png

PowerVS を操作するには、PowerVS 用のプラグインが必要です。

プラグインの導入方法は下記に説明があります。

先ほど導入した ibmcloud コマンドでプラグインの一覧を表示します。

ibmcloud plugin repo-plugins -r "IBM Cloud"

「power-iaas/pi」という名前が確認出来ました。

image.png

プラグインを導入しましょう。

ibmcloud plugin install power-iaas

導入されました。

image.png

別名の「pi」で導入してみます。

ibmcloud plugin install pi

導入済みであると表示されました。

image.png

導入済みプラグインをリストします。

ibmcloud plugin list

「power-iaas」の「0.3.0」が導入済みであることが確認できました。

image.png

IBM Cloud CLI と プラグインが更新されている場合があります。
IBM Cloud 側とクライアントの IBM Cloud CLI やプラグインのバージョンの不整合により、期待通りの結果が得られないことがあります。
更新を適用するには重要です。

IBM Cloud CLI のバージョンは下記で確認できます。

ibmcloud -v

表示されました。

image.png

IBM Cloud CLI の更新は下記で行います。

ibmcloud update

導入したばかりなので、最新ですね。

image.png

プラグインの更新は、こちらです。

ibmcloud plugin update

やはり最新です。

image.png

API キー の作成

API キーを使えば、IBM Cloud の認証方法によらす、ログインを自動化できます。
API キーに関しては下記でガイドされています。

このページでは下記のように述べられています。

フェデレーテッド・ユーザーでも非フェデレーテッド・ユーザーでも、API キーを作成し、CLI で使用したり、ご使用のユーザー ID でのログインを自動化する一環として使用したりできます。

コンソールで「管理」→「アクセス (IAM)」→「API キー」に移動します。 このページで、自分の IBM Cloud API キーを作成します。

image.png

名前を付けて API キーを作成します。

image.png

API キーをコピーやダウンロードするためのダイアログが表示されます。
API キーを入手できるのは、このタイミングだけです。時間内にコピーやダウンロードをします。
間に合わなかった場合は別の API キーを作成してください。

image.png

IBM Cloud CLI へのログイン

「ibmcloud login」がログイン用のコマンドです。パラメーターは、下記にガイドされています。

ibmcloud login [-a API_ENDPOINT] [--sso] [-u USERNAME] [-p PASSWORD] [--apikey KEY | @KEY_FILE] [--no-iam] [-c (ACCOUNT_ID | ACCOUNT_OWNER_USER_ID) | --no-account] [-g (RESOURCE_GROUP_NAME | RESOURCE_GROUP_ID)] [-r REGION | --no-region] [-o ORG] [-s SPACE]

パスワード認証を使っている場合は「-p PASSWORD」でも自動ログインが可能ですが、API キーを使えば、外部認証のフェデレーテッド・ユーザーでも自動ログインが可能です。
そのため、今回は、 API キーでの自動ログインの手順を紹介しています。

コマンドに直接 API キーを指定する場合、下記の指定になります。

ibmcloud login --apikey [API キー] -u [ユーザー名]

API キーをファイルに保存し、利用することもできます。
例えば、API キーを「apykey.txt」という名前のファイルに保管したとします。
この場合、下記でログイン可能になります。

ibmcloud login --apikey @apykey.txt -u [ユーザー名]

IBM Cloud CLI で PowerVS にアクセスする

実際に IBM Cloud CLI で PowerVS を操作する場合は「power-iaas」は使用せず「ibmcloud pi XXXX」と実行します。

power-iaas プラグインのリファレンスは、こちらです。
執筆時点では、表示言語として日本語を選択するとドイツ語のページが表示されるので、英語での表示を選択したほうがいいでしょう。

「ibmcloud pi help」で power-iaas プラグインのコマンド一覧が表示されます。

ibmcloud pi help
C:\Users\YASUHIROOnoda>ibmcloud pi help
名前:
  ibmcloud pi - IBM Cloud Power Virtual Server サービスの管理

使用法:
  ibmcloud pi command [arguments...] [command options]

コマンド:
  image, img                           イメージの詳細を表示します
  image-create, imgc                   このアカウント内のイメージ・カタログからイメージのコピーを作成します
  image-delete, imgd                   イメージをこのアカウントから削除します
  image-export, imgex                  イメージを IBM Cloud Object Storage からエクスポート
  image-import, imgi                   イメージを IBM Cloud Object Storage からインポートします
  image-list-catalog, imglc            リージョン・イメージ・カタログ内で使用可能なイメージをリストします
  images, imgs                         このアカウントのすべてのイメージをリストします
  instance, in                         サーバー・インスタンスの詳細を表示します
  instance-capture, incap              サーバー・インスタンスの取り込み
  instance-create, inc                 サーバー・インスタンスを作成します
  instance-delete, ind                 サーバー・インスタンスを削除します
  instance-get-console, ingc           インスタンスのコンソールを取得
  instance-hard-reboot, inhrb          インスタンスのオペレーティング・システムのハード再始動
  instance-immediate-shutdown, inist   サーバー・インスタンスを即時にシャットダウンします
  instance-list-volumes, inlv          インスタンスに接続するボリュームのリストを取得
  instance-operation, inop             Perform an operation on an IBMi server instance.
  instance-reset-state, inrst          サーバー・インスタンスのリセット - 注意が必要です
  instance-soft-reboot, insrb          インスタンスのオペレーティング・システムのソフト再始動
  instance-start, instr                サーバー・インスタンスを開始します
  instance-stop, instp                 サーバー・インスタンスを停止します
  instance-update, inu                 サーバー・インスタンスを更新します
  instances, ins                       すべてのサーバー・インスタンスをリストします
  key                                  鍵の詳細を表示します
  key-create, keyc                     RSA 公開鍵をインポートします
  key-delete, keyd                     鍵を削除します
  key-update, keyu                     鍵の名前を更新します
  keys                                 すべての鍵をリストします
  network, net                         ネットワークの詳細を表示します
  network-create-private, netcpr       プライベート・ネットワークを作成します
  network-create-public, netcpu        パブリック・ネットワークを作成します
  network-delete, netd                 ネットワークを削除します
  network-update, netu                 ネットワークを更新します
  networks, nets                       すべてのネットワークをリストします
  service-list, sl                     このアカウントおよびリージョンのすべてのサービスをリストします
  service-target, st                   サービスをターゲットにします
  storage-types, stypes                ターゲット・リージョンのすべてのストレージ・タイプをリストします
  volume, vol                          ボリュームの詳細を表示します
  volume-attach, volat                 ボリュームをインスタンスに接続
  volume-create, volc                  ボリュームを作成します
  volume-delete, vold                  ボリュームを削除します
  volume-detach, voldt                 ボリュームをインスタンスから切り離します
  volume-update, volu                  ボリュームを更新します
  volumes, vols                        すべてのボリュームをリストします
  help, h                              ヘルプを表示します

コマンドについて詳しくは、'ibmcloud pi help [command]' と入力してください。

実際にアクセスしてみましょう。

現在、私は、2 か所に PowerVS のリソースを持っています。

image.png

CLI で確認します。

ibmcloud pi service-list

確認できました。

image.png

表示された crn を使って「SYD04」を操作対象にしましょう。

ibmcloud pi service-target [crn]

設定されました。

image.png

指定した「SYD04」には 2 つのインスタンスがあります。

image.png

インスタンスの一覧を表示しましょう。

ibmcloud pi instances

表示されました。

image.png

インスタンスの詳細を表示しましょう。

ibmcloud pi instance [インスタンスID]

表示されました。

image.png

正しく、アクセスできているようです。


当日記のIndexはこちらです。


許可の無い転載を禁じます。
この記事は筆者の個人的な責任で無保証で提供しています。
当記事に関してIBMやビジネスパートナーに問い合わせることは、固くお断りします。

4
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?