Article Image

AWS Elastic Beanstalkを使ってみました

開発 mochimochi

はじめまして、mochiです。

今回あるプロジェクトでAWS Elastic Beanstalkを使ってみました。 AWSではEC2のセットアップやDynamoDBに触れたことがありますが、今回初めてElastic Beanstalkを使用してみたまとめとして書ければと思います。

AWS Elastic Beanstalk とは

AWS Elastic Beanstalkは、RubyやNode.jsまたDockerなどを使用して開発されたWebアプリケーションを、ブラウザからの操作で簡単し構築したりサーバへのデプロイを行うことができるサービスです。

もちろんブラウザからだけではなく、コンソールからもElastic Beanstalkの構築やデプロイまたサーバの状態確認も行うこともできます。

Elastic Beanstalk セットアップ

まずはAWSのサイトにログインをしましたらElastic Beanstalkの画面を開きます。

今回は開発言語にRubyを使用したいので、プルダウンメニューの中からRubyを選択します。 あとはLaunch Nowボタンをポッチと押してくだい。 ここでしばし待ちアプリケーションに必要なものを自動的にインストールをしてくれサーバを立ち上がることができます。

Elastic Beanstalk デプロイについて

また、今回のデプロイの方法としてブラウザでわざわざAWSにログインして行うの面倒なためコンソールからも行えるようにしました。

AWS Elastic Beanstalk Command Line Tool 設定

コンソールからのデプロイにあたって最初にebコマンドを設定する必要があり「AWS Elastic Beanstalk Command Line Tool」サイトからzipファイルをダウンロードしてください。 (※環境はMacでの作業として進めます。)

ダウンロードが完了しましたら、zipファイルの解凍し任意の場所へ配置をしてください。 (私は/usr/localに配置しました。)

% unzip AWS-ElasticBeanstalk-CLI-2.6.4.zip
% mv AWS-ElasticBeanstalk-CLI-2.6.4 /usr/local/

配置が終わりましたら、.zshrcまたは.bash_profileファイルにパスを追記してください。

% echo 'export PATH="$PATH:/usr/local/AWS-ElasticBeanstalk-CLI-2.6.4/eb/macosx/python2.7/"' >> ~/.zshrc

ebコマンドは設定は以上です。

確認で「eb –version」を入力しバージョンを表示してみてください。

% eb --version
AWS Elastic Beanstalk Command Line Interface v2.6.4

Gitリポジトリ 設定

デプロイを行うにあたりGitリポジトリに対してアプリケーションの設定も行う必要があります。

先ほどダウンロードしたファイル内に設定用のスクリプト(AWSDevTools-RepositorySetup.sh)が用意されているので、

これをデプロイ対象のリポジトリで実行してください。

このスクリプトを実行することによってGitクライアントの拡張設定が行われます。

% ls /usr/local/AWS-ElasticBeanstalk-CLI-2.6.4/AWSDevTools/Linux/
AWSDevTools-RepositorySetup.sh* scripts/
% /usr/local/AWS-ElasticBeanstalk-CLI-2.6.4/AWSDevTools/Linux/AWSDevTools-RepositorySetup.sh

実行しましたら、続いてElastic Beanstalkの環境設定を行います。

% git aws.config
AWS Access Key: < aws Access Keyを入力 >
AWS Secret Key: < AWS Secret Keyを入力 >
AWS Region [default to us-east-1]: < リージョンを入力 >
AWS Elastic Beanstalk Application: < アプリケーション名を入力 >
AWS Elastic Beanstalk Environment: < 環境名を入力 >

環境設定の入力が無事終わりましたら、

gitリポジトリ内に .elasticbeanstalkファルダとその中に環境情報のconfig作成されます。

% cat .elasticbeanstalk/config
[global]
ApplicationName=< アプリケーション名 >
DevToolsEndpoint=git.elasticbeanstalk.< リージョン名 >.amazonaws.com
EnvironmentName=< 環境名 >
Region=< リージョン名 >

またホームディレクトリにも .elasticbeanstalkファルダとaws_credential_fileが作られます。

% cat ~/.elasticbeanstalk/aws_credential_file
AWSAccessKeyId=< AWS Access Key >
AWSSecretKey=< AWS Secret Key >

ここまできたらすぐにでもデプロイを行いたいところですが、

pythonのbotoモジュールが必要なためインストールを行ってください。

% sudo easy_install pip
% sudo pip install boto

インストールが終わりましたら。 デプロイを行います。

% git aws.push

お疲れ様です。 上記のような画面が表示されましたら無事デプロイが完了しました。

Tags: