EB CLI の設定 - AWS Elastic Beanstalk

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

EB CLI の設定

EB CLI をインストールした後で、eb init を実行するとプロジェクトディレクトリと EB CLI を設定する準備ができます。

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

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

    ~/eb $ eb init Select a default region 1) us-east-1 : US East (N. Virginia) 2) us-west-1 : US West (N. California) 3) us-west-2 : US West (Oregon) 4) eu-west-1 : Europe (Ireland) 5) eu-central-1 : Europe (Frankfurt) 6) ap-south-1 : Asia Pacific (Mumbai) 7) ap-southeast-1 : Asia Pacific (Singapore) ... (default is 3): 3
  2. 次に、EB CLI がリソースを管理できるように、アクセスキーとシークレットキーを入力します。アクセスキーは AWS Identity and Access Management マネジメントコンソールに作成されます。キーがない場合には、https://docs.aws.amazon.com/general/latest/gr/getting-aws-sec-creds.htmlの「Amazon Web Services 全般のリファレンス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 がローカルマシンにインストールされており、コマンドラインから呼び出せる必要があります。EB 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 を読み取りません。

.ebignore が存在する場合、EB CLI は git コマンドを使用せずにソースバンドルを作成します。つまり、EB CLI は .ebignore で指定されたファイルを無視し、他のすべてのファイルを含めます。特に、コミットされていないソースファイルが含まれます。

注記

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

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

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

$ eb init --profile user2

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

Linux、macOS、または 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 の認証情報が検索されます。

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

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

インスタンスメタデータ

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

~$ sudo pip install awsebcli

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

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