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

EB CLI の設定

installing the EB CLI 後、eb init でプロジェクトフォルダーを設定する準備が完了しました。

アプリケーションのプロジェクトディレクトリで eb init を実行して、EB CLI とプロジェクトを設定します。

次の例は、eb init という名前のプロジェクトフォルダーで eb を初めて実行するための設定手順を示します。

EB CLI プロジェクトを初期化する

  1. まず、EB CLI にはリージョンの選択がプロンプトされます。 使用したいリージョンに対応する番号を入力し、Enter を押します。

    ~/eb $ eb init
    Select a default region
    1) us-east-1 : 米国東部 (バージニア西部) 2) us-west-1 : 米国西部 (北カリフォルニア) 3) us-west-2 : 米国西部 (オレゴン) 4) eu-west-1 : 欧州 (アイルランド) 5) eu-central-1 : 欧州 (フランクフルト) 6) ap-south-1 : アジアパシフィック (ムンバイ) 7) ap-southeast-1 : アジアパシフィック (シンガポール) 8) ap-southeast-2 : アジアパシフィック (シドニー) 9) ap-northeast-1 : アジアパシフィック (東京) 10) ap-northeast-2 : アジアパシフィック (ソウル) 11) sa-east-1 : 南米 (サンパウロ) 12) cn-north-1 : 中国 (北京) 13) us-east-2 : 米国東部 (コロンバス) 14) ca-central-1 : カナダ (中部) 15) eu-west-2 : 欧州 (ロンドン)
    (default is 3): 3
  2. 次に、EB CLI がリソースを管理できるように、アクセスキーとシークレットキーを入力します。 アクセスキーは AWS Identity and Access Management マネジメントコンソールに作成されます。 キーがない場合には、アマゾン ウェブ サービス全般のリファレンス で「How Do I Get Security Credentials?」を参照してください。

    You have not yet set up your credentials or your credentials are incorrect
    You must provide your credentials.
    (aws-access-id): AKIAJOUAASEXAMPLE
    (aws-secret-key): 5ZRIrtTM4ciIAvd4EXAMPLEDtm+PiPSzpoK
  3. Elastic Beanstalk のアプリケーションは、一連のアプリケーションバージョン(ソース)、環境、および単一ウェブアプリケーションに関連付けられる保存された設定を含むリソースです。 EB CLI を使って Elastic Beanstalk にソースコードをデプロイするたびに、新しいアプリケーションバージョンが作成されてリストに追加されます。

    Select an application to use
    1) [ Create new Application ]
    (default is 1): 1
  4. デフォルトのアプリケーション名は、eb init を実行するフォルダーの名前です。 プロジェクトを示す任意の名前を入力します。

    Enter Application Name
    (default is "eb"): eb
    Application eb has been created.
  5. ウェブアプリケーションが開発された言語またはフレームワークに一致するプラットフォームを選択します。 アプリケーションの開発を始める以前の場合には、好みのプラットフォームを選択します。 サンプルアプリケーションを起動する方法が簡略に確認でき、後でいつでもこの設定を変更できます。

    Select a platform.
    1) Node.js
    2) PHP
    3) Python
    4) Ruby
    5) Tomcat
    6) IIS
    7) Docker
    8) Multi-container Docker
    9) GlassFish
    10) Go
    11) Java
    (default is 1): 1
  6. Elastic Beanstalk 環境のインスタンスに SSH キーペアを割り当てることを選択すると、トラブルシューティング時にこのインスタンスに直接接続することができます。

    Do you want to set up SSH for your instances?
    (y/n): y
  7. 既存のキーペアを選択するか、新しいキーペアを作成します。 eb init を使用して新しいキーペアを作成するには、ssh-keygen がローカルマシンにインストールされており、コマンドラインから呼び出せる必要があります。CLI は新しいキーペアを Amazon EC2 に登録して、プライベートキーをユーザーディレクトリの .ssh という名前のフォルダにローカルで保存します。

    Select a keypair.
    1) [ Create new KeyPair ]
    (default is 1): 1

EB CLI のインストールは設定が完了し、使用可能となりました。 Elastic Beanstalk 環境の作成および使用方法については、「EB CLI による Elastic Beanstalk 環境の管理」を参照してください。

.ebignore ファイルを無視する

.ebignore ファイルを使用して、プロジェクトディレクトリの特定のファイルを無視するように EB CLI に指示することができます。このファイルは、.gitignore と同様に動作します。プロジェクトディレクトリを Elastic Beanstalk にデプロイし、新しいアプリケーションバージョンを作成するとき、EB CLI は、作成するソースバンドルに、.ebignore で指定されたファイルを含めません。

.ebignore が存在しないが .gitignore がある場合、EB CLI は .gitignore に指定されたファイルを無視します。.ebignore ファイルがある場合は、EB CLI は .gitignore を読み取りません。

注記

Windows で .ebignore ファイルを追加すると、EB CLI がシンボリックリンクに従って、ソースバンドルの作成時にリンクファイルを含めます。これは既知の問題で、今後のアップデートで修正される予定です。

名前を指定されたプロファイルを使用する

名前を指定したプロファイルとして認証情報を credentials または config ファイルに保存する場合、--profile オプションを使用して明示的にプロファイルを指定できます。 たとえば、次のコマンドでは user2 プロファイルを使用して新しいアプリケーションを作成します。

$ eb init --profile user2

AWS_EB_PROFILE 環境変数を設定して、デフォルトのプロファイルの変更をすることもできます。 この変数を設定すると、EB CLI は defaulteb-cli の代わりに特定のプロファイルからの認証情報を読み込みます。

Linux, macOS, or Unix

$ export AWS_EB_PROFILE=user2

Windows

> set AWS_EB_PROFILE=user2

プロジェクトフォルダーの代わりに圧縮ファイルをデプロイする

独立したビルドプロセスで作成した ZIP ファイルや WAR ファイルをデプロイするよう EB CLI に命令することができます。このためには、次の行をプロジェクトフォルダの .elasticbeanstalk/config.yml に追加します。

deploy:
  artifact: path/to/buildartifact.zip

Git リポジトリで EB CLI を設定して、ソースにアーティファクトをコミットしなかった場合は、--staged オプションを使用して最新のビルドをデプロイします。

~/eb$ eb deploy --staged

構成設定と優先順位

EB CLI では、プロバイダーチェーンを使用して、システムまたはユーザー環境変数、ローカル AWS 設定ファイルなど、さまざまな場所で AWS の認証情報が検索されます。

AWS CLI では、以下の順序で認証情報と構成設定が検索されます。

  1. コマンドラインオプション - 名前付きプロファイルを --profile で指定して、デフォルトの設定を上書きできます。

  2. 環境変数 - AWS_ACCESS_KEY_ID および AWS_SECRET_ACCESS_KEY

  3. AWS 認証情報ファイル - ~/.aws/credentials (Linux および OS X システム) または C:\Users\USERNAME\.aws\credentials (Windows システム) にあります。このファイルには、デフォルトのプロファイルに加えて、複数の名前付きプロファイルを含めることができます。

  4. AWS CLI 設定ファイル - ~/.aws/config (Linux および OS X システム) または C:\Users\USERNAME\.aws\config (Windows システム) にあります。このファイルには、デフォルトのプロファイル、名前付きプロファイル、AWS CLI 固有の設定パラメータを含めることができます。

  5. レガシー EB CLI 設定ファイル - ~/.elasticbeanstalk/config (Linux および OS X システム) または C:\Users\USERNAME\.elasticbeanstalk/config (Windows システム) にあります。

  6. インスタンスプロファイルの認証情報 - これらの認証情報は、インスタンスロールが割り当てられた EC2 インスタンスで使用でき、Amazon EC2 メタデータサービスを介して提供されます。インスタンスプロファイルには Elastic Beanstalk を使用するためのアクセス権限が必要です。

認証情報ファイルに「eb-cli」という名前付きプロファイルが含まれている場合、EB CLI では、デフォルトのプロファイルよりもそのプロファイルが優先されます。プロファイルが見つからないか、プロファイルが見つかっても Elastic Beanstalk を使用するためのアクセス権限がない場合、EB CLI では、キーを入力するように求められます。

インスタンスメタデータ

EC2 インスタンスから EB CLI を使用するには、必要なリソースへのアクセス権限を持つロールを作成し、そのロールをインスタンスにその起動時に割り当てます。インスタンスを起動し、pip で EB CLI をインストールします。

~$ sudo pip install awsebcli

pip は Amazon Linux にプリインストールされています。

EB CLI はインスタンスのメタデータから認証情報を読み取ります。詳細については、『IAM ユーザーガイド』の「Amazon EC2 インスタンスで実行されるアプリケーションに、AWS リソースへのアクセスを付与する」を参照してください。