AWS
ElasticBeanstalk
EBCLI

Elastic Beanstalkで使うコマンドまとめ

この記事では、僕が現場で実際に利用しているElastic Beanstalkでよく利用するコマンドについてまとめていきます。

Elastic Beanstalkとは

EB(Elastic Beanstalk)とは、アプリケーションを実行するために必要なインフラストラクチャの構築や、アプリケーションのデプロイを簡単に行うことができるAWSのサービスです。EB を使用することによって、アプリケーションをアップロードするだけで自動的に必要な容量を予測、準備し、負荷分散、拡張、アプリケーションのモニタリングといった細かい処理を自動で行ってくれます。

EBで対応できる言語は以下の通りとなります。

  • Go
  • Java
  • PHP
  • .NET
  • Node.js
  • Python
  • Ruby

EBでよく使うコマンド一覧

僕が実際に現場でよく利用するコマンドは以下の通りです。まだそこまで難しい操作はしていません。

eb list

現在運用しているアプリケーションの一覧を表示することができます。--allオプションを指定した場合は、全てのアプリケーションを一覧表示します。

基本コマンド

eb list

全てのアプリケーションを一覧表示

eb list -a
eb list --all

インスタンスを含む全ての環境に関するより詳細な情報を表示

eb list -v
eb list --verbose

eb use

デフォルトの環境を選択することができます。eb listで環境を確認し、eb useで使用したい環境を選択するのが基本的な流れです。そのため、eb useコマンドの後には、環境名を指定する必要があります。EBにデプロイする際も、eb useで環境を選択してから実行します。

基本コマンド

eb use environment_name

環境を作成するリージョンを変更

eb use environment_name -r region_name

eb use environment_name --region region_name
  • environment_name => 任意の環境名
  • region_name => 任意のリージョン名

eb deploy

eb useで選択した環境に、ローカルのアプリケーションをデプロイします。gitがインストールされている場合、git commitされた最新のアプリケーションから.zipファイルを作成します。

基本コマンド

eb deploy

環境を指定してデプロイ

eb deploy environment_name
  • environment_name => 任意の環境名

EBで作成するバージョンに使用するラベルを指定

eb deploy -l version_label
  • version_label => 任意のラベル

アプリケーションバージョンの説明を追加

eb deploy -m "version_description"

eb deploy --message "version_description"
  • version_description => アプリケーションバージョンの説明

コマンドがタイムアウトするまでの時間(分)を指定

eb deploy --timeout minutes
  • minutes => 指定したい時間

eb ssh

Secure Shell (SSH) を利用して、環境内のEC2インスタンスに接続します。環境内で複数のインスタンスが実行されている場合、接続するインスタンスを指定するように求められます。また、exitを入力すると接続を解除することができます。

基本コマンド

eb ssh

eb environment_name
  • environment_name => 接続したい環境

コマンド実行後のインスタンス選択画面

Select an instance to ssh into
1) i-hogehogehogehoge1
2) i-hogehogehogehoge2
(default is 1): 1

...

Are you sure you want to continue connecting (yes/no)? yes

接続の解除

exit

接続するインスタンスをIDで指定

eb ssh -i

eb ssh --instance

接続するインスタンスを数値で指定

eb ssh -n

eb ssh --number

まとめ

僕がよく利用するコマンドは

  • eb list
  • eb use
  • eb deploy
  • eb ssh

でした。他にもノウハウが溜まったら随時更新していきます。