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

EB CLI で複数の AWS Elastic Beanstalk 環境をグループとして管理する

EB CLI を使用して環境グループを作成し、Compose Environments API でそれぞれの環境がサービス対応アーキテクチャの別々のコンポーネントを実行するようにできます。

次のフォルダー構造にアプリケーションコンポーネントを整理します。

~/project-name
|-- component-a
|   `-- env.yaml
`-- component-b
    `-- env.yaml

それぞれのサブフォルダーには、独自の環境と env.yaml という環境定義ファイルを実行する 1 つのアプリケーションの個別のコンポーネントのソースコードが含まれます。 env.yaml 形式の詳細については、「マニフェスト環境(env.yaml」を参照してください。

Compose Environments API を使用するためには、まずプロジェクトフォルダーから eb init を実行し、--modules オプションでコンポーネントがあるフォルダーの名前をそれぞれのコンポーネントごとに指定します。

~/workspace/project-name$ eb init --modules component-a component-b

EB CLI は、各コンポーネントを設定するプロンプトを表示し、続いて各コンポーネントフォルダに .elasticbeanstalk ディレクトリを作成します。EB CLI は親ディレクトリに設定ファイルを作成しません。

~/project-name
|-- component-a
|   |-- .elasticbeanstalk
|   `-- env.yaml
`-- component-b
    |-- .elasticbeanstalk
    `-- env.yaml

続いて、各コンポーネントごとに、作成する環境のリストがある eb create コマンドを実行します:

~/workspace/project-name$ eb create --modules component-a component-b --env-group-suffix group-name

このコマンドは、各コンポーネントの環境を作成します。 環境の名前は、EnvironmentName ファイルに特定された env.yaml とグループ名をハイフンで区切って連結して作成されます。 ハイフンを含めたこの 2 つのオプションの合計は、環境の名前に使用できる最大限の 23 文字を超えることはできません。

環境を更新するためには、eb deploy コマンドを使用します。

~/workspace/project-name$ eb deploy --modules component-a component-b

各コンポーネントごとを個別に、あるいはグループとして更新できます。 --modules オプションを使用して更新するコンポーネントを指定します。

EB CLI は、eb create で使用したグループ名を、/.elasticbeanstalk/config.yml の下にある EB CLI 設定ファイルの branch-defaults セクションに保存します。アプリケーションを別々のグループにデプロイする場合は、eb deploy 実行時に --env-group-suffix オプションを使用します。 グループが既に存在しない場合には、EB CLI は環境の新しいグループを作成します。

~/workspace/project-name$ eb deploy --modules component-a component-b --env-group-suffix group-2-name

環境を終了するには、各モジュールのフォルダー内で eb terminate を実行します。 デフォルトでは、実行されているその他の環境と依存関係にある環境を終了しようとする際に、EB CLI によってエラーが表示されます。 まず依存した環境を終了するか、あるいは --ignore-links オプションでデフォルトの動作を変更します。

~/workspace/project-name/component-b$ eb terminate --ignore-links