「Google Compute Engine」(以下GCE)のVMインスタンスをRundeckで認識させるための手順について紹介します。
「Rundeck」や「Google Cloud Platform」(以下GCP)の使い方はQiitaあたりで確認いただいた方が早いと思うので割愛します。
プラグインのインストール
以下コマンドでプラグインをダウンロードし、所有権を「rundeck」に設定します。
1 2 3 | wget https://github.com/jameshcoppens/rundeck-gcp-nodes-plugin/releases/download/V0.1.1-BETA/rundeck-gcp-nodes-plugin-0.1.1-BETA.jar sudo chown rundeck:rundeck rundeck-gcp-nodes-plugin-0.1.1-BETA.jar sudo mv ./rundeck-gcp-nodes-plugin-0.1.1-BETA.jar /var/lib/rundeck/libext/ |
Rundeckを再起動します。
1 | sudo systemctl restart rundeckd |
再起動完了後、プラグインを認識しているか確認します。
「List Plugins」を確認し、「GCP GCE Resources」が表示されていれば問題ありません。

サービスアカウントの作成
GCEのVMインスタンスを参照する権限が必要になるため、
Rundeckで認識したいプロジェクトにサービスアカウントを作成します。
GCPの管理ツールにログインして「IAMと管理」→「サービスアカウント」へと進みます。

サービスアカウント一覧画面に遷移後、「サービスアカウントを作成」を押下します。

「サービスアカウントを作成」を押下すると以下の画面が表示されます。
役割は「編集者」に設定します。
より強固な権限にする場合は別途役割を作成し、「Compute インスタンス管理者(v1)」のみを許容する設定にしてください。
後ほど必要になる秘密鍵は「json」形式で取得しておきます。
※サービスアカウント名に指定はありません。以下ではrundeckとして作成しています。

Rundeckに秘密鍵を設定
RundeckでGCEのVMインスタンスを参照できるように秘密鍵の設定を行います。
以下のディレクトリにサービスアカウント作成時にダウンロードした秘密鍵を置いてくださ
1 | vim /etc/rundeck/rundeck-gcp-nodes-plugin.json |
GitHubのissueにも記載がありますが、readme.mdに記載されている「rundeck-gcp-plugin.json」ではなく、
「rundeck-gcp-nodes-plugin.json」として秘密鍵を置いてください。
Readme.md.
The filename it is reading should be rundeck-gcp-nodes-plugin.json for the service key.https://github.com/jameshcoppens/rundeck-gcp-nodes-plugin/issues/1
Rundeckで同期設定
最後にGCEのVMインスタンスとRundeckを同期するための設定を行います。
今回は既存プロジェクトを例にしますが、新規プロジェクト作成時も
同様の手順(Resource Model Sourceへの追加)で対応できます。
プロジェクトの設定画面を開いて「Simple Configuration」を押下します。

「Resource Model Source」の欄で「Add Source」を押下します。

「GCP GCE Resources」を選択してください 。

GCPのプロジェクトの情報を入力していきます。
プロジェクトID以外は必要に応じて指定してください。
項目 | 設定値 |
Project ID | GCPのプロジェクトID |
Refresh Interval | 30 |
Filter Params | 必要に応じて設定してください(任意) |
Endpoint | 必要に応じて設定してください(任意) |
必要に応じて設定してください(任意) | |
Mapping File | 必要に応じて設定してください(任意) |
Use Default Mapping | チェックを入れる(任意) |
Only Running Instances | チェックを入れる(任意) |
設定値を入力後は「save」を押下して保存してください。

以上で設定は全て完了です。
お疲れ様でした。
動作確認
「Nodes」を確認して、「TAGS」に「gce」があれば同期が正常に行えています。
なお、これだけではrundeckからGCEのインスタンスに接続できません。
別途公開鍵認証の設定が必要ですので、コマンド実行の際はご注意ください。

うまくいかないとき
以下の点を疑ってみてください。
- サービスアカウントの権限を正しく設定できているか
- サービスアカウントの秘密鍵は正しいか
- Rundeck側でプロジェクトIDの設定を間違っていないか
Hi thanks for document.
whould you tell me what are the next steps i need to interms of publick key to connect gcp compute nodes from rundeck.