Twitter Facebook github

Elastic Beanstalk にEB CLIから簡単デプロイ

ごぶさたです。
今趣味で作っているプロダクトのテスト環境を、AWS Elastic Beanstakで実装してみたので備忘録をば。

Beanstalk でのデプロイメント

AWS Elastic Beanstalk (以下EB) で構築した環境へデプロイするには、ソースコード一式をzipに固めたソースバンドルファイルを作成し、マネジメントコンソール等からアップロードします。
この方法ではデプロイの度に手作業でzipアーカイブを作成しなくてはならず、CI環境を構築した自動化を行わない限り、毎回のデプロイに待ち時間が発生してしまいます。

もっと簡単にデプロイするために、今回は gitとEB CLIを使ったデプロイメントを紹介します。

gitを使ったデプロイといえば、SalesforceのHeroku等もPaaSとして有名なのですが、まさにソースバンドルのバージョン管理等も似た感覚で利用できます。Herokuと違い、直接インスタンスへのSSHも可能なので何か問題が発生したときも簡単に対応できます。

EB CLI をインストール

まずはAWSがリリースしている、EB用のコマンドラインツールをインストールします。
python + pip を用いてインストールするので、入っていない方は事前にインストールしてください。

pipが使えるようになれば、 awsebcli パッケージをインストールします。

eb コマンドが使えるかテストします。

EB CLIの設定

コンソールで、デプロイ対象のコードのルートディレクトリへ移動します。

gitリポジトリの確認

今回はgitデプロイの構成なので、EBを設定する前にgitの管理対象になっているか確認してください。
また、現在のブランチがEB環境と紐付くため、デプロイ対象のブランチ(ここではmaster)を事前にチェックアウトしてください。

もし Not a git repository.. と表示された場合はディレクトリが間違っているか、gitが構成されていません。
適宜 git init コマンドでリポジトリを作ってください。

EB 環境の構成

次のコマンドで、既存のEB環境とリンクさせます。
ここではAWSに作られているEB環境の一覧から選択しますので、事前にAWSのマネジメントコンソールなどからアプリケーションと環境を1つずつ設定、起動しておいてください。

なお、ここで入力した認証情報は、awsebcliやaws-cliなどで一度でも入力していると聞かれなくなります。
また aws-cliで複数のプロファイルを利用している場合、 --profile name を追加することで利用できます。

設定を確認します。

EB CLI からのデプロイメント

デプロイの前に、まず変更を加えたアプリケーションコードをコミットして・・・

あとは deploy コマンドを実行するだけ

手元の環境では、およそ1分でデプロイを実施できました。

変更が反映されているか確認してみます。
openコマンドを使うことで、現在のEB環境に割り当てられているCNAMEのURLをブラウザで開けます。

以上です

コメントを残す

メールアドレスが公開されることはありません。