ジョブスケジューラRundeckをEc2に立ててみた
業務でcronで動いているバッチを専用のサーバで動かすという要件があったため、Rundeckというジョブスケジューラで行うことになりました。
導入方法はとても簡単です。使い勝手も大変良く、日時のバッチの失敗の検知(メールで送信)などもGUI上で設定できます。
ここではRundeckを起動するまでの流れを簡単に説明致します。
1.動かすサーバーを立てる。
自分はオンプレで立てましたが、一番最速なAWSのEC2で今回は立てます
AWSの管理コーンソールでサクッとインスタンスを作成してしまいましょう
最後にコンソールからSSHでEC2にアクセスするためのキーを作成します。
ここで作成したキーを使って作成されたEC2インスタンスに接続しましょう
>>> ssh -i ~/.ssh/rundeck.pem ec2-user@<ホスト名>
※つながらない場合はkeyをchmod 600で権限を変えてあげましょう
2.Rundeckをインストール
インストールはJAVAとRundeckをインストールするのみです。
Webサーバなどの役割もRundeckの方で自動で設定してくれるみたいです。
ec2の接続先で以下のコマンドを実行してインストールします。
>>> rpm -Uvh http://repo.rundeck.org/latest.rpm
>>> yum install rundeck
3.Rundeck起動
サービスを起動します。
>>> service rundeckd start
自サーバから応答が帰ってくるかを見ます。
>>> curl -v 127.0.0.1:4440/user/login
コマンド入力後にHTMLが帰ってくれば起動はできているということです。
4.ブラウザから見れるようにする
ブラウザからrundeckにアクセスするにはrundeck側とEC2のセキュリティグループのインバウンドの設定が必要になります。
※Rundeck側
以下の設定ファイルを設定します。
rundeckユーザで作業しましょう
>>> sudo su - rundeck
>>> vi /etc/rundeck/rundeck-config.properties
以下の項目を設定します。
私の場合はとりあえずIPのみを設定しました
>>> grails.serverURL=http://xxx.xxx.xxx.xxx:4440
※EC2側
インスタンス→セキュリティグループ→インバウンドの設定からrundeckのポート番号4440を許可します。
以下ような設定
さてこれで設定は完了です。ブラウザからアクセスしてみましょう
http://xxx.xxx.xxx.xxx:4440/user/login
ログイン画面が起動しました。
初期id/passはともにadminです。
ログインしてみましょう。メニュー画面に遷移します。
最近ブラウザのセキュリティの問題でhttpsでないとうまくいかないブラウザが増えていますが、
うまく遷移しない場合したのURLを直接叩いても良いです。
http://xxx.xxx.xxx.xxx:4440/menu/home
とここまででRundeckを使う準備はできました。
次回はRundeckの使い方を書いていく予定です。