Edited at

AWS Elastic BeanstalkへGitでデプロイする方法

More than 5 years have passed since last update.


初回のみの作業


ダウンロード

まずはAWS Elastic Beanstalk Command Line Tool(AWS-ElasticBeanstalk-CLI-2.6.0 .zip)を

http://aws.amazon.com/code/AWS-Elastic-Beanstalk/6752709412171743

からダウンロードする。

バージョンはこれとは違うかもしれないけどたぶん最新版がダウンロードされる。

ダウンロードが完了したら、解凍する。

解凍すると、中には


  • AWSDevTools

  • LICENSE.txt

  • NOTICE.txt

  • README.txt

  • api

  • eb

が入ってる。


インストール

解凍したファイルをどこかのディレクトリに配置するだけ。

理由は分からないけど、~/.aws/というディレクトリを作ってそこに配置するのが一般的みたい。


PATHを通す

vim ~/.bash_profile

を実行して~/.bash_profileを開く(無ければ作られる)。

そしてその中に、

export PATH=$PATH:~/.aws/AWS-ElasticBeanstalk-CLI-2.6.0/eb/macosx/python2.7/

と記述。

既に別の値が設定されている場合は:で右に繋げて書けば良い。

変更して保存したら、設定を反映させるために

source ~/.bash_profile

を実行。

任意のディレクトリで

eb --version

を実行して、

AWS Elastic Beanstalk Command Line Interface v2.6.0

のようにバージョン情報が表示されれば成功。


GitからElasticBeanstalkを使えるようにする

.gitディレクトリがあるディレクトリに移動して、

sh ~/.aws/AWS-ElasticBeanstalk-CLI-2.6.0/AWSDevTools/Linux/AWSDevTools-RepositorySetup.sh

を実行する。

何も変化は起きないけど、特にエラーが起こらなければたぶん大丈夫。

これで何かがセットアップされてるっぽい。

そのまま続けて、

git aws.config

を実行すると、

AWS Access Key

AWS Secret Key

AWS Region

AWS Elastic Beanstalk Application

AWS Elastic Beanstalk Environment

を順番に聞いてくるので、それぞれ答えていく。

ただし、2回目以降はAWS Access KeyとAWS Secret Keyは聞かれない。

ここでAWS Access KeyはAWSアカウント毎に発行されるもので、

https://console.aws.amazon.com/iam/home?#security_credential

から確認できる(または新しいく発行することもできる)。

ただし、AWS Secret Keyはパスワードと同じで確認する手段がない。

たぶん忘れた場合はAWS Access Keyと一緒に新しく発行するしかない。

AWS RegionはElastic Beanstalkの管理画面のURLから確認できる。

たとえば

https://console.aws.amazon.com/elasticbeanstalk/home?region=ap-northeast-1

のようになっていた場合はap-northeast-1がAWS Regionになる。

AWS Elastic Beanstalk ApplicationとAWS Elastic Beanstalk Environmentは、

まぁ自分が作ったApplicationの名前とEnvironmentの名前をそのまま入力するだけ。

全て入力すると、カレントディレクトリとホームディレクトリにそれぞれ、

.elasticbeanstalkというディレクトリが作られる。

カレントディレクトリに出来た.elasticbeanstalkの配下にはconfigというファイルが作られる:


.elasticbeanstalk/config

[global]

ApplicationName=アプリ名
DevToolsEndpoint=git.elasticbeanstalk.リジョン名.amazonaws.com
EnvironmentName=環境名
Region=リジョン名
AwsCredentialFile=aws_credential_fileへのフルパス

ホームディレクトリに出来た.elasticbeanstalkの配下にはaws_credential_fileというファイルが作られる:


~/.elasticbeanstalk/aws_credential_file

AWSAccessKeyId=アクセスキー

AWSSecretKey=シークレットキー


デプロイの度にやる作業


デプロイ

.gitのあるディレクトリで

git aws.push

を実行するだけ。