43
www.mobingi.com Cloud Automation Softwares

mocloud.io ハンズオン サインアップから初めてのスタック作成まで

Embed Size (px)

Citation preview

Page 1: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

www.mobingi.com

Cloud Automation Softwares

Page 2: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

mocloud.io ハンズオン

サインアップから初めてのスタック作成まで

Page 3: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

本日のアジェンダ

• mocloud.ioへのサインアップ

• PHPスタックの作成

• githubを使ったコードのデプロイ

Page 4: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

Cloud Automation Softwares

mocloud.ioへのサインアップ

Page 5: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

mocloud.ioにサインアップする

mocloudのウェブサイト( https://mocloud.io/jp/ )にアクセスします。

右上の「サインアップ」をクリックします。

Page 6: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

mocloud.ioへのサインアップ

「メールアドレス」と「パスワード」を入力して「サインアップ」ボタンをクリックします。

Page 7: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

mocloud.ioへのサインアップ

仮登録が完了し、確認用のメールが入力したメールアドレス宛てに送信されます。

Page 8: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

mocloud.ioへのサインアップ

以下のようなメールが届いたら、「Click here to verify your email」をクリックし、本登録を完了します。

Page 9: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

mocloud.ioへのサインアップ

おめでとうございます!これでサインアップが完了です!

すぐにmocloud.ioをご利用開始いただけます。

Page 10: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

Cloud Automation Softwares

PHPスタックの作成

Page 11: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

PHPスタックの作成

それでは早速PHPアプリケーションを実行するスタックを作成してみましょう。左メニューの「アプリケーションの作成」をクリックします。

Page 12: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

PHPスタックの作成アプリケーション情報を設定します。アプリケーション名(オプション)、サブドメイン(オプション)、リージョン、インスタンスタイプを入力・選択します。アプリケーション名とサブドメインを省略した場合、適当な名前が自動的に設定されます。アプリケーション名は後から変更可能です。

Page 13: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

PHPスタックの作成

シングルスタック:

  シングルサーバーのみローンチされます。

ロードバランス機能付スタック:

   スタックは自動スケール機能を管理するため、ロードバランサーや

  その他の必要なネットワークコンポーネントと共にローンチされます。   自動スケールの際の最小・最大インスタンス数を設定できます。

自動スケール機能について有料プランに登録いただくと、アーキテクチャを選択できるようになり、自動スケール機能をご利用いただけます。選択できるアーキテクチャは次の2つです。

Page 14: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

PHPスタックの作成

次に適当なイメージを選択し環境設定を行いましょう。

今回は右上のPHP Stack (Ubuntu 14.04, php 5.6, Nginx)を選択します。

Page 15: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

PHPスタックの作成PHP Stack (Ubuntu 14.04, php 5.6, Nginx)を選択するとExtra PHP

Configurationの設定画面が表示されますが、何も変更せず、「実行」をクリックします。

Page 16: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

PHPスタックの作成今回は使用しませんが、Docker Hubに登録されているイメージを利用

することもできます。自分で作成したDockerイメージをDocker Hubに登録することで、オリジナルのコンテナを利用することもできます。

moCloud用のDockerイメージを構築する方法についてはドキュメント

(http://bit.ly/mocloud-custom-docker)をご覧下さい。

Page 17: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

PHPスタックの作成

有料プランに登録いただくと、Multi-AZ構成でマスター/スレーブ方式を

サポートするMySQLとPostgreSQLをご利用可能になります。

スレーブDBは1~5台まで設定可能で、運用中でもダウンタイムなしでい

つでも追加・削除することが可能です。スレーブDBの負荷分散を行う

ロードバランサーも自動で作成され、DBのエンドポイントが用意され

ます。アプリケーションの設定でDBの接続先をエンドポイントにする

だけで、どのDBに接続するかを意識することなしに、負荷分散された

DBをご利用いただけます。今回はDBの選択はしません。

Page 18: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

PHPスタックの作成

オプションとして、インスタンスにアタッチする複数のSSH公開鍵の登録が可能です。普段使用している鍵を使ってサーバーにログインすることができます。 公開鍵の登録はサーバーのローンチ後でも可能です。 今回は鍵の登録はしません。

Page 19: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

PHPスタックの作成

これで準備完了です!一番下にある「アプリケーションの作成」を

クリックして、moCloudでアプリケーションを作成しましょう!

Page 20: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

PHPスタックの作成スタックの作成が終わるまで少し時間がかかります。 左メニューの「既存のアプリケーション」から状態を確認できます。

「初期化中…」が「実行中」に変わったら作成完了です!

Page 21: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

PHPスタックの作成一覧からアプリケーション名をクリックすると詳細ページ移動します。

リソースタブでは「アプリケーションのURL」「ご利用料金」「実行中のインスタンスの情報」を確認できます。

アプリケーションのURLをクリックすると実際に稼働しているアプリケーションを開きます。

Page 22: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

PHPスタックの作成

アプリケーションのURLをクリックすると次のようなページが開きます。

Mobingiがデフォルトで用意したPHPアプリケーションのページです。

Page 23: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

PHPスタックの作成

コードタブではアプリケーションとGitHubの接続を行い、デプロイを可能にする設定を行えます。こちらは次の章で実際に設定してみます。

Page 24: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

PHPスタックの作成

アクティビティタブではこのスタックで行われたアクティビティを確認できます。

Page 25: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

PHPスタックの作成

ログタブでは、インスタンス毎の詳細なログを確認できます。

Page 26: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

PHPスタックの作成

ログタブでは、インスタンス毎の詳細なログを確認できます。

Page 27: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

Cloud Automation Softwares

githubを使ったコードのデプロイ

Page 28: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

githubを使ったコードのデプロイ

githubで今回のアプリケーション用のレポジトリを作成します。

(githubアカウントをお持ちでない場合は、事前に作成してください。)

github.comにアクセスし、右上の「New repository」をクリックします。

Page 29: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

githubを使ったコードのデプロイ

必要な情報を入力しリポジトリを作成します。

Page 30: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

githubを使ったコードのデプロイ

この例ではmocloud-demo-phpと言うレポジトリを作成しました。

Page 31: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

githubを使ったコードのデプロイ

mocloudに戻り、アプリケーションの詳細のコードタブを開きます。

「GitHubに接続」ボタンをクリックします。

Page 32: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

githubを使ったコードのデプロイ

するとGitHubのページにジャンプします。

githubにログインしていない場合は、ログインを求められます。

Page 33: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

githubを使ったコードのデプロイ

mocloudがGitHubにアクセスする権限を与えるかどうか聞かれますので、

「Authorize application」をクリックし、権限を与えます。

Page 34: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

githubを使ったコードのデプロイ

自動でmocloudに戻ってくると、githubのリポジトリを選択できるようになっています。

Page 35: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

githubを使ったコードのデプロイ

先ほど作成したリポジトリ(今回はmocloud-demo-php)を選択します。

ブランチはmasterを指定し、「自動デプロイを可能にする」にチェックが入っていることを確認して、「接続する」をクリックします。

Page 36: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

githubを使ったコードのデプロイ接続に成功すると、githubの情報が表示されます。

これでコードをデプロイする準備が整いました!!

gitリポジトリいコードをpushすると自動でmocloud上のアプリケーションにデプロイされます。

Page 37: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

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してみます。

Page 38: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

githubを使ったコードのデプロイ

pushされると同時にコードのデプロイが始まります。

しばらくしてからアプリケーションのURLにアクセスするとサイトが更新されていることが確認できます。

Page 39: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

githubを使ったコードのデプロイデプロイが動作しているかを確認するには、まずアクティビティを見てみます。

すると、GitHubのpushを受け取り、すべてのインスタンスにコードをデプロイを始めたことが確認できました。

Page 40: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

githubを使ったコードのデプロイ

次にログタブから、インスタンスのmoDaemonのログを確認します。

よく見ていくと、変更を検知してgithubからコードをpullしていることがわかります。

Page 41: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

githubを使ったコードのデプロイ

さらにログを見ていくと、新しいコードを使ってgreen containerを作成

し、作成完了後既存のblue containerとgreen containerを差し替え、blue

containerを削除していることがわかります。

Page 42: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

参考資料

• 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

Page 43: mocloud.io ハンズオン サインアップから初めてのスタック作成まで

Thank you.

The next layer of cloud technology is application lifecycle management.