AKATSUKA x HANEMAN TECH

My diary of cloud computing, Community, working strategy.

【日本語訳】RailsアプリケーションをAWS Elastic Beanstalkにデプロイ (その一)

Deploying a Rails Application to AWS Elastic Beanstalk

 

このセクションではサンプル・アプリケーションを[eb][git]を使って[AWS Elastic Beanstalk]にデプロイし、[Rails framework]を使うためにアプリケーションをアップデートする方法を教えます。この例では、[Ruby conatainer]をカスタマイズ、構成するために

コンフィグレーションファイルを使用しています。コンフィグレーションファイルについての詳しい情報:Customizing and Configuring AWS Elastic Beanstalk Environments

Ruby1.8.71.9.3[AWS Elastic Beanstalk]でテスト済みです。[Rails]は最新のバージョンを使用しています。

 

Step 1: Create Your Rails Application

[Rails]アプリケーションを作る前に、[Ruby][Rails]をインストールしてください。これについての詳細は:http://rubyonrails.org/download.

このステップではアプリケーションを作成します。最初に、[Git repository]にセットするための空の[Rails skeleton]を生成します。

rails new fooapp

cd fooapp

 

Step 2: Set Up Your Git Repository

[Eb][Git]を使ってアプリケーションをより簡単かつ早くデプロイすることを可能にする。

[Eb] CLI packageの一部として入手可能です。コマンドラインツールを使用する前に、[Git repository]をセットアップするために以下のソフトウェアをインストールする必要があります。

①以下のソフトウェアをローカルコンピュータにインストールしてください:

 a. Linux/Unix/MAC

  ・Git 1.6.6(以降もOK)[git]ダウンロードはこちらから: http://git-scm.com/.

  ・Ruby version 1.8.7(以降もOK)[Ruby]ダウンロードかこちらから:

  http://www.ruby-lang.org/en/.

 b. Windows

  ・Git 1.6.6(以降もOK)[git]ダウンロードはこちらから: http://git-scm.com/.

  ・PowerShell 2.0

   ※Windows 7Windows Server 2008 R2PowerShell 2.0がついています。この2つ以前のバージョンをお使いの場合はこちらからダウンロード:

     http://technet.microsoft.com/en-us/scriptcenter/dd742419.aspx

[Git Repository]を初期化し、変更をコミットしてください。

git init && git add -A && git commit -m "Initial commit"

 

Step 3: Configure AWS Elastic Beanstalk

[AWS Elastic Beanstalk]の環境設定には[eb],コマンドラインツールを使用します。ローカルコンピュータに[eb]をまだインストールしていない場合はこちらから:

 AWS Sample Code & Libraries

また、[eb]Linux上で動かしている場合は、Python 2.7または3.0をインストールする必要があります。

[eb]を使用する前に、パスを設定できます。以下は例です。

On Linux and UNIX

On Windows

$ export PATH=$PATH:<path to unzipped EB CLI package>/eb/linux/python2.7/

C:\> set PATH=%PATH%;<path to unzipped EB CLI package>\eb\windows\

[init]コマンドを使うと、[AWS Elastic Beanstalk]からこの入力を求められます。デフォルト値があり、使う場合はenterキーを押してください。

 

①ローカルレポジトリーを作成したディレクトリから、以下のコマンドを入力してください。

eb init

 

[AWS access key]の入力を求められたら、アクセスキーを入力してください。アクセスキーについての情報はこちらから: Access Credentials.

Enter your AWS Access Key ID (current value is "AKIAIOSFODNN7EXAMPLE"):

 

AWS secret key]の入力を求められたら、シークレットキーを入力してください。シークレットキーについての情報はこちらから: Access Credentials.

Enter your AWS Secret Access Key (current value is "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"):

 

[AWS Elastic Beanstalk]地域コードの入力を求められたら、地域コードを入力してください。リージョンコードに関してはこちらから: Regions and Endpoints

例題では[US Virginia)]を使用します。

 

[AWS Elastic Beanstalk]アプリケーション名の入力を求められたら、アプリケーション名を入力してください。[AWS Elastic Beanstalk]では、アプリケーション名がつけられていない場合、カレント・ディレクトリをベースにアプリケーション名を自動生成します。この例題では、railsappにします。

Enter an AWS Elastic Beanstalk application name (auto-generated value is "windows"): railsapp

※アプリケーション名にスペースを入れる場合は、引用符は使用しないでください。

 

[AWS Elastic Beanstalk]環境名の入力を求められたら、環境名を入力してください。[AWS Elastic Beanstalk]では、アプリケーション名をベースに環境名を自動生成します。

 このデフォルト名を使う場合はenterキーを押してください。

Enter an AWS Elastic Beanstalk environment name (current value is "railsapp-env"):

※アプリケーション名にスペースを使っている場合は、環境名にスペースは使用しないでください。

 

[solution stack]の入力を求められたら、希望の数値を入力してください。この例題では、

 32 bit Amazon Linux running Ruby 1.9.3にします。

 

[Amazon RDS DB Instance]の作成を求められたら、ynを入力してください。この例題ではyを入力します。

Create an RDS DB Instance? [y/n]:

 

[scratch]または[snapshot]からデータベースの作成を求められたら、どちらかを選択してください。この例題では[snapshot]にします。

 

[RDS user master password]の入力を求められたら、8から16文字(ASCII characters(/ @は除く))のパスワードを入力してください。

Enter an RDS DB master password: 
Retype password to confirm: 

 

[eb][Amazon RDS]に対して以下のデフォルト値をセットする。

 ・database engine – MySQL

 ・Default version – 5.5

 ・Database name – ebdb

 ・Allocated storage – 5GB

 ・Instance class – db.t1.micro

 ・Deletion policy – delete

 ・Master username – ebroot

 

[instance profile name]はデフォルト名を作成または既に存在するものを利用することができます。[instance profile]を使用することによって[IAM]ユーザー、[AWS]サービスが[AWS API calls]を作るための[temporary security credentials]へのアクセスを許可されます。[instance profile]に関しての詳しい情報はこちら:

Granting Permissions to Users and Services Using IAM Roles.

この例題ではCreate a default instance profileを使います

 

[AWS Elastic Beanstalk]の構成が完了すれば、サンプル・アプリケーションをデプロイすることができます。[AWS Elastic Beanstalk]の構成をアップデートする場合は、[init]コマンドを使います。

[.elasticbeanstalk]ディレクトリの[optionsettings]ファイルからeb updateコマンドでアップデートすることができます。

 

【その二】に続く:http://tech-haneman.hatenablog.com/entry/2013/06/07/174621