AWS Elastic Beanstalkの準備と使い方

AWS

AWS Elastic Beanstalkを使えば、簡単にサーバのデプロイが出来ます。Dockerは敷居が高くて手が出ないとか、サーバーレスやってみたいけど良くわからないとか、そういう人で、いろいろと作ったり壊したりしたい人はとても便利に使うことができます。

スケーリング(Appサーバを1台→3台のような拡張)も簡単に実現できます。

 

私は、1台サーバを立てたいのですが、何度も作ったり壊したりしたいため、Elastic Beanstalkを使っています。少し特殊な例かもしれませんが、弄りすぎて大変なときにすぐに壊して立て直しができるので、いつでもクリーンな環境を維持できるのですごく健全です。

 

EBコマンドを使うための前準備

Elastic Beanstalkコマンドであるebコマンドなどを使うためには、前準備としていろいろとインストールする必要がある。

# pipを用いてインストールするため、まずはpipを準備
sudo pip3 install --upgrade pip

# AWSのEB用CLIをインストール
pip3 install --upgrade --user awsebcli

# パスを通しておく
echo "export PATH=~/.local/bin:$PATH" >> ~/.bashrc
source ~/.bashrc

これで準備が整うので、EBコマンドを使ってデプロイしたりやりたい放題です。

 

デプロイをやってみる

# まずは初期設定
eb init

このあたりに詳しく設定値が書いてあります。
https://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/eb3-init.html

「.elasticbeanstalk」というディレクトリに「config.yml」というファイルが出来ます。
このディレクトリとファイルを用意しておけば、このコマンドは打たなくてもOKです。

私はプロジェクトファイルでは、「.elasticbeanstalk/config.yml」はgit管理していますが、複数人で別々のデプロイしたい場合はgit管理外にしておいたほうが良さそうです。

# 続いてこんな感じで初回デプロイ
eb create test_project \
--single \ # このオプションでロードバランサ不要となる。ロードバランサは料金かかるので小規模なら不要かと。
--instance_type t2.micro \
--region ap-northeast-1 \
--vpc.ec2subnets subnet-e70***ae \
--vpc.id vpc-511***36 \
--vpc.securitygroups sg-ac9***d4,sg-374***4f \
--envvars RACK_ENV=production # stagingとかに変えれば色々な環境にも対応できる。

# 初回以降は下記を使っていく
eb deploy test_project

コメント