SkyHopper v1.9.0リリース

この記事は公開されてから半年以上経過しています。情報が古い可能性がありますので、ご注意ください。

SkyHopper 1.9.0リリース

12月8日にSkyHopperのリリースを実施しました。
今年最後の正式リリース版という扱いです。
pre releaseを継続して行っているため目新しさはあまり無いかもしれませんが利便性をあげるべく工夫のつまったツールとなっています。
ぜひお試し頂けると幸いです。
(git的にはタグを打っただけですけどね)

以前の記事や、githubのドキュメントと繰り返しにはなりますが、
インストールのやり方がわからないという声をお聞きする機会もありましたので
スクリーンショットを混ぜてインストールの流れを作成しました。

githubのドキュメントとあわせて参照して頂けますと幸いです。

インストール作業

環境

SkyHopper自体はAWSに作成しなくとも動作しますが、ここではAWSを用います。
また、Amazon Linux 2015.09.1(HVM)版を使用します。

SkyHopper用のインスタンスの作成

自動化のツールではありますが、さすがに自身のインスタンスを自動で作成できるテクノロジが現在ありませんので(日本のMarketplaceが実現できる日を期待しています)インスタンスを作成します。

Amazon Linux 2015.09.1(HVM)版を選択します。
SkyHopper_v190_EC2_ManagementConsole_2015-12-9_9-52-44_No-00
smallサイズ以上なら現在起動する事を確認しています。
SkyHopper_v190_EC2_ManagementConsole_2015-12-9_9-53-15_No-00

Diskのサイズは20GiBであれば余裕です。(もっと少なくても評価はできます)
SkyHopper_v190_EC2_ManagementConsole_2015-12-9_9-54-16_No-00

運用面では分かりやすくタグを付けておくことをおススメします。
SkyHopper_v190_EC2_ManagementConsole_2015-12-9_9-54-36_No-00

あたりまえですが、WebのアプリケーションなのでHTTPでアクセスできるようにセキュリティグループの設定をしてください。
SSHはちゃんと運用する際には絞ってください。
SkyHopper_v190_EC2_ManagementConsole_2015-12-9_9-55-48_No-00

このようなサマリを少なくとも期待しています。
SkyHopper_v190_EC2_ManagementConsole_2015-12-9_9-56-38_No-00

インスタンスが作成されましたでしょうか?

アプリケーションのデプロイ

Ruby環境の整備

SkyHopperはruby2.2を必要とします。そのためデフォルトでインストールされているrubyを一旦アンインストールします。
(既存のRubyと2.2が干渉する事が確認されているため、アンインストールをおすすめします)
SkyHopper_v190_VT-remote_2015-12-9_10-13-4_No-00

無事にアンインストールができましたら2.2をインストールしましょう。
SkyHopper_v190_VT-remote_2015-12-9_10-13-54_No-00

bundlerが必要なのでインストールしましょう。
SkyHopper_v190_VT-remote_2015-12-9_10-14-53_No-00

Node.js環境の整備

Node.jsをインストールしましょう。標準リポジトリのものではバージョンが古いのでepelを利用します。
SkyHopper_v190_VT-remote_2015-12-9_10-15-41_No-00

スクリーンショットのようなバージョンが確認されるとOKです。
SkyHopper_v190_VT-remote_2015-12-9_10-17-13_No-00

bowerをインストールします。
SkyHopper_v190_VT-remote_2015-12-9_10-18-28_No-00

必要パッケージの追加

動作環境にはたくさんのパッケージが必要です。yumのgroupinstallで一気に入れてしまいましょう。
SkyHopper_v190_VT-remote_2015-12-9_10-19-54_No-00
SkyHopper_v190_VT-remote_2015-12-9_10-21-3_No-00
Redisをインストールします。
SkyHopper_v190_VT-remote_2015-12-9_10-21-39_No-00

リバースプロクシの設定

Webアクセスをアプリケーションサーバ(Ruby On Rails)と繋ぐためにリバースプロクシの設定を行います。
またSkyHopperはWebSocketを活用していますので、HTTPとWebSocketの使い分けにも利用しています。
SkyHopper_v190_VT-remote_2015-12-9_10-23-24_No-00

データベースの準備

githubでのドキュメントで問題ありませんが、ここでは念のためにmy.cnfに文字コードの設定を行っています。
SkyHopper_v190_VT-remote_2015-12-9_10-25-47_No-00

デーモンの起動

Redis, MySQL Server, Nginxを起動します。
SkyHopper_v190_VT-remote_2015-12-9_10-27-32_No-00

SkyHopper_v190_VT-remote_2015-12-9_10-28-13_No-00

SkyHopperのダウンロード

SkyHopper本体のソースコードをCloneします。Tag v1.9.0が今回のリリースですが、現時点ではmasterと同じなのでそのままcloneして利用します。
なお、この手順では/appにcloneしています。
SkyHopper_v190_VT-remote_2015-12-9_10-30-27_No-00

SkyHopper_v190_VT-remote_2015-12-9_10-31-0_No-00 SkyHopper_v190_VT-remote_2015-12-9_10-43-14_No-00

データベースの設定

アプリケーションで利用するDBのテーブル、アカウントを設定します。
Githubのドキュメントでは下記の様にdevelopとproductionの両方の準備をしていますが、どちらかのみで良い場合には適宜省略してください。
SkyHopper_v190_VT-remote_2015-12-9_10-45-29_No-00

SkyHopper_v190_VT-remote_2015-12-9_10-46-21_No-00

Rubyのgemのインストール

gemはrubyのbundlerで管理していますのでbundleでインストールします。
SkyHopper_v190_VT-remote_2015-12-9_10-48-20_No-00

フロント系ライブラリのインストール

フロント系のライブラリはbowerで管理しています。まとめてインストールします。
SkyHopper_v190_VT-remote_2015-12-9_10-53-7_No-00

ビルド

gulpを用いてビルドします。
まずglupのインストール。
SkyHopper_v190_VT-remote_2015-12-9_10-54-43_No-00

SkyHopper_v190_remote_2015-12-9_10-58-27_No-00

TypeScriptライブラリのコンパイル
SkyHopper_v190_remote_2015-12-9_10-58-55_No-00

SkyHopper_v190_remote_2015-12-9_10-59-23_No-00

アプリケーションのDB設定

ymlファイルを書き換えます。

SkyHopper_v190_VT-remote_2015-12-9_11-0-10_No-00 SkyHopper_v190_VT-remote_2015-12-9_11-1-5_No-00

初期データを投入します。
SkyHopper_v190_VT-remote_2015-12-9_11-3-10_No-00

SkyHopper_v190_VT-remote_2015-12-9_11-3-10_No-00 SkyHopper_v190_VT-remote_2015-12-9_11-3-42_No-00 SkyHopper_v190_VT-remote_2015-12-9_11-4-31_No-00

アプリケーションの起動

この工程でアプリケーションの構築が終わりです。
起動してインストーラで設定しましょう。

SkyHopper_v190_VT-remote_2015-12-9_11-4-53_No-00

インストーラ

ブラウザでアクセスすると、インストーラが起動します。
こちらを埋めましょう。ログのディレクトリはアプリケーションを起動するユーザで読み書きできる場所を指定してください。
この例では/app/skyhopper/logに設定しました。
SkyHopper_v190_MozillaFirefox_2015-12-9_11-12-20_No-00

必要な項目が埋まりましたらChefServerを構築しましょう。
SkyHopper_v190_MozillaFirefox_2015-12-9_11-12-34_No-00

SkyHopper_v190_MozillaFirefox_2015-12-9_11-13-25_No-00 SkyHopper_v190_MozillaFirefox_2015-12-9_11-21-58_No-00

ここまできたら、コンソールで鍵の設置を行います。
SkyHopper_v190_VT-remote_2015-12-9_11-23-19_No-00
鍵のコピーが終わったら再起動しましょう。
SkyHopper_v190_VT-remote_2015-12-9_11-23-57_No-00

管理者アカウントの作成

まず管理者アカウントの作成を求められます。
この管理者を元にアカウントを発行して多人数での利用を想定しています。
SkyHopper_v190_MozillaFirefox_2015-12-9_11-37-16_No-00

SkyHopper_v190_MozillaFirefox_2015-12-9_11-37-41_No-00

Cookbookのアップロード

弊社がGithubで公開しているCookbookは最低限ですが、SkyHopperのシステムとして利用するZabbixサーバの構築に必要なものが含まれています。
ダウンロードしてChefServerに登録しましょう。
この例ではダウンロード先は/appとしました。
SkyHopper_v190_VT_2015-12-9_11-48-39_No-00

knifeを用いてChefServerに登録します。
buldlerを用いて実行するため、SkyHopperのディレクトリ内で実行する必要があることにご注意ください。
SkyHopper_v190_VT_2015-12-9_11-50-8_No-00

ロールのアップロードを行います。
SkyHopper_v190_VT_2015-12-9_11-50-37_No-00

Zabbix Serverの作成

SkyHopperはZabbixと連携して動作するようになっていますので、Zabbixが必要です。
インスタンスは既に作成されていますので、Zabbixをインストールするところから実施します。
しかし、既にSkyHopperもChefServerも構築済みであるためChefを用いて構築を実施することができます。

案件SkyHopperの中のインフラでZabbixと表示されている項目を選択します。
SkyHopper_v190_SkyHopper_MozillaFirefox_2015-12-9_11-51-30_No-00

詳細をクリックします。
SkyHopper_v190_SkyHopper_MozillaFirefox_2015-12-9_11-52-5_No-00

ChefServerに登録するボタンがあるので登録しましょう。
SkyHopper_v190_SkyHopper_MozillaFirefox_2015-12-9_11-52-24_No-00

ChefServerへ登録が行われるとRunlistの編集が可能になります。
SkyHopper_v190_SkyHopper_MozillaFirefox_2015-12-9_11-53-19_No-00

ロールのZabbix Serverを選択しましょう。これさえあれば構築ができます。
SkyHopper_v190_SkyHopper_MozillaFirefox_2015-12-9_11-53-33_No-00

Runlistが確認できましたらCookして反映させてください。
SkyHopper_v190_SkyHopper_MozillaFirefox_2015-12-9_11-54-0_No-00

この状態でCookが緑になれば成功です。
SkyHopper_v190_SkyHopper_MozillaFirefox_2015-12-9_11-56-52_No-00

Zabbix Serverとの連携

SkyHopperからZabbixサーバをAPIで操作するためにアカウントの登録が必要となります。画面上部の設定からZabbix Serverを選択してください。
SkyHopper_v190_SkyHopper_MozillaFirefox_2015-12-9_11-59-7_No-00

こちらにadmin権限のあるユーザ(通常admin)とパスワードを登録してください。
SkyHopper_v190_SkyHopper_MozillaFirefox_2015-12-9_11-59-41_No-00

登録が終わったら同期しておきましょう。
SkyHopper_v190_SkyHopper_MozillaFirefox_2015-12-9_12-1-42_No-00

お疲れさまでした。
以上でSkyHopperの構築は終わりです。

よい自動化ライフを!

投稿者プロフィール

えんじにあん
インフラ系のエンジニアです。
運用系のスクリプトを書いたり、オートメーションな世界に向かって日々精進しています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


Time limit is exhausted. Please reload CAPTCHA.

ABOUTこの記事をかいた人

インフラ系のエンジニアです。 運用系のスクリプトを書いたり、オートメーションな世界に向かって日々精進しています。