EB CLI の設定 - AWS Elastic Beanstalk

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

EB CLI の設定

EB CLI をインストールしたら、 を実行してプロジェクトディレクトリと EB CLI を設定する準備が整いますeb init。次の例は、 という名前のプロジェクトフォルダでeb init初めて を実行するときの設定手順を示していますeb

EB CLI プロジェクトを初期化する
  1. まず、EB CLI にはリージョンの選択がプロンプトされます。任意のリージョンを選択します。

    ~/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) .NET Core on Linux 2) .NET on Windows Server 3) Docker 4) Go 5) Java 6) Node.js 7) PHP <== select platform by number 8) Packer 9) Python 10) Ruby 11) Tomcat (make a selection):7
  6. 特定のプラットフォームブランチを選択します。

    Select a platform branch. 1) PHP 8.4 running on 64bit Amazon Linux 2023 2) PHP 8.3 running on 64bit Amazon Linux 2023 3) PHP 8.2 running on 64bit Amazon Linux 2023 4) PHP 8.1 running on 64bit Amazon Linux 2023 5) PHP 8.1 running on 64bit Amazon Linux 2 (default is 1):1
  7. [はい] を選択して、Elastic Beanstalk 環境のインスタンスに SSH キーペアを割り当てます。これにより、トラブルシューティングのために直接接続することができるようになります。

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

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

EB CLI のインストールは設定が完了し、使用可能となりました。

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

  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 リソースへのアクセス権を付与する」を参照してください。