Kompira Enterprise の基本的な機能の1つとして、リモートサーバに対して ssh (Windows の場合は winrs) で接続し、コマンドを実行するというものがあります。
「運用自動化コラム」の記事では、リモートサーバへの接続を前提としたものが数多くありますが、そのためには作業の対象となるサーバやネットワーク機器の接続先情報と、接続の認証情報を登録する必要があります。
本稿では、コラム全体のための事前準備として接続情報の登録方法、使用方法を解説します。
本稿は、以下の環境で検証しています。
ソフトウェア | バージョン |
---|---|
Kompira Enterprise | 1.5.5.post7 |
OS | CentOS 7.8.2003 |
または
ソフトウェア | バージョン |
---|---|
Kompira Enterprise | 1.6.2.post4 |
OS | CentOS 8.2.2004 |
または
ソフトウェア | バージョン |
---|---|
Kompira Enterprise | 1.6.8 |
OS | CentOS Stream 8 |
Kompira Enterprise はリモートサーバに接続する際には ssh (Windows 機の場合には winrs) で接続します。
以下に示すのは、接続先のアドレスや ID 、パスワードをジョブフロー中に直接に記載する方法です。
ジョブフロー中で下表の変数に文字列を与えると、それらを接続情報と解釈してリモートサーバ上でコマンド実行をします。
__host__ | 実行ホスト名 / IP アドレス |
__user__ | ログインユーザ名 |
__password__ | ログインユーザのパスワード |
[ __host__ = '11.22.3.4', __user__ = 'testuser', __password__ = 'secret' ] -> ["whoami"] -> print($RESULT)
この方法は、管理機器の対象やジョブフローが少ない場合やジョブフロー作成時のテスト等で、気軽に使用することができますが、管理対象が増えてくるにつれて認証情報の管理が大変になるという問題があります。
そのため、原則的に次の章でご紹介する「ノード情報」「アカウント情報」という形式で管理することを推奨しています。
まず接続先のアカウント情報を登録していきましょう。
以下のようにアカウント情報型オブジェクト「アカウント1」を作成します。
以下の編集画面では、「ユーザ名」「パスワード」の指定をします。認証に鍵ファイルが必要な場合には、別途「SSH鍵ファイル」や「SSH鍵パスフレーズ」を登録してください。
次に接続先のノード情報を登録していきましょう。
以下のようにノード情報型オブジェクト「server1」を作成します。
以下の編集画面では最低限、「ノード種別」、「接続種別」、「IPアドレス」、「アカウント」を指定します。「アカウント」はプルダウンによる選択式になっていますので、先に作成した「アカウント1」を選びます。
※以下の画像は Kompira Enterprise バージョン 1.6.8 時点のものです。他のバージョンでは項目が異なることがあります
以上の設定した接続情報が正しく登録されたか、ジョブフロー「接続確認」を作って確認してみましょう。
ソースコードは以下のようにしてください。ここではノード情報「server1」が、ジョブフローと同じディレクトリにある想定です。
[ __node__ = ./server1] -> ["whoami"] -> print($RESULT)
これで「アカウント1」で指定した「ユーザ名」が表示されれば問題なく接続できています。
この「運用自動化コラム」の記事では、特に指定がない場合には上記の「server1」を使って例示していきます。