メニュー
AWS Elastic Beanstalk
開発者ガイド (API Version 2010-12-01)

eb 入門

注記

EB CLI およびそのドキュメントのこのバージョンは、バージョン 3 に置き換えられました。バージョン 3 には異なるコマンドがあり、バージョン 2 と後方互換性がありません。新しいバージョンの詳細については、「Elastic Beanstalk コマンドラインインターフェイス(EB CLI)」を参照してください。

eb はコマンドラインインターフェイス (CLI) ツールであり、一連の質問を表示し、それに対する回答を使用して、Elastic Beanstalk アプリケーションのデプロイと管理を行います。ここでは、eb を使用したサンプルアプリケーションの起動、表示、更新、削除という一通りのチュートリアルについて説明します。

このチュートリアルを完了するには、AWS サンプルコードとライブラリウェブサイトでコマンドラインツールをダウンロードする必要があります。より高度なシナリオの CLI の詳細なリファレンスについては、「運用」を参照してください。設定方法については、「準備作業」を参照してください。

ステップ 1: Git リポジトリの初期化

eb は Git で使用できるコマンドラインインターフェイス(CLI)で、アプリケーションを迅速に、より簡単にデプロイすることができます。eb は、Elastic Beanstalk コマンドラインツールパッケージの一部として使用できます。以下の手順で、eb をインストールして、Git リポジトリを初期化します。

eb と前提条件のソフトウェアをインストールして Git リポジトリを初期化するには

  1. 次に示すソフトウェアをローカルコンピュータにインストールします。

    1. Linux/Unix/Mac

      • AWS サンプルコードとライブラリウェブサイトで、Elastic Beanstalk コマンドラインツールパッケージをダウンロードして解凍します。

      • Git 1.6.6 以降Git をダウンロードするには、http://git-scm.com/ にアクセスしてください。

      • Python 2.7 または 3.0。

    2. Windows

      • AWS サンプルコードとライブラリウェブサイトで、Elastic Beanstalk コマンドラインツールパッケージをダウンロードして解凍します。

      • Git 1.6.6 以降Git をダウンロードするには、http://git-scm.com/ にアクセスしてください。

      • PowerShell 2.0.

        注記

        Windows 7 および Windows Server 2008 R2 には PowerShell 2.0 が付属しています。それより前のバージョンの Windows を使用している場合は、PowerShell 2.0 をダウンロードしてください。詳細については、http://technet.microsoft.com/ja-jp/scriptcenter/dd742419.aspx を参照してください。

  2. Git リポジトリを初期化します。

    git init .

ステップ 2: Elastic Beanstalk の設定

アプリケーションをデプロイするには、Elastic Beanstalk に次の情報が必要です。

  • AWS アクセスキー ID

  • AWS シークレットキー

  • サービスリージョン

  • アプリケーション名

  • 環境名

  • ソリューションスタック

init コマンドを使用するとき、Elastic Beanstalk から上記の情報の入力が求められます。利用可能なデフォルト値や現在の設定をそのまま使用する場合は、Enter を押します。

eb を使用する前に、PATH を eb の場所に設定します。次の表は、Linux/UNIX と Windows の例を示します。

Linux および UNIX の場合 Windows の場合
$ export PATH=$PATH:<path to unzipped eb CLI package>/eb/linux/python2.7/

Python 3.0 を使用している場合、パスには python2.7 ではなく python3 が含められます。

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

Elastic Beanstalk を設定するには

注記

EB CLI により、認証情報が credentials というファイル名で、ユーザーディレクトリの .aws フォルダーに保存されます。

  1. ローカルリポジトリを作成したディレクトリから、次のコマンドを入力します。

    eb init
  2. アクセスキー ID の入力を求められたら、アクセスキー ID を入力します。アクセスキー ID の取得方法については、「How Do I Get Security Credentials?」(AWS General Reference) を参照してください。

    Enter your AWS Access Key ID (current value is "AKIAIOSFODNN7EXAMPLE"): 
  3. シークレットアクセスキーの入力を求められたら、シークレットアクセスキーを入力します。シークレットアクセスキーの取得方法については、「How Do I Get Security Credentials?」(AWS General Reference) を参照してください。

    Enter your AWS Secret Access Key (current value is "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"): 
  4. Elastic Beanstalk リージョンを要求されたら、リージョンの番号を入力します。この製品のリージョンについては、『Amazon Web Services General Reference』のリージョンとエンドポイントのページを参照してください。この例では、[US West (Oregon)] を使用します。

  5. Elastic Beanstalk アプリケーション名の入力を求められたら、アプリケーション名を入力します。アプリケーション名がまだ設定されていない場合、Elastic Beanstalk により現在のディレクトリ名に基づいてアプリケーション名が生成されます。この例では、HelloWorld を使用します。

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

    注記

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

  6. Elastic Beanstalk の環境名の入力を求められたら、環境の名前を入力してください。Elastic Beanstalk は、アプリケーション名に基づいて環境名を自動的に作成します。デフォルトを使用する場合は、Enter キーを押します。

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

    注記

    アプリケーション名にスペースが含まれる場合、環境名にはスペースが含まれないようにしてください。

  7. 選択を求められたら、環境枠を選択します。環境枠の詳細については、「アーキテクチャの概要」を参照してください。この例では、1 を使用します。

    Available environment tiers are:
    1) WebServer::Standard::1.0
    2) Worker::SQS/HTTP::1.0
  8. ソリューションスタックを要求された場合は、使用するソリューションスタックの番号を入力します。ソリューションスタックの詳細については、「Elastic Beanstalk でサポートされているプラットフォーム」を参照してください。この例では、64bit Amazon Linux running PHP 5.4 を使用します。

  9. 選択を求められたら、環境タイプを選択します。この例では 2 を使用します。

    Available environment types are: 
    1) LoadBalanced
    2) SingleInstance
  10. Amazon RDS DB インスタンスの作成を求められたら、「y」または「n」を入力します。Amazon RDS の使用の詳細については、「Amazon RDS で Elastic Beanstalk を使用する」を参照してください。この例では、y と入力します。

    Create an Amazon RDS DB Instance? [y/n]:
  11. 最初から、またはスナップショットからデータベースを作成するよう求められたら、いずれかのタイプを選択します。この例では、[No snapshot] を選択します。

  12. RDS ユーザーマスターパスワードの入力を求められたら、8~16 文字の印刷可能な ASCII 文字(/、\、@ は除く)を含むパスワードを入力します。

    Enter an Amazon RDS DB master password: 
    Retype password to confirm: 
  13. Amazon RDS DB インスタンスを削除した場合、スナップショットの作成を求められたら、「y」または「n」と入力します。この例では、n と入力します。n と入力すると、RDS DB インスタンスは削除され、環境を終了するとデータが失われます。

    デフォルトで、eb は Amazon RDS に以下のデフォルト値を設定します。

    • Database engine – MySQL

    • Default version: – 5.5

    • Database name: – ebdb

    • Allocated storage – 5 GB

    • Instance class – db.t1.micro

    • Deletion policy – delete

    • Master username – ebroot

  14. インスタンスプロファイル名の入力を求められたら、デフォルトのインスタンスプロファイルを作成するか、既存のインスタンスプロファイルを使用できます。インスタンスプロファイルによって、IAM ユーザーと AWS サービスは、一時的なセキュリティ認証情報にアクセスして AWS API を呼び出すことができるようになります。インスタンスプロファイルを使用すると、EC2 インスタンスに長期的なセキュリティ認証情報を保存する必要がなくなります。インスタンスプロファイルの詳細については、「サービスロール、インスタンスプロファイル、ユーザーポリシー」を参照してください。この例では、[Create a default instance profile] を使用します。

    AWS 認証情報ファイルが正常に更新されたことを示す確認が表示されます。

Elastic Beanstalk を設定すると、サンプルアプリケーションをデプロイできるようになります。

Elastic Beanstalk の設定を更新する場合は、もう一度 init コマンドを使用します。プロンプトが表示されたら、設定オプションを更新できます。前の設定を維持する場合は、Enter キーを押します。Amazon RDS DB 設定を更新する場合、.elasticbeanstalk ディレクトリの optionsettings ファイルを更新してから、eb update コマンドを使用して Elastic Beanstalk 環境を更新します。

注記

複数のディレクトリを eb で使用できるようにセットアップできます(各ディレクトリは独自の Elastic Beanstalk 設定を持ちます)。そのためには、上記の 2 つのステップをディレクトリごとに繰り返します。最初に Git リポジトリを初期化し、次に init を使用して eb を設定します。

ステップ 3: アプリケーションの作成

次に、サンプルアプリケーションを作成してデプロイする必要があります。この手順では、用意されているサンプルアプリケーションを使用します。Elastic Beanstalk は、前のステップで指定した設定情報を使って以下を実行します。

  • 指定したアプリケーション名を使用してアプリケーションを作成します。

  • 指定した環境名を使用して、アプリケーションをホストする AWS リソースをプロビジョニングする環境を起動します。

  • 新しく作成した環境にアプリケーションをデプロイします。

start コマンドを使用して、サンプルアプリケーションを作成してデプロイします。

アプリケーションを作成するには

  • ローカルリポジトリを作成したディレクトリから、次のコマンドを入力します。

    eb start

このプロセスが完了するには数分間かかる場合があります。処理中、Elastic Beanstalk によりステータスが更新されます。ステータス更新のポーリングは、Ctrl+C キーを押すことでいつでも停止できます。環境のステータスが緑になると、Elastic Beanstalk はアプリケーションの URL を出力します。

ステップ 4: アプリケーションの表示

前のステップでは、アプリケーションを作成し、それを Elastic Beanstalk にデプロイしました。環境の準備ができてステータスが緑色で表示されている場合、Elastic Beanstalk はアプリケーションを表示するための URL を提供します。このステップでは、環境のステータスを調べて緑色に設定されていることを確認した後、URL をコピーして貼り付けてアプリケーションを表示します。

status コマンドを使用して環境のステータスを確認した後、URL を使用してアプリケーションを表示します。

アプリケーションを表示するには

  1. ローカルリポジトリを作成したディレクトリから、次のコマンドを入力します。

    eb status --verbose

    Elastic Beanstalk に環境のステータスが表示されます。環境が緑色に設定されている場合、Elastic Beanstalk はアプリケーションの URL を表示します。Amazon RDS DB インスタンスを環境に関連付けている場合、Amazon RDS DB の情報が表示されます。

  2. URL をコピーしてウェブブラウザに貼り付け、アプリケーションを表示します。

ステップ 5: アプリケーションの更新

サンプルアプリケーションをデプロイしたら、作成したアプリケーションでサンプルアプリケーションを更新できます。このステップでは、簡単な HelloWorld アプリケーションでサンプル PHP アプリケーションを更新します。

サンプルアプリケーションを更新するには

  1. "Hello World" と表示するシンプルな PHP ファイルを作成し、そのファイルに index.php という名前を付けます。

    <html>
      <head>
        <title>PHP Test</title>
      </head>
      <body>
        <?php echo '<p>Hello World</p>'; ?> 
      </body>
    </html>

    次に、新しいプログラムをローカル Git リポジトリに追加し、変更をコミットします。

    git add index.php
    git commit -m "initial check-in"

    注記

    Git コマンドの詳細については、「Git – Fast Version Control System」を参照してください。

  2. Elastic Beanstalk にデプロイします。

    eb push
  3. 更新されたアプリケーションを表示します。「ステップ 4: アプリケーションの表示」と同様に、同じ URL をコピーしてウェブブラウザに貼り付けます。

ステップ 6: クリーンアップ

アプリケーションを実行したくない場合は、環境を終了し、アプリケーションを削除してクリーンアップできます。

環境を終了するには stop コマンドを、アプリケーションを削除するには delete コマンドを使用します。

環境を終了するには、アプリケーションを削除できます。

  1. ローカルリポジトリを作成したディレクトリから、次のコマンドを入力します。

    eb stop

    このプロセスには数分かかることがあります。環境が正常に終了すると、Elastic Beanstalk にメッセージが表示されます。

    注記

    環境に Amazon RDS DB インスタンスをアタッチした場合は、Amazon RDS DB も削除され、データは失われます。データを保存するには、アプリケーションを削除する前にスナップショットを作成してください。スナップショットの作成手順については、Amazon Relational Database Service User Guide の「Creating a DB Snapshot」を参照してください。

  2. コマンドラインインターフェイスをインストールしたディレクトリで、次のコマンドを入力します。

    eb delete

    アプリケーションが正常に削除されると、Elastic Beanstalk にメッセージが表示されます。