あめがえるのITブログ

頑張りすぎない。ほどほどに頑張るブログ。

AWS Elastic Beanstalkの.ebextensionsについて調べてみた

.ebextensionsはElastic Beanstalkの環境の設定ができるらしいのですがそれ以上はよくわかってなかったので調べてみた。(∩´∀`)∩ < イエー

.ebextensionsとは

ウェブアプリケーションソースコードに追加することで、環境を設定し、環境に含まれるAWSリソースをカスタマイズできる。

使い方

 ・設定ファイルの拡張子は.configとしてYAMLもしくはJSON形式で作成する。
 ・設定ファイルを作成したら.extensionsというフォルダ内に配置してでデプロイする。
 ・設定ファイルが正しくフォーマットされていない場合、新しい環境の起動は失敗し、回復不可能になる。
  ※こわっ。。。(;・∀・)

.ebextensionsで設定できるリソースと詳細

設定ファイルに下記キーと値を設定することで設定が可能

◆オプション設定
option_settingsキーで環境変数の設定ができる。

WindowsLinuxサーバ

キー 詳細
packages ElasticBeanstalkがサポートしているパッケージマネージャ(yumpythonなど)を使用してアプリケーションのダウンロード、インストールができる。
groups Linux/UnixグループをEC2インスタンス上に作成できる。(Linuxサーバのみ)
users Linux/UnixユーザをEC2インスタンス上に作成できる。(Linuxサーバのみ)
Source 公開URLからアーカイブファイルをダウンロードし、EC2インスタンス上のディレクトリに解凍できる。
files EC2インスタンス上にファイルを作成できる。すでにファイルが存在する場合は既存ファイルの拡張子に.bakが付加されて保持される。
commands EC2インスタンスでコマンドが実行できる。
services インスタンスが起動されるときに開始または停止する必要のあるサービスを定義できる。
container_commands アプリケーションのソースコードに影響するコマンドを実行できる。


◆カスタムリソース
Elastic Beanstalkで作成される下記のAWSリソースに対してResourcesキーで設定ができる。

  • DynamoDB
  • CloudWatch
  • SNS
  • ELB
  • Elastic Cache
  • RDS
  • SQS


感想

実際設定しているのはこまごま入っていて大変そうな印象だったけど、一つ一つはサクッと設定できそう。
※だいたいそうか。。。