【日本語訳】RailsアプリケーションをAWS Elastic Beanstalkにデプロイ (その二)
Step 4: Create an Application
次のステップではサンプルアプリケーションを作成しデプロイします。Startコマンドを使用して行います。
・ローカルレポジトリを作成したディレクトリから以下のコマンドを入力します。
eb start
このプロセスは完了まで数分かかります。このプロセス中はステータス・アップデートを提供します。ステータス・アップデートのポーリングを止めいたい場合はCtrl+Cを押してください。環境ステータスが緑になったら、アプリケーションのURLを表示します。
Step 5: View the Application
①ローカルレポジトリを作成したディレクトリから以下のコマンドを入力します。
eb status --verbose
②URLをコピペし、ブラウザーでアプリケーションを開きます。
Step 6: Update the Application
このステップでは、[Amazon RDS]データベースを使うためにサンプルアプリケーションをアップデートします。
To update the sample application to use Rails
①eb initコマンドを走らせると、[AWS Elastic Beanstalk]は.elasticbeanstalkディレクトリを作ります。このディレクトリには環境設定データやカスタマイズされたセッティングが含まれています。このディレクトリを.gitignoreに付け加えコミットします。
git add .gitignore && git commit -m "Ignore .elasticbeanstalk from Git"
※Gitコマンドの情報はこちら:Git - Fast Version Control System.
②[AWS Elastic Beanstalk]にデプロイします。
git aws.push
③eb status --verboseコマンドで環境ステータスを確認できます。環境が緑になったら、ブラウザを更新してアップデートされたアプリケーションを見れます。
"Welcome aboard You’re riding Ruby on Rails!"ページが表示されるはずです。
次は、[Amazon RDS]を使うためにサンプルアプリケーションをアップデートします。
To update the sample application to use Amazon RDS
①[Amazon RDS]を使うためにはローカルコンピュータで、config/database.ymlをアップデートします。[AWS Elastic Beabstalk]は[Amazon RDS]のためのビルトインサポートがありますので、[Ruby]コンテイナーを起動させると[Amazon RDS DB]インスタンスを関連付けることができます。[Amazon RDS]パラメーターの値は環境変数から取得できます。
production:
adapter: mysql2
encoding: utf8
database: <%= ENV['RDS_DB_NAME'] %>
username: <%= ENV['RDS_USERNAME'] %>
password: <%= ENV['RDS_PASSWORD'] %>
host: <%= ENV['RDS_HOSTNAME'] %>
port: <%= ENV['RDS_PORT'] %>
②Gemfileにmysql2を加えます。
gem 'mysql2'
③ローカル[git]レポジトリにファイルを作り、コミットします。
git add .
git commit -m "update database"
④[AWS Elastic Beanstalk]にデプロイします。Database.ymlファイルが.gitignoreに加えられていないことを確認してください。
git aws.push
⑤eb status --verboseコマンドで環境ステータスを確認できます。環境が緑になったら、ブラウザを更新してアップデートされたアプリケーションを見れます。
ログにアクセスする方法はこちらから: Working with Logs.
Step 7: Clean Up
アプリケーションの起動を止めたいときは、Stopコマンドで環境を終了させ、deleteコマンドアプリケーションを削除させます。
①ローカルレポジトリを作ったディレクトリから以下のコマンドを入力してください。
eb stop
このプロセスは数分かかります。問題なく終了できたときは[AWS Elastic Beanstalk]からメッセージが表示されます。環境に[RDS DB]インスタンスを添付した場合は、[RDS DB]は削除されデータも消えてしまいます。データをセーブするには、アプリケーションを削除する前にsnapshotを作成します。Snapshotの作り方はこちらから:
②コマンドラインインタフェースをインストールしたディレクトリから以下のコマンドを入力してください。
eb delete
問題なく削除できたときは[AWS Elastic Beanstalk]からメッセージが表示されます。