Elastic Beanstalk の RDS を FuelPHP から利用

Elastic Beanstalk で構築したFuelPHPの環境から、RDSのMySQLに接続する簡単なアプリを作成します

FuelPHPの詳細は以下参照。
http://fuelphp.jp/

FuelPHPはデフォルトでdevelopment環境として設定。
配下のdb.phpを編集。

前2回の環境を引き継ぎ以下のファルを編集。

Z:¥work¥fuel¥app¥config¥development¥db.php

<?php
/**
* The development database settings. These get merged with the global settings.
*/

return array(
‘default’ => array(
‘connection’  => array(
‘dsn’      => ‘mysql:host=xxxxxxxxxxxx.cbnfywkcopki.ap-northeast-1.rds.amazonaws.com;dbname=ebdb’,
‘username’ => ‘userid’,
‘password’ => ‘passwd’,
),
),
);

前回テストで作成したテーブルのデータを取得するモデルを作成。
Model_Crudを利用。

Z:¥work¥fuel¥app¥classes¥model¥test.php

<?php
class Model_Test extends ¥Model_Crud
{
protected static $_table_name  = “test”;
}

つづいてコントローラを作成。

Z:¥work¥fuel¥app¥classes¥controller¥test.php

<?php

class Controller_Test extends Controller
{

public function action_index()
{
$data = array();
$data[‘rows’] = Model_test::find_all();
return View::forge(‘test/index’,$data);
}
}

最後にViewを作成。

Z:¥work¥fuel¥app¥views¥test¥index.php

<!DOCTYPE html>
<html>
<head>
<meta charset=”utf-8″>
<title>FuelPHP AWS Beanstalk Teset</title>
</head>

<body>
<header>
<h2>FuelPHP AWS Beanstalk Teset</h2>
</header>
<div class=”container”>
<div class=”row”>
<table>
<tr><th>ID</th><th>TITLE</th><th>DETAILE</th></tr>

<?php foreach($rows as $row): ?>
<tr><td><?php echo $row[‘id’]; ?></td><td><?php echo $row[‘title’]; ?></td><td><?php echo $row[‘detail’]; ?></td></tr>
<?php endforeach; ?>

</table>
</div>
<hr/>
<footer>
<p>FuelPHP AWS Beanstalk Teset.</p>
</footer>
</div>
</body>
</html>

Gitに追加、コミットしてデプロイします。

変更を追加。

Z:¥work>git add fuel¥*

コミット。

Z:¥work>git commit -m “php test fuelphp 2”

デプロイ。

Z:¥work>git aws.push

以上で完了。
Elastic Beanstalk のURLをブラウザで参照。

http://**name***.elasticbeanstalk.com/public/index.php/test/

AWSElBe10

以上、開発としてはこのパターンの繰り返し。

Elastic Beanstalk でセキュアで、ロードバランサーでトラフィックを複数のEC2インスタンスで分散し、自動スケールアウト・インを行うサイトの開発・保守が簡単に可能。
一般的なWebサイトアプリ開発に専念するなら利用をお勧め。

但し、構成を変更して利用したい場合は面倒。
nginxへのWebサーバ変更や、その他PHPなどの細かな変更を設定し、デプロイを行う事はできるが設定の情報が少ないなどで、工数が必要。運用で試験しつつこの辺りの構成を変えたい場合などは対応工数を要確保。
カスタムAMIも調整してみたが、単純に稼働中のEC2インスタンスをAMIにして、少しだけ変更したうえで利用しても動かないトラブルに見舞われた。

基本構成から変えつつ運用するのであれば、Elastic Beanstalk に頼らず自身で構成を作成、ベースになるAMIを作成したうえで、別の手法を用いた方が良いと推測。

Elastic Beanstalk のデフォルトのEC2設定変更などについては以下参照。
http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/Welcome.html

 

広告

About Yukihito Kataoka
@ykataoka

現在コメントは受け付けていません。

%d人のブロガーが「いいね」をつけました。