どうも、吉田真吾(@yoshidashingo)です。
ワタシAWSチョットデキル
ので色々AWSで組めばいいんですけど、何から何まで手組みするのはいやだなー面倒くさいなーというのが本心なんですね。ということでサクッと使えるPaaSって最高ですよね。ということで最近触ってるmobingiのPaaS「moCloud PaaS」を試してみます。
mobingiとは
- 2015年から始まったスタートアップ
- 製品・サービスは以下の2つ
- Mobingi for AWS
- AWS上に素早くスタックを構築できるSaaS事業
- 自分でインフラ(AWSアカウント)は用意する必要がある
- 後述するmocloud.ioの自前インフラ版といった感じに見える
- moCloud PaaS (mocloud.io)
- GitHubなどと連携してコードを素早く展開できるPaaSサービス、インフラは不要
- 無料試用枠はマルチコンテナ、有料版はいずれもインスタンス占有(EC2が別という意味で)
- Docker Hubに登録されているDocker Imageを使ってインフラが提供されるため、事前にImageを登録しておけば選択が可能。
- 構築されたインフラにGitHub (かその他の git) からコードをデプロイ可能(リポジトリ、ブランチまで指定可能)
- Mobingi for AWS
moCloud PaaS を使う
ユーザー登録
- https://mocloud.io にアクセスして
Sign up
からユーザー登録をする。 - ダッシュボードにログインする。
無料試用枠
- 無料試用枠は「512MBメモリの共有インスタンス上でのマルチコンテナ配備」「常に1コンテナ」「3日間(72hrs)でターミネートされる」が制約条件となっている
3-Days-Free Instance
という種類のサーバー。 - 上手い使い方によっては常に無料試用枠の中だけで回すことも可能かも?
GitHubとの連携
登録したら、初めてのアプリをデプロイする際にコードのリポジトリとの連携を行う。(後述)
アプリケーションのデプロイ
1. Appの作成
アプリケーション環境の作成のために Create New App
を選択し、アプリケーション名、ドメイン名、リージョン、サーバータイプ(有料版はさらにAuto Scaling設定)、Docker Imageを選択して「Create Application」をクリックしアプリケーション環境を作成します。
コンテナにSSHしたい場合はあらかじめ設定画面でSSH用の公開鍵を登録しておけばここでオプションで選択可能になります。
2. コードのデプロイ
アプリケーション環境ができたら、アプリケーション画面に遷移し、「Deploy Code」欄で、デプロイ元のリポジトリを選択します。初めての場合はGitHub(あるいはその他のgit)との連携を促されるので認証しましょう。
- リポジトリの種類(Public/Private)を選択する
- リポジトリ名を選択
- ブランチを選択
- リポジトリにpushされたら自動的にデプロイするかどうか(Enable Auto Deploy)選択する
- 「Connect Now」でデプロイ開始
以上、これだけでアプリケーション実行環境が出来上がりです。
その他
- GitHubの対象ブランチにpushされると自動的にコードがデプロイされるタイミングで、インスタンスの中で別のDockerコンテナが起動し、デプロイ後に内部でポートマッピングがSwapされることでBlue-Greenデプロイされます。
moCloud PaaS まとめ
- Docker Hubに登録するDockerイメージを好きなようにいじってアプリケーション実行環境にできる
- GitHubの特定のブランチからデプロイできるので、GitHub Flowに則って開発するだけで、開発環境/本番環境それぞれの実行環境に常に最新のコードが展開されている状態になる
以上、moCloud PaaSの簡単な紹介でした。