Upload
yasuhiro-horiuchi
View
1.884
Download
0
Embed Size (px)
Citation preview
mocloud.ioにサインアップする
mocloudのウェブサイト( https://mocloud.io/jp/ )にアクセスします。
右上の「サインアップ」をクリックします。
mocloud.ioへのサインアップ
以下のようなメールが届いたら、「Click here to verify your email」をクリックし、本登録を完了します。
Cloud Automation Softwares
PHPスタックの作成
PHPスタックの作成
それでは早速PHPアプリケーションを実行するスタックを作成してみましょう。左メニューの「アプリケーションの作成」をクリックします。
PHPスタックの作成アプリケーション情報を設定します。アプリケーション名(オプション)、サブドメイン(オプション)、リージョン、インスタンスタイプを入力・選択します。アプリケーション名とサブドメインを省略した場合、適当な名前が自動的に設定されます。アプリケーション名は後から変更可能です。
PHPスタックの作成
シングルスタック:
シングルサーバーのみローンチされます。
ロードバランス機能付スタック:
スタックは自動スケール機能を管理するため、ロードバランサーや
その他の必要なネットワークコンポーネントと共にローンチされます。 自動スケールの際の最小・最大インスタンス数を設定できます。
自動スケール機能について有料プランに登録いただくと、アーキテクチャを選択できるようになり、自動スケール機能をご利用いただけます。選択できるアーキテクチャは次の2つです。
PHPスタックの作成
次に適当なイメージを選択し環境設定を行いましょう。
今回は右上のPHP Stack (Ubuntu 14.04, php 5.6, Nginx)を選択します。
PHPスタックの作成PHP Stack (Ubuntu 14.04, php 5.6, Nginx)を選択するとExtra PHP
Configurationの設定画面が表示されますが、何も変更せず、「実行」をクリックします。
PHPスタックの作成今回は使用しませんが、Docker Hubに登録されているイメージを利用
することもできます。自分で作成したDockerイメージをDocker Hubに登録することで、オリジナルのコンテナを利用することもできます。
moCloud用のDockerイメージを構築する方法についてはドキュメント
(http://bit.ly/mocloud-custom-docker)をご覧下さい。
PHPスタックの作成
有料プランに登録いただくと、Multi-AZ構成でマスター/スレーブ方式を
サポートするMySQLとPostgreSQLをご利用可能になります。
スレーブDBは1~5台まで設定可能で、運用中でもダウンタイムなしでい
つでも追加・削除することが可能です。スレーブDBの負荷分散を行う
ロードバランサーも自動で作成され、DBのエンドポイントが用意され
ます。アプリケーションの設定でDBの接続先をエンドポイントにする
だけで、どのDBに接続するかを意識することなしに、負荷分散された
DBをご利用いただけます。今回はDBの選択はしません。
PHPスタックの作成
オプションとして、インスタンスにアタッチする複数のSSH公開鍵の登録が可能です。普段使用している鍵を使ってサーバーにログインすることができます。 公開鍵の登録はサーバーのローンチ後でも可能です。 今回は鍵の登録はしません。
PHPスタックの作成
これで準備完了です!一番下にある「アプリケーションの作成」を
クリックして、moCloudでアプリケーションを作成しましょう!
PHPスタックの作成スタックの作成が終わるまで少し時間がかかります。 左メニューの「既存のアプリケーション」から状態を確認できます。
「初期化中…」が「実行中」に変わったら作成完了です!
PHPスタックの作成一覧からアプリケーション名をクリックすると詳細ページ移動します。
リソースタブでは「アプリケーションのURL」「ご利用料金」「実行中のインスタンスの情報」を確認できます。
アプリケーションのURLをクリックすると実際に稼働しているアプリケーションを開きます。
PHPスタックの作成
アプリケーションのURLをクリックすると次のようなページが開きます。
Mobingiがデフォルトで用意したPHPアプリケーションのページです。
PHPスタックの作成
コードタブではアプリケーションとGitHubの接続を行い、デプロイを可能にする設定を行えます。こちらは次の章で実際に設定してみます。
PHPスタックの作成
アクティビティタブではこのスタックで行われたアクティビティを確認できます。
PHPスタックの作成
ログタブでは、インスタンス毎の詳細なログを確認できます。
PHPスタックの作成
ログタブでは、インスタンス毎の詳細なログを確認できます。
Cloud Automation Softwares
githubを使ったコードのデプロイ
githubを使ったコードのデプロイ
githubで今回のアプリケーション用のレポジトリを作成します。
(githubアカウントをお持ちでない場合は、事前に作成してください。)
github.comにアクセスし、右上の「New repository」をクリックします。
githubを使ったコードのデプロイ
必要な情報を入力しリポジトリを作成します。
githubを使ったコードのデプロイ
この例ではmocloud-demo-phpと言うレポジトリを作成しました。
githubを使ったコードのデプロイ
mocloudに戻り、アプリケーションの詳細のコードタブを開きます。
「GitHubに接続」ボタンをクリックします。
githubを使ったコードのデプロイ
するとGitHubのページにジャンプします。
githubにログインしていない場合は、ログインを求められます。
githubを使ったコードのデプロイ
mocloudがGitHubにアクセスする権限を与えるかどうか聞かれますので、
「Authorize application」をクリックし、権限を与えます。
githubを使ったコードのデプロイ
自動でmocloudに戻ってくると、githubのリポジトリを選択できるようになっています。
githubを使ったコードのデプロイ
先ほど作成したリポジトリ(今回はmocloud-demo-php)を選択します。
ブランチはmasterを指定し、「自動デプロイを可能にする」にチェックが入っていることを確認して、「接続する」をクリックします。
githubを使ったコードのデプロイ接続に成功すると、githubの情報が表示されます。
これでコードをデプロイする準備が整いました!!
gitリポジトリいコードをpushすると自動でmocloud上のアプリケーションにデプロイされます。
githubを使ったコードのデプロイ
### githubからコードをローカルにコピー(clone)
$ git clone http://github.com/xxxx/mocloud-demo-php
### index.phpを作成しリポジトリにpush
$ cd mocloud-demo-php $ echo “Hello world” > index.php $ git add index.php $ git commit -m “add new index file” $ git push origin master
実際にやってみましょう!
次のような操作でコンソールからコードをgithubにpushしてみます。
githubを使ったコードのデプロイ
pushされると同時にコードのデプロイが始まります。
しばらくしてからアプリケーションのURLにアクセスするとサイトが更新されていることが確認できます。
githubを使ったコードのデプロイデプロイが動作しているかを確認するには、まずアクティビティを見てみます。
すると、GitHubのpushを受け取り、すべてのインスタンスにコードをデプロイを始めたことが確認できました。
githubを使ったコードのデプロイ
次にログタブから、インスタンスのmoDaemonのログを確認します。
よく見ていくと、変更を検知してgithubからコードをpullしていることがわかります。
githubを使ったコードのデプロイ
さらにログを見ていくと、新しいコードを使ってgreen containerを作成
し、作成完了後既存のblue containerとgreen containerを差し替え、blue
containerを削除していることがわかります。
参考資料
• mocloud日本語ドキュメント→https://mocloud.io/documentation_jp/overview/features
• moCloudでHubotを動かしてSlack上で遊ぼう →http://yoshidashingo.hatenablog.com/entry/2015/12/15/105841
• moCloud上のPHPからSendGridを使ってメール送信 →http://takachan.hatenablog.jp/entry/2015/12/22/144820
• moCloud を使って Slack のクローン Mattermost を動かしてみた→http://uchimanajet7.hatenablog.com/entry/2015/12/23/224210
• moCloudでProcfileを使ってNode.jsアプリを動かす→ http://yoshidashingo.hatenablog.com/entry/2016/01/06/200919
Thank you.
The next layer of cloud technology is application lifecycle management.