SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

StackStorm入門

StackStormで始める運用自動化 ~応用編~

StackStorm入門(2)

StackStorm設定ファイルの修正

 最後に、これらの設定変更に伴うStackStormの設定ファイルの修正を行います。プライマリ、セカンダリの両ノードで、以下のとおりStackStormの設定ファイル/etc/st2/st2.confを修正します。

--- etc/st2/st2.conf.orig       2016-12-07 07:31:31.606370802 +0000
+++ /etc/st2/st2.conf   2016-12-07 07:48:08.470374159 +0000
@@ -73,7 +73,7 @@
 ssh_key_file = /home/stanley/.ssh/stanley_rsa
 
 [messaging]
-url = amqp://guest:guest@127.0.0.1:5672/
+cluster_urls = amqp://st2:passwd@192.168.0.100:5672/, amqp://st2:passwd@192.168.0.101:5672/
 
 [ssh_runner]
 remote_dir = /tmp
@@ -81,3 +81,6 @@
 
 [keyvalue]
 encryption_key_path = /etc/st2/keys/datastore_key.json
+
+[database]
+host = 192.168.0.100

 RabbitMQの接続先を設定していたurlパラメータに代わりcluster_urlsで、クラスタ設定を行ったRabbitMQノード群の設定を行います。また[database]セクションのhostパラメータでは、参照するMongoDBの接続先を指定しています。

 上記の設定を行ったら、両ノードで以下のとおりStackStormを再起動させます。

$ sudo st2ctl restart

動作確認

 ここまでの設定で冗長構成なStackStorm環境を構築することができました。以下のように、一方のノードでインストールしたPackがもう一方のノードにも反映されることが確認できます。

プライマリノードでpackをインストール(上段)し、インストールしたpackをセカンダリノードで確認(下段)
プライマリノードでpackをインストール(上段)し、インストールしたpackをセカンダリノードで確認(下段)

 上記のように、セカンダリノードでgithub packの情報が得られれば成功です。またセカンダリノードを停止させても、Packのインストールから、センサのイベント監視、アクションの実行を継続的に行うことができます。

DMM.comラボにおけるStackStorm環境

 参考として、DMM.comラボにおけるStackStorm環境を以下で紹介します。

DMM.comラボのStackStorm環境
DMM.comラボのStackStorm環境

 DMM.comラボの環境では、プライマリノードからさらにRabbitMQ、MongoDBを外に出し、PostgreSQLをMySQLに変えた構成を採っています。またRabbitMQは、上述のクラスタ設定に加えて、メッセージキューのデータもノード間で複製するHA Queueの設定を行っています。これによって、当該環境の可用性をより高めることができます。

 さらに、コンテンツディレクトリも可用性の高い共有ストレージに置くことで、StackStormノードから状態を持つ要素を完全になくすことができるようになります。

 このようにStackStormノードをステートレス(stateless)にすることで、StackStormノードをスケールできるようになり、負荷の増加に対しても柔軟に対応できるようになります。

次のページ
冗長構成なStackStormの運用の注意点

この記事は参考になりましたか?

StackStorm入門連載記事一覧
この記事の著者

大山 裕泰(株式会社DMM.comラボ)(オオヤマ ヒロヤス)

DMM.com ラボ所属ソフトウェアエンジニア。アリエル・ネットワーク株式会社、グリー株式会社を経て現在に至る。最近は主にインフラ基盤の構築、運用、機能開発を行う。共著書に「次世代ネットワーク制御技術 OpenFlow入門」がある。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/9885 2017/01/06 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー