どうやってデプロイすんのかなと思ってたんだけど、どうやら Git を使用するらしい。「Git を知らないのが許されるのって高校生までだよねー」とか言われそうだけど、Git 使ったことないぞ……。
とりあえず、Windows 7 環境で試してみた。(Windows XP Professional SP3 で試したらうまく行かなかったよ……。)
Getting Started Using AWS Elastic Beanstalk > Get Set Up > AWS DevTools のところに、Windows は次のような手順でやってねって書いてあった。
- 必要なソフトウェアのインストール
- AWS DevTools のダウンロード
- セットアップスクリプトの実行
- Git リポジトリディレクトリの作成
- リポジトリセットアップスクリプトの実行
1. 必要なソフトウェアのインストール
必要なソフトウェアのインストールということで、次の2つをインストールした。とりあえず、git コマンドのパスを通すところ(画像参照)以外はデフォルトインストールだね。
- Git 1.7.9 - Git-1.7.9-preview20120201.exe (http://git-scm.com/)
2. AWS DevTools のダウンロード
AWS Elastic Beanstalk Command Line Tool をダウンロードする。ダウンロードしたら、ZIP ファイルを解凍する。
3. セットアップスクリプトの実行
解凍したディレクトリ内の elasticbeanstalk-cli¥AWSDevTools¥Windows¥AWSDevTools-OneTimeSetup.bat をダブルクリックして実行する。
4. Git リポジトリディレクトリの作成
デスクトップにある Git Bash アイコンをダブルクリックして Shell を起動する。下記のコマンドをホームディレクトリで実行する。
$ mkdir sample $ cd sample $ git init .
5. リポジトリセットアップスクリプトの実行
解凍したディレクトリ内の elasticbeanstalk-cli¥AWSDevTools¥Windows¥AWSDevTools-RepositorySetup.bat を sample ディレクトリにコピーし、ダブルクリックして実行する。
ここまでで、AWS DevTools の設定は完了した。
早速、サンプルの PHP ファイルをデプロイしてみよう。
作成した sample ディレクトリで下記のような感じで作業し、サンプルとなる PHP ファイルを作成した。(Hello, World と表示するだけのサンプルw)すべてのコマンドは、Git Bash から実行した。
$ vim index.php
$ git add .
$ git commit -m "initial check-in"
次に、AWS Management Console > AWS Elastic Beanstalk > Create New Applicationで適当なアプリケーションを作成する。僕は、Hello というアプリケーションを作成した。環境は HelloEnv にしといた。
その内容で、下記コマンドを実行し、デプロイの設定をする。
$ git aws.config
AWS Access Key: (アクセスキーを入力する。)
AWS Secret Key: (シークレットキーを入力する。)
AWS Region [default to us-east-1]: (デフォルトのまま Enter を入力する。)
AWS Host [default to git.elasticbeanstalk.us-east-1.amazonaws.com]: (デフォルトのまま Enter を入力する。)
AWS Elastic Beanstalk Application: Hello
AWS Elastic Beanstalk Environment: HelloEnv
最後に、下記コマンドでデプロイ!
$ git aws.push
そして、下記の URL をブラウザで開いて実行されていることを確認する。
http://(環境の名前).elasticbeanstalk.com/index.php
環境構築には手間取ったけど、慣れてしまえば効率的に開発環境も本番環境も作成できるね。シンプルな Web アプリケーションだったら、サーバーエンジニアの仕事はなくなっていくな。AWS がわかるエンジニアが居ればね。
参考文献:
AWS Developers Guide Elastic Beanstalk
追記(2012年3月22日):
ELB のヘルスチェックを sample/index.php に設定してやらないとダメみたい。
追記(2012年4月19日):
Git を理解してなかったためにいろいろと間違ってたので修正。ELB のヘルスチェックも index.php になってれば大丈夫。
0 件のコメント:
コメントを投稿