西田 貴一

2013.05.20

Engine Yard CloudでPHP!

お久しぶりです。アライドアーキテクツ西田です。

我がアライドアーキテクツのシステムチームにも、4月から新卒で2名がジョインしてくれて日々成長している姿を見ていると自分はどうだったかな?って考えますが思い出せません。。。

さて、それはさておき今回はPaaSのEngine Yardのサービスで、つい先日正式にPHP対応の発表があったEngine Yard CloudでPHPを動かしてみたいと思います。前回はherokuでphpを動かしてみたのでherokuとの違いも書きたいと思います。


Engine YardはRubyやNode.jsをサポートしているPaaS(バックはAWSを使用しています)として知られていますが、よく似ているPaaSのherokuとの違いはいくつかあります。
①アプリケーション毎にEC2のインスタンスが割り当てられる。シングルテナント方式。
②sshでログインできる
③AWSのリージョンが選べる
特に気に入っているのは①と②で個人的にはすごくうれしいですね。
sshで入れるのでPaasでありながら、いろいろチューニングもできたりするのでフレキシブルな対応ができますね。

ちなみにEngine Yard Coudのphp環境はこのようなものになります。
デフォルトはnginxなんですね。

それでは使ってみましょう。まずはアカウント登録です
Engine YardのTOPにいってEngin Yard Cloudにサインアップを選ぶと下記画面が出て、入力するとメールが送られてメール内のURLクリックで登録完了です。

つぎにプランを選びますが、今回は500時間フリーのプランがあるのでそれを選びます。

プランを選ぶとアプリケーションの作成画面に移ります。そこでApplication LanguageをPHPに設定しgitのレポジトリURIとApplicationNameを入力しCreate Applictaionボタンをクリック

つぎに環境の設定画面になって、つくったアプリケーションの設定を行います。php_enviromentはdevelopmentにしてDatabase stackはMySQL5.5にします。Environment nameは任意のものを入れてください。

次にどういうインスタンスを使うかなどのEnvironment SetUPですが、私はSingle Instanceにしました。Stagingだと2インスタンス+LoadBalance、Productionだと3インスタンス+LoadBalanceみたいですね。External Addressのところは特にこだわりはなかったですが、Use public hostname(amazonのデフォルトです)にしました。

これでアプリの設定が完了してこんな画面が出て、しばらくするとinstanceとDatabseのところに緑のマークがつくとセットアップ完了で使えるようになります。

ここではDBのバックアップ設定やログの設定、Crontab設定、AddOnを追加したりいろいろできるようですが、ここでインスタンスにsshでログインしてデータベースの設定をするためにssh設定を行います。
sshで入るためには公開鍵が必要なので事前に作成しておきます。
作成したものを上部メニューのツール>SSH公開鍵メニューをクリックすると下のような画面が出るので、自分のアプリの環境と紐付けて登録します。

この設定が反映されると、Environment画面のApplication Instancesセクションのsshリンクを押すとターミナルが開きインスタンスにログインできます。ちなみにhttpの方はこのアプリをブラウザでチェックできるようになっています。これでMySQLの設定を行うことが可能になったのでsshログインして設定します。

次はDeployボタンでアプリをデプロイします。
(プログラムは事前にGitHubに登録してあるherokuの時に使用したものを使います。)

Deployボタンを押して、少し待つとsuccessfully deployedになるので、これで完了です。

アプリケーションを確認すると無事動きました。

AddOnもMongoDBなどメール配信などの機能が追加できます。

ということで、今回はEngine Yard Cloudで動かしてみましたが個人的には自由度は高いEngine Yard Cloudは好きですね。
IaaSだけではちょっとめんどうなこともEngine Yard Cloudを使えばPaaSのいいところとIaaSのいいところをあわせて使えるという感じでしょうか。

西田 貴一

CTOってついてますが、最近はエンジニア外の仕事が もりもりしすぎて、それをどう取り除いていこうか考えています。 個性的なアライドのエンジニア集団のことなども、みなさんにお伝えしていきたいです。

RELATION ENTRY

西田 貴一の記事一覧へ

▶︎