インストール方法についての記事を投稿したばかりですが、v.1.9.0についてWebでのインストーラが起動するところまでの準備が終わったAMIの作成を行いました。
この機会を利用してより多くの方の評価を頂けますとチーム一同大変うれしいです。
事前準備
SkyHopperはシステムとしては標準で
- SkyHopper
- ChefServer
- Zabbix Server
のインスタンスが必要となります。
そのため、デフォルトでのAWSアカウントでは作成できるEC2やEIP,CloudFormationの使用できる数に余裕がなくなります。
また、すでにお使いの環境であれば余裕があるかどうかのご確認をおすすめします。
状況を見て上限緩和の申請をAWSのサポートへご依頼頂く必要についてご検討ください。
はじめに
お約束ですが、
本記事は AMI名: SkyHopper2015.12.10v1.9.0.evaluation.image (ID:ami-f8eac296) を元に書いてあります。
なんらかの事情でこのAMIの公開を取りやめを行うなど将来にわたっての利用のお約束はできません、また手順の変更が発生しうることをご了承ください。
また本記事の手順や公開内容につきましては無保証とさせていただきます。
AMIの検索とインスタンスの作成
まずは公開されたAMIを検索しましょう。
EC2の画面からAMIのメニューを選択して、AMI IDとしてami-f8eac296を検索してください。上記スクリーンショットのような情報が見つかると思います。
AMIの選択が行えましたら「作成」を押して通常のインスタンスの作成の手順で作成を行ってください。
- Webアプリケーションなので80を有効にしてください。
- ZabbixでSkyHopper自身も管理する場合には10050を通してください。
- セキュリティポリシーに応じてソースは絞ってください。
インストーラの実行
割り当てられたPublic IPアドレスに対してブラウザでアクセスしてみましょう。インストーラが起動します。
インスタンスのサイズにも依りますがアプリケーションが起動するのに1分程度は掛かる可能性があります。
Bad Gatewayが表示されても落ち着いて、少し時間をあけてアクセスしてみてください。
インストーラが起動したのを確認できましたら各項目を埋めていきます。
システムの設定
ログの保存先のパス
この評価用のイメージではアプリケーション専用のユーザskyhopperでアプリケーションサーバが起動しています。
そのため、skyhopperで読み書きが可能なディレクトリを指定してください。
アプリケーションは /app/skyhopperにインストールされていますので
/app/skyhopper/log を指定するとよいでしょう。
AWSの設定
APIキー、APIシークレット
SkyHopperのシステム自身が利用するAPIキー、APIシークレットキーを登録します。
API経由でChefServerを作成したりZabbixサーバを作成するのに利用します。
SkyHopperを作成したアカウントで発行して頂いて問題無いです。
使用するリージョン
APIキー、APIシークレットを発行したリージョンを指定してください。
使用する鍵ペア
すでにAWSで使用されているec2-userの鍵を指定してください。
(鍵ぺアの作成ができるような文言になっていますが、現在ここでは作成できません。すみません。)
ドラッグ&ドロップの際には問題が無いと思いますが、ここの鍵ペア名はAWSのコンパネに登録されている鍵の名前です。
ローカルで持っているpemファイルの名前ではありませんのでご注意ください。
(通常は拡張子pemを取ったものが鍵名になっていることが多いと思います)
すべての項目が埋まりましたら、[ChefServerの構築]ボタンを押しましょう。
作成されている様子がプログレスバーとして表示されますので少々おまちください。
作成が終わりますと上記のようにグリーンの表示でChefの鍵を設定するように指示がでますので生成された鍵をコピーしましょう。このAMIではskyhopperユーザでのアプリケーション起動を行いますのでskyhopperのホームディレクトリにコピーする必要があるということを留意ください。
1 2 3 4 5 6 |
<tt> $ id uid=500(ec2-user) gid=500(ec2-user) groups=500(ec2-user),10(wheel) $ cd /app/skyhopper $ sudo -u skyhopper cp -r tmp/chef /home/skyhopper/.chef </tt> |
コピーが終わったら再起動をしましょう。
1 2 3 4 5 6 7 8 9 10 11 12 |
<tt> $ sudo /etc/init.d/skyhopper stop /app/skyhopper/scripts/skyhopper_daemon.sh を停止中: + cd /app/skyhopper + ./scripts/skyhopper_daemon.sh stop ===== Kill Rails/Sidekiq/Websocket Servers $ sudo /etc/init.d/skyhopper start /app/skyhopper/scripts/skyhopper_daemon.sh を起動中: + cd /app/skyhopper + ./scripts/skyhopper_daemon.sh start ===== Generating i18n-js dictionary ===== Precompile assets ===== Start Rails/Sidekiq/Websocket servers </tt> |
ここまで終わればWeb画面に戻って完了ボタンをおしましょう。
ここまでの手順が
https://github.com/skyarch-networks/skyhopper/blob/master/README.md
のアプリケーションのデプロイに相当します。
サインアップ
いよいよ利用が開始できますが、まずは管理者としてのアカウントが必要となりますので下記の画面からアカウントを作成してください。
Cookbook/Roleのアップロード
SkyHopperが/app/skyhopperにインストール済みの環境なので、Cookbookを/app 以下に cloneしますが、必要なcookbookはすでに/app/skyhopper_cookbooksにダウンロードを行ってあります。
それを作成されたChef Serverへuploadしてください。
1 2 3 4 5 6 7 8 |
<tt> $ <font color="red">sudo su - skyhopper</font> $ id uid=501(skyhopper) gid=3838(skyhopper) groups=3838(skyhopper) $ cd <font color="red">/app/skyhopper</font> $ bundle exec knife cookbook upload -ao ../skyhopper_cookbooks/cookbooks/ $ bundle exec knife role from file ../skyhopper_cookbooks/roles/*rb </tt> |
ここまでである程度画面が動くようになりますが、先に記述してある通りSkyHopperはZabbixサーバと合わせて動作します。必ず下記Zabbixサーバの作成からの作業を行ってください。(不完全な状態での動作となり、新しい案件作成時等にエラーが起きてしまいます)
SkyHopperで使用するZabbix Serverのデプロイ
既にサインアップ済みと思いますので、下記リンク先の 2 Zabbix Server インフラストラクチャを選択
より手順を進めて下さい。
https://github.com/skyarch-networks/skyhopper/blob/master/doc/installation/zabbix_server.md
※Zabbixサーバ構築時にCookを実行する際には Cook(Why-run)ではなく Cookを実行して下さい
それでは素敵なAWSライフを!
投稿者プロフィール
-
インフラ系のエンジニアです。
運用系のスクリプトを書いたり、オートメーションな世界に向かって日々精進しています。
最新の投稿
- Apache2016年6月24日ApacheWebServerで圧縮転送の設定
- AWS2016年5月17日SkyHopperのインストーラで作成するChef Serverについてのご注意
- AWS2016年3月29日SkyHopper v1.15.2の評価用AMI公開しました
- AWS2016年3月8日SkyHopperのプロダクトページを作成しました