maemaewaterの日記

エンジニア兼ゲーマーの人の日記です。PHP/Python/JavaScript/C#/C++などによるプログラムに関することを主に書いています。

DynamoDBを利用したアプリケーションをAmazon Elastic Beanstalkを利用してデプロイ

前にAMIを作成して、そこに環境を構築してからデプロイするという手順を試したのですが、設定ファイルを利用する事で可能でした。

利用方法は、index.phpなどのプログラムと同じ階層に".ebextensions"というディレクトリを作成して、作成したディレクトリにconfigファイルを追加します(ここではファイル名を"1_install.config"にしています)。次のような形で配置されます。

  • index.php
  • .ebextension/1_install.config

"1_install.config"の中身は次の通りです(PHPを利用する場合です)

files:
  "/var/app/composer.json":
    mode: "000744"
    content: |
     {
        "require":{
        "aws/aws-sdk-php": "*"
        }
     }

container_commands:
 "1-install-composer":
   command: "cd /var/app; curl -s http://getcomposer.org/installer | php"
 "2-install-dependencies":
   command: "cd /var/app; php composer.phar install"
 "3-cleanup-composer":
   command: "rm -Rf /var/app/composer.*"

(http://docs.amazonwebservices.com/ja_jp/elasticbeanstalk/latest/dg/customize-environment-resources-dynamodb.htmlを参考にしました。)

フォーマットはYAMLということで、スペースにはタブを使用することはできません。ここではスペース二つをタブのかわりに使っています。

また、index.phpはrequireが次のように変わります。

<?php
require_once '../vendor/autoload.php';
use Aws\Common\Aws;

後半は、通常と同じように書きます。

関連するページ: