概要
このページではCLIの初期設定方法から簡単な利用方法などについて説明します。
CLI関連の詳しいコマンドおよび例題を確認したい場合は、CLI help
コマンドを実行してください。
CLIの構造
CLIはWindows環境向けのファイルとLinux環境向けのファイルがあります。2つのファイルの構造はすべて同じであり、環境によって実行方法が少し異なります。
- Jre7: Ncloud CLIはJavaを利用して開発されており、JRE(Java Runtime Enviroment)が必要です。CLIフォルダにはjre7ファイルが含まれているので、CLIを運用する環境にすでにJREやJDKがインストールされている場合は、この内容をご参考ください。(Java 1.7以上で駆動)
- lib: CLI関連、jarファイルのあるフォルダ
- ncloud.*: CLI jarファイルを実行するためのスクリプトファイル(Windows, Linux環境によりファイルの拡張子が異なる)
CLIの起動
それぞれの環境(Windows/Linux)に合わせてダウンロードしたフォルダのパス(cli_window/cli_linux)でncloud
コマンドを実行します。次のようなメッセージが出力されれば正常に実行されたといえます。
Windows
Linux
1.7以上のバージョンのJREあるいはJDKがローカル環境にインストールされている場合は該当のファイルを使っても構いません。
従来のJRE, JDKとの接続(ローカル環境にJRE, JDKがすでにインストールされている場合)
含まれたJREファイルではなく、ローカル環境のJRE, JDKを利用する場合、ncloudスクリプトファイルで次のように./jre7/bin/java
をjava
に変更します。この作業は、従来のローカル環境にインストールされたJRE, JDKを使う場合に限ります。
修正前
修正後
CLI API認証キーの値の設定
CLIの機能を使うためには、まずAPI認証キーの値を設定しなければなりません。
API認証キーはマイページ > アカウント管理 > 認証キー管理で確認できます。
$ncloud configure
コマンドを入力すると、Access Key, Secret Keyが入力されます。
各API認証キーはユーザー環境のホームディレクトリの.ncloud
フォルダにconfigureファイルの形で保存されます。API認証キーが正しく入力された場合はコマンドが正常に実行されます。
入力したAPI認証キーが有効でない場合は次のようなメッセージが出力されます。
認証キーの値が正常である場合、zoneリストの出力を実行すると、次のような結果が出力されます。
CLIのヘルプの確認
Ncloud CLI使用の際、ヘルプを確認したい場合はコマンドの最後にhelp
を追加して実行します。
次のコマンドはNcloud CLI関連の一般オプションおよびヘルプ、使用可能な最上位のコマンドを並べます。
$ncloud help
次のコマンドはNcloudの上位のコマンドで使用できるサブコマンドを並べます。
$ncloud server help
$ncloud loadbalancer help
ヘルプの構成
getZoneListコマンドを例に挙げて、ヘルプの構成について説明します。
- API名: コマンド名です。
ゾーン(Zone)リストの照会
- 説明: APIに関する詳しい説明です。
NAVERクラウドプラットフォームで提供するゾーン(Zone)はDS(Distribution Switch)基準で分けられます。サーバインスタンス(VM)を作成する際、特定したゾーン(Zone)に作成できます。従って、NAVERクラウドプラットフォームで提供するゾーン(Zone)の情報を照会できなければなりません。
- リクエストパラメータ: API呼び出しの際に使用可能なオプションについて説明します。
パラメータ名 | 簡単な説明 | タイプ | 制約 | 必須 |
---|---|---|---|---|
regionNo | リージョン番号 | String | No |
- レスポンスデータタイプ: API呼び出しの際にレスポンスを受信するデータのオブジェクトタイプです。
ZoneList extends CommonResponse |
---|
private List |
Zone |
---|
private String zoneNo; |
private String zoneName; |
private String zoneDescription; |
- 例示: 実際のAPI呼び出しの際に受信するデータレスポンスの例です。
"getZoneListResponse": {
"requestId": "9524c84b-f5f2-46db-9e8c-bb70906c4ea1",
"returnCode": 0,
"returnMessage": "success",
"zoneList": [
…]}
CLIコマンドの構造
Ncloud CLIはコマンド行でマルチパート構造を使います。この構造はncloudに対する基本呼び出しで始まり、各コマンドごとに実行する作業に関するサブコマンドがあります。CLIでオプションを追加する際、特定のパラメータをどのような順番で指定しても構いません。
$ncloud <command> <subcommand> [options and parameters]
CLIパラメータおよびオプションの指定
ほとんどのパラメータの値は簡単な文字列または数字です。その他にもMap, Listの形のパラメータを使うこともできます。Listは次のようなコマンドで使用します。Listパラメータは空白( )またはコンマ(,)、追加のパラメータ宣言などを利用して使えます。
$ncloud server getPublicIpInstanceList --publicIpInstanceNoList 573361,571968
$ncloud server getPublicIpInstanceList --publicIpInstanceNoList 573361,571968
$ncloud server getPublicIpInstanceList --publicIpInstanceNoList 573361 --publicIpInstanceNoList 571968
空白文字のない文字列はクォーテーションで結んだり結ばなかったりできます。しかし、Map形式の文字列はクォーテーションで結ばなければなりません。次の例に表示されているようにLinux, macOS, UnixおよびWindows PowerShellではシングルクォーテーション(')またはダブルクォーテーション('')を使用でき、Windowsコマンドプロンプトではダブルクォーテーション('')を使用します。
Windows PowerShell, Linux, macOS, Unix
$ncloud loadbalancer createLoadBalancerInstance --loadBalancerName penguin --loadBalancerRuleList 'protocolTypeCode=HTTP,loadBalancerPort=80,serverPort=80,l7HealthCheckPath=/l7check.html,proxyProtocolUseYn=N'
Windowsコマンドプロンプト
$ncloud loadbalancer createLoadBalancerInstance --loadBalancerName penguin --loadBalancerRuleList "protocolTypeCode=HTTP,loadBalancerPort=80,serverPort=80,l7HealthCheckPath=/l7check.html,proxyProtocolUseYn=N"
コマンド出力コントロール
Ncloud CLIは2種類の出力形式をサポートします。--output
オプションがない場合は基本のJSONフォーマットで出力されます。
- JSON(json): 基本
- XML(xml)
XMLで出力したい場合、次のように実行します。
$ ncloud server getZoneList --output xml
CLI実行シナリオ
CLIを利用して次のような簡単なテストシナリオを作成してみます。
- サーバイメージの照会
- サーバの作成(initスクリプトを設定してApacheをインストール、駆動し、touchコマンドを利用してl7Check.htmlファイルを作成)
- パブリックIPアドレスの作成および割り当て
サーバ作成の確認
サーバイメージCentOS 6.6(64bit)商品コード(productCode) SPSW0LINUX000044
$ ./ncloud server getServerImageProductList | grep CentOS 6.6(64bit)' -C 8
サーバイメージCentOS 6.6(64bit)で最小の仕様のサーバインスタンスを作成(サーバインスタンス番号573385)
$ ./ncloud server createServerInstances --serverImageProductCode 'SPSW0LINUX000044' --userData 'file:///mnt/c/Users/NAVER/Desktop/cli_linux/userData.sh'
サーバ作成の際に実行するユーザーのファイル(userData.sh)
#!/bin/sh yum install -y httpd echo 'Hello World' > /var/www/html/index.html chkconfig --level 2345 httpd on
サーバにパブリックIPアドレスを作成および割り当て(49.236.145.185)
$./ncloud server createPublicIpInstance --serverInstanceNo '573385'
コンソールで49.236.145.185パブリックIPアドレスに対する80番ポートACG許可設定(Server > ACG)
ブラウザで結果を確認