EB CLI の設定
EB CLI をインストールしたら、eb
init を実行してプロジェクトディレクトリと EB CLI を設定する準備が整います。次の例は、eb という名前のプロジェクトフォルダで初めて eb init を実行するときの設定手順を示しています。
EB CLI プロジェクトを初期化する
-
まず、EB CLI にはリージョンの選択がプロンプトされます。任意のリージョンを選択します。
~/eb $eb initSelect 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 -
求められたら、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 -
Elastic Beanstalk アプリケーションは、一連のアプリケーションバージョン (ソース)、環境、および単一ウェブアプリケーションに関連付けられる保存された設定を含むリソースです。EB CLI を使って Elastic Beanstalk にソースコードをデプロイするたびに、新しいアプリケーションバージョンが作成されてリストに追加されます。
Select an application to use 1) [ Create new Application ] (default is 1):1 -
デフォルトのアプリケーション名は、eb init を実行するフォルダの名前です。プロジェクトを示す任意の名前を入力します。
Enter Application Name (default is "eb"):ebApplication eb has been created. -
ウェブアプリケーションが開発された言語またはフレームワークに一致するプラットフォームを選択します。アプリケーションの開発を始める以前の場合には、好みのプラットフォームを選択します。サンプルアプリケーションを起動する方法が簡略に確認でき、後でいつでもこの設定を変更できます。
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 number8) Packer 9) Python 10) Ruby 11) Tomcat (make a selection):7 -
特定のプラットフォームブランチを選択します。
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 -
[はい] を選択して、Elastic Beanstalk 環境のインスタンスに SSH キーペアを割り当てます。これにより、トラブルシューティングのために直接接続することができるようになります。
Do you want to set up SSH for your instances? (y/n):y -
既存のキーペアを選択するか、新しいキーペアを作成します。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 は default や eb-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 では、以下の順序で認証情報と構成設定が検索されます。
-
コマンドラインオプション –
--profileを使用して名前付きプロファイルを指定し、デフォルトの設定を上書きします。 -
環境変数 –
AWS_ACCESS_KEY_IDおよびAWS_SECRET_ACCESS_KEY -
AWS 認証情報ファイル –
~/.aws/credentials(Linux および OS X システム) またはC:\Users\(Windows システム) にあります。このファイルには、デフォルトのプロファイルに加えて、複数の名前付きプロファイルを含めることができます。USERNAME\.aws\credentials -
AWS CLI 設定ファイル –
~/.aws/config(Linux および OS X システム) またはC:\Users\(Windows システム) にあります。このファイルには、デフォルトのプロファイル、名前付きプロファイル、AWS CLI 固有の設定パラメータを含めることができます。USERNAME\.aws\config -
レガシー EB CLI 設定ファイル –
~/.elasticbeanstalk/config(Linux および OS X システム) またはC:\Users\(Windows システム) にあります。USERNAME\.elasticbeanstalk\config -
インスタンスプロファイルの認証情報 - これらの認証情報は、インスタンスロールが割り当てられた 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 リソースへのアクセスを付与する」を参照してください。