さくらのクラウドを利用していますか。
弊社ではさくらのクラウドを利用して構築したサーバーの運用・保守を行っています。
さくらのクラウドを操作するとき、普段はコントロールパネルからサーバやディスクを確認しますが、複数のサーバをまとめて確認したい場合や、手元のターミナルから状態をさっと見たい場合は、CLIが使えると便利です。
さくらのクラウドには、公式CLIクライアントとして usacloud があります。
今回はusacloudをインストールして、まずは既存リソースの一覧をCLIから確認してみます。
なお、この記事では安全に試せるように、一覧表示など、読み取り中心の操作だけを扱います。
usacloudとは
usacloudは、さくらのクラウド用の公式CLIクライアントです。
公式マニュアルでは、usacloudはさくらのクラウドの公式CLIクライアントであり、
サーバーの作成や削除、ネットワーク設定などをコマンドラインから操作できると説明されています。
GitHubのREADMEでも、基本的なコマンド形式は次のように紹介されています。
usacloud <リソース> <サブコマンド> [オプション]
たとえば、サーバ一覧を取得する場合は次のような形になります。
usacloud server list --zone=all
usacloudをインストールする
usacloudは、GitHub Releasesから自分の環境に合ったファイルをダウンロードして利用できます。
GitHub Releasesからファイルをダウンロードして展開し、
APIキーを作成して usacloud profile で設定する流れが案内されています。
https://github.com/sacloud/usacloud?utm_source=chatgpt.com
ここでは、インストール後に usacloud コマンドが使える状態になっている前提で進めます。
バージョン情報が表示されればOKです。
# usacloud version
1.22.4 linux/amd64, build 961e841a
続いてヘルプを見てみます。
CLIに慣れていない場合でも、まずヘルプを見ると「どんなリソースを操作できるのか」「どんなサブコマンドがあるのか」を把握しやすいです。
# usacloud -h
CLI to manage to resources on the SAKURA Cloud
Usage:
usacloud [global options] <command> <sub-command> [options] [arguments] [flags]
usacloud [command]
Available Commands:
completion Generate completion script
config Management commands for Configuration file/Profile
help Help about any command
iaas SubCommands for IaaS
rest Invoke SAKURA cloud API directly
update-self Update Usacloud to latest-stable version
version Show version info
web-accelerator SubCommands for WebAccelerator
Flags:
--profile string the name of saved credentials
--token string the API token used when calling SAKURA Cloud API
--secret string the API secret used when calling SAKURA Cloud API
--zones strings permitted zone names
--no-color disable ANSI color output
--trace enable trace logs for API calling
--fake enable fake API driver
--fake-store string path to file store used by the fake API driver
--process-timeout-sec int number of seconds before the command execution is timed out
--argument-match-mode string how to compare the argument and resource name when identifying the resource to be manipulated options: [partial/exact]
-v, --version show version info
--private-key-path option[string] path to an RSA 2048 bit private key PEM format
--service-principal-id option[string] the ID of the service principal
--service-principal-key-id kid the kid of the service principal
-h, --help help for usacloud
Use "usacloud [command] --help" for more information about a command.
usacloudをインストールする
さくらのクラウドのリソースをCLIから確認するには、APIキーの設定が必要です。
以下公式のマニュアルに設定方法が記載されていますので、設定を完了させましょう。
https://manual.sakura.ad.jp/cloud/api/apikey.html?gad_source=1&gad_campaignid=23699045250&gbraid=0AAAAADrEfxSRMhA1lXAMJsg3qjQQe6ZSK&gclid=Cj0KCQjwo_PRBhDNARIsAEcVALUrrUBXEP9A45FQwfm-CEgHgwJMrgsZ6XOXbsrokU3hdLPudxCCCJsaAjurEALw_wcB
APIキーを作成したら、usacloudのprofileに設定します。
対話形式でアクセストークンやアクセストークンシークレットを入力して完了です。
# usacloud profile
サーバ一覧を確認する
設定ができたら、まずサーバ一覧を確認します。
出力例は環境によって異なりますが、サーバ名、ID、ゾーン、ステータスなどを確認できます。
# usacloud server list --zone=all
+--------------+----------------+-------+---------+
| ID | Name | Zone | Status |
+--------------+----------------+-------+---------+
| 123456789012 | testfuture | is1a | up |
+--------------+----------------+-------+---------+
ディスク一覧を確認する
設定ができたら、まずサーバ一覧を確認します。
出力例は環境によって異なりますが、サーバ名、ID、ゾーン、ステータスなどを確認できます。
# usacloud disk list --zone=all
+--------------+----------------+-------+------+
| ID | Name | Zone | Size |
+--------------+----------------+-------+------+
| 123456789012 | testfuture-disk | is1a | 20GB |
+--------------+----------------+-------+------+
スイッチ一覧を確認する
ネットワーク関連のリソースも確認してみます。
スイッチを利用している環境では、作成済みのスイッチ一覧を確認できます。
サーバ、ディスク、スイッチをCLIから確認できるだけでも、環境全体をざっくり把握するのに役立ちます。
# usacloud switch list --zone=all
+------+--------------+------+------+-------------+---------------+
| Zone | ID | Name | Tags | Description | Type |
+------+--------------+------+------+-------------+---------------+
| tk1v | 123456789012 | rtsw | - | - | switch+router |
| tk1v | 123456789012 | sw | - | - | switch |
+------+--------------+------+------+-------------+---------------+
出力形式を変えてみる
usacloudの各コマンドには、出力形式を指定するオプションもあります。
serverコマンドのリファレンスでは、出力オプションとして --output-type があり、
table、json、yaml を指定できます。
# usacloud server list --zone=all --output-type=json
# usacloud server list --zone=all --output-type=table
# usacloud server list --zone=all --output-type=yaml
終わりに
コントロールパネルを開かなくても、手元のターミナルからリソースの状態を確認できるのは便利です。特に、複数ゾーンにリソースがある場合は、次のように全ゾーンをまとめて確認できるのが助かります。
usacloud server list --zone=all
今回は変更系の操作は行っていませんが、一覧取得だけでもusacloudの雰囲気をつかめたかなと思います。
usacloudを使うと、さくらのクラウドのリソースをCLIから確認できます。
最初からサーバ作成や削除を試すのは少し怖いですが、一覧取得だけであれば比較的安全に始められます。
usacloudのJSON出力を jq で整形して、必要な情報だけを取り出し抽出することもいろいろできそうですね。

