ILBFacebookTwitterLinePocketこんにちは、藤城(@tafujish)です。前回から話を戻し今回はIDCFクラウドの話、idcfcloud-cliを詳細に紹介しまショウ。idcfcloud-cliはその名のとおり、IDCFクラウドをコマンドラインから操作するためのインターフェースです。具体的に話すと、idcfcloudコマンドを実行してIDCFクラウドの各サービスのAPIを操作することができます。この手のCLIツールとしてはこれまでcloudstack-apiを提供してきました。cloudstack-apiはコンピューティングのAPIにのみ対応しており、ILBなど他のサービスには対応していませんでした。そこでIDCFクラウドの全サービス全APIへの対応をゴールにしたCLIツールを提供しようというのがidcfcloud-cliです。今回のリリースでは、ILBYour(Billing)に対応しています。12月に予定している次のアップデートでは、DNS/GSLBとコンテンツキャッシュに対応予定で、その後も追加を予定しています。それでは、以下の流れで紹介していきます。Yourってなぁにインストール方法idcfcloud-cliを初期設定するidcfcloud-cliの使い方Yourのビリングを試してみるILBを試してみるまとめYourってなぁにこのたび唐突に出してみましたYourですが、本題に入る前に紹介させてください。IDCFクラウドにログインして、右上のアイコン(アバター)から出てくるメニュー「アカウント設定」と「ビリング」の情報提供の総称です。これまでBillingのAPIと呼んで提供していましたが、正確にはYourのBillingに関するAPIということになります。これまでは、エンドポイントのURLくらいしか気づくところはなかったのですが。今回、idcfcloud-cliのリリースにあたりYourをオモテに出しました。お察しのとおり、今後「アカウント設定」の情報もAPIで取れるようにしていく予定です。インストール方法それでは、idcfcloud-cliを試してみましょう。2.2.7以降がインストールされた環境が必要です。Rubyのバージョンは次のように確認できます。16.04上で実行しています。[x86_64-linux-gnu]Ruby環境が整っていればidcfcloud-cliをインストールするのは簡単です。gemでネットワークインストールするのみです。その前にOS側で必要なパッケージも入れておきます。ついでに、RubyGemsの脆弱性もあったのでgemもアップデートしておきます。installedインストール後は、idcfcloudコマンドを実行してみてください。helpが出てくれば成功です。Serviceと、さらりと書きましたが、Rubyの必要なバージョンの準備がちょっと大変かもしれません。Ubuntu16.04では2.3.1が標準で入っているので問題なく実行できたと思います。CentOS7.xのように、Rubyのバージョンが古い場合は、Rubyの環境を構築する必要があります。このあたりは、次回のテックブログで紹介します。idcfcloud-cliを初期設定するインストールができたら、まずはAPIキーなどを初期設定します。設定用のコマンドが用意されています。Keyの情報を事前に確認してください。/var/lib/gems/2.3.0/gems/idcfcloud-0.1.2/output/complement.zshキーの入力後にidcfcloud以降の引数(commandなど)をタブによる入力補完をするシェル設定が出力されます。~/.bash_profileなどで反映させると入力補完が利用できます。このパスは環境により異なります。入力補完が不要な場合この設定は不要です。以上で初期設定は完了です。次に設定周りのオプションを紹介します。設定したAPIキーを修正する場合はconfigureを使います。configureデフォルトで設定ファイルは、/(インストール先)/idcfcloud-cli/config/config.iniにグローバル設定として出力されます。ログインユーザー毎に設定を変えたい場合はグローバル設定を無効(--no-global)にします。--no-globalすると~/.idcfcloud/config.iniに設定が出力されます。APIのコマンド追加などで入力補完用の設定が更新された場合はupdateを使います。本コマンド自体の更新ではないので注意してください。update本コマンド自体の更新はgemで行います。実行形式としては次のようになります。一度設定してしまえば、以降は一般ユーザー権限で実行できます。[option]各サービスにおいて対応しているコマンドの確認はhelpから可能です。ILBの場合は次のように確認できます。[headers]~以下略~デフォルトでは、Json形式で出力されます。xml)も利用できます。Yourのビリングを試してみるでは、まず過去の請求情報を確認してみましょう。2017年4月の請求は次のように実行できます。"2017-04-10",~以下略~結果の意味についてはAPIドキュメントサイトをご覧ください。Excelで管理したい場合はCSVにファイル出力(ここでは2017-04.csv)すると整形がしやすいと思います。Computing,joule,VirtualMachine,standard.S4,web01,2017-04-10,2017-04-30,491.92444419861,491.96638870239,491.92444419861,0.04194450378418,5300,424,5724~以下略~ILBを試してみる次に、既にHTTPの設定が入っているILBのバランシング対象にサーバー追加する例です。add_serverにて可能ですがlb_idとconfig_id、そして追加対象のIPアドレスが必要です。lb_idとconfig_idを確認します。],~略~今回は既に入っているILBの設定は1つなので対象となるIDは次の2つです。lb_id:"476b0e9f-ee26-4630-ab64-51edaa10aad4"、config_id:"b43e38a3-3d6e-4096-afdf-9bf09ecb6c9d"10.32.0.123のIPを持つサーバーをHTTP(80)として追加します。]}元からある1台(10.32.0.204)に追加され2台になりました。今追加したサーバー(10.32.0.123)を外す場合は次のコマンドを実行します。null}現在のバランシング先のサーバー一覧を確認すると1台に減っていることが分かります。]}まとめCLIツールのご要望は多くいただいてましたが、RubyにてILBとYourのビリングのAPIに対応したCLIツールをidcfcloudコマンドとしてリリースしました。今後も他のIDCFクラウドのサービスに対応していく予定です。CLIツールによってスクリプト化がしやすくなると思いますので、ILBのオートスケールへの対応など、IDCFクラウド操作の自動化に是非ご活用ください。次回のテックブログでは、CentOS7環境にて必要なRubyバージョンの環境を構築します。読者になる関連記事2022-04-13IDCFクラウドコンテナサービスのAPIを使ってみた。はじめまして、オペレーション本部サービス運用部の荒木です。...2019-11-25IDCFクラウドDNSに新しいレコードタイプを追加した話はじめまして。クラウドSRE部の篠田です。Inc.▲はてなブログをはじめよう!blog-idcfさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。