環境構築

チュートリアルを行うために必要な環境設定について説明します。

チュートリアル環境の構成#

このチュートリアルでは、PagerDutyとPagerDuty Runbook Automation(RBA)を組み合わせてJobを実行する方法を学びます。 PagerDutyとRBA以外に、RunnerならびにNodesを動作させるサーバー(VM/Container可)が1つ必要になります。

Tutorial Architecture

チュートリアルで利用するRunner/Nodeの環境について

このチュートリアルでは、Linux(Ubuntu)で動作するRunnerならびにNodeを想定してコマンドを例示しています。Windowsなど異なる環境で行う場合は、環境に併せて適宜読み替えてください。

PagerDutyトライアルアカウント申し込み#

こちらのサインアップページを開き、Emailアドレスを入力後、GET STARTEDをクリックしてください。

参考: トライアルアカウントの作成

Runbook Automationトライアルアカウントの申し込み#

  1. 作成したPagerDutyトライアルアカウントにログインし、上部メニューからAutomation > Automation Actions をクリックします。 menu_automation_action
  2. Run Actionsボタンを選択し、Activate trial をクリックします。
  3. アカウントが作成されるとメールが届きます。メールの案内に沿って、パスワードを設定し、ログインしてください。
    • 管理者の既定のユーザー名はappadminです。

参考: トライアルを開始する

Activate trialが表示されない場合

PagerDutyの契約プランによっては、ご自身でトライアルを有効化できない場合があります。
"Activate trial" が表示されない場合は、担当営業までご連絡ください。ご連絡の際、ご利用のPagerDuty Subdomain名をお知らせいただけますと幸いです。

Projectの作成#

RBAでは、Project配下でJobを管理します。 Access Control List (ACL)を利用すると、Project毎にユーザーの権限を制御することができます。

  1. 新しくProjectを作成します。
    • 青い “New Project+” ボタンをクリックします。
    • または上部のProjectsプルダウンメニューを開き、”+Create Project”をクリックします Image
  2. Project Name (英数字のみ), Project Display Name(Projectの表示名), Description (Project説明)を記入し、Createをクリックします。

参考: Overview of Projects

Runnerの設定#

RBAでRunnerの登録を行うと、jarファイルがダウンロードきるようになります。このjarファイルをサーバー上で動かすことでサーバーがRunnerとして動作するようになります。

  1. RunnerにはJava11またはJava17が動作する環境が必要です。以下を参考にサーバー(VM/Container可)を用意ください。

    • RunnerのOSはLinuxを推奨します。WindowsのNodeに対しても、LinuxのRunnerから操作可能です。
    • 参考: Creating Runners
  2. RBAでRunnerの登録を行います。 画面右上のギアアイコンをクリックし、Runner Managementをクリックしてください。

  3. +Create Runner ボタンをクリック

  4. Create Runner画面が開いたら、以下のように入力し、Nextボタンをクリックします

    • Name: Workshop Runner
    • Description: (Runnerを説明する任意の文字列)
    • Define Tags: WORKSHOP Image
  5. Project Association画面で、先ほど作成したProjectでRunnerが利用できるよう紐づけを行います。

    • Runnerを紐づけるProjectの、Assigned欄をクリックします。Runnerが紐づけられたProjectは、Assigned欄が緑色になります。 Image
  6. Downloadボタンをクリックし、Runnerのjarファイルを保存します。 Image

  7. Close and Complete ボタンをクリックします。

  8. ダウンロードしたjarファイルを、VM等のRunnerを実行する環境にコピーします。

  9. Jarファイルを実行します。

    • Linux環境における実行例: java -jar runner_filename.jar
    • 参考: Creating Runners
  10. Runnerの起動後、RBAと通信が可能になると、Runner Management画面で、RunnerのStatus欄に緑色のアイコンが表示されます。 Image

  11. RunnerはHTTPSでRBAと通信を行います。

    • RBAとRunnerが接続できない場合は、RBAのIP Addressに対して、RunnerがTCPポート443で通信できるか確認してください。
    • Proxy経由で接続する場合は、jarファイルの実行時にProxyの指定が必要です。

Nodeの設定#

最後はNode(操作対象のサーバーやネットワーク機器等)の設定です。
このチュートリアルでは、Runnerの動作するサーバー自身(127.0.0.1)にSSHで接続し、Nodeとしても利用できるようにします。 Image

  1. SSHで接続できるようにするため、ここではOpenSSHサーバーをインストール・設定します。

    sudo apt update
    sudo apt install openssh-server
    

  2. SSHキーペアを作成します。

    ssh-keygen -t ed25519
    

  3. 生成された公開鍵をNodeを操作するユーザーのauthorized_keysに追加します。

    cat ./.ssh/id_ed25519.pub >> ./.ssh/authorized_keys
    

  4. 生成された秘密鍵でSSH接続ができるか確認してください。
    (ユーザー名や秘密鍵のファイル名は環境に併せて変更ください)

    ssh -i ~/.ssh/id_ed25519 rundeck@127.0.0.1
    

  5. 秘密鍵については、RBAのKey Storageに情報をコピーします。RBA管理コンソールの画面右上のギアボックスアイコンをクリックし、Key Storageをクリックしてください。 Image

  6. Key Storage画面が開いたら、+ Add or Upload a Key をクリックします

  7. 秘密鍵の情報をTEXTとしてコピー、または秘密鍵のファイルをアップロードします。
    以降の演習ではkey/workshop-nodesに保存したSSH Keyを、RunnerからNodeへの接続に利用します。 Image

  8. RBA画面左上のProjectプルダウンメニューから、先ほど作成したProjectを選択 Image

  9. 左メニューのProject Settingをクリックし、EDIT NODESを選択

  10. Edit Nodes画面のNodesタブ内で、Add a new Node Source+ ボタンをクリックし、Node Wizardを選択 Image

  11. Node WizardのSaveをクリックし、その後再度Saveをクリック Image

  12. Edit Nodes画面のEditタブを開き、Node Wizardのところにある Modify ボタンをクリック Image

  13. Edit Nodes File画面でEditorタブをクリックし、Nodesの設定を記入し、Saveをクリック Image

以上でチュートリアルの事前準備は完了です。お疲れ様でした!