.ebextensions を使用して Elastic Beanstalk 環境をカスタマイズする方法を教えてください。
最終更新日: 2019 年 5 月 20 日
.ebextensions を使用して AWS Elastic Beanstalk 環境をカスタマイズして、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスでファイルを作成し、パッケージをインストールし、コマンドを実行する方法を教えてください。
簡単な説明
Elastic Beanstalk 設定ファイル (.ebextensions) を使用して、Elastic Beanstalk 環境で Amazon EC2 インスタンスを設定します。
以下の設定方法を使用した場合、Elastic Beanstalk 環境に加えられた設定変更は持続しません。
- 特定の AWS サービスのコンソールから直接 Elastic Beanstalk リソースを設定した場合。
- Amazon EC2 インスタンスから直接パッケージをインストールし、ファイルを作成し、またはコマンドを実行した場合。
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、最新の AWS CLI バージョンを使用していることを確認してください。
解決方法
.ebextensions ディレクトリを設定する
1. アプリケーションバンドルのルートに、.ebextensions という名前の隠しディレクトリを作成します。
2. 設定ファイルを .ebextensions ディレクトリに保存します。
アプリケーションソースバンドルは、次の例のようになります。
~/workspace/my-application/
|-- .ebextensions
| |-- 01-server-configuration.config
| `-- 02-asg-healthcheck.config
|-- index.php
`-- styles.css
Elastic Beanstalk 環境をカスタマイズする
環境をカスタマイズするには、以下の点を考慮します。
- 環境設定を変更するには、option_settings キーを使用します。すべての環境用の一般オプションとプラットフォーム固有のオプションから選択できます。
注: 推奨値は、クライアントの Elastic Beanstalk API 上の環境を作成または更新するときに適用します。例えば、クライアントは、AWS マネジメントコンソール、Elastic Beanstalk コマンドラインインターフェイス (EB CLI)、AWS CLI、または SDK である可能性があります。推奨値は API レベルで直接設定され、最も高い優先順位を持ちます。API の優先順位が最も高いため、API レベルで適用される設定は option_settings を使用して変更することはできません。 - 優先順位の規則により、option_settings の変更が環境設定に適用されないことがあります。環境の作成中に直接適用された設定を削除するか、Elastic Beanstalk API を更新するには、update-environment コマンドを --options-to-remove フラグと共に使用します。
- 目的のリソース設定にオプション設定がない場合は、Resources キーを使用して Elastic Beanstalk 環境のリソースをカスタマイズします。
注: 設定ファイルで定義されているリソースは、環境の起動に使用される AWS CloudFormation テンプレートに追加されます。すべての AWS CloudFormation のリソースタイプがサポートされています。論理リソース名の詳細については、「Elastic Beanstalk が環境に合わせて作成するリソースを変更する」をご参照ください。 - キーを使用して Linux または Windows サーバー上のソフトウェアをカスタマイズします。
- 設定ファイルのサンプルについては、「AWS の GitHub リポジトリ」をご参照ください。
カスタム設定をアプリケーションに適用する
1. 設定ファイルを含むアプリケーションソースバンドルを作成します。
注: .ebextensionsのように、ピリオドで始まるフォルダはファイルブラウザで非表示にできます。これらのフォルダを表示したままにするには、アプリケーションソースバンドルを作成するときに、アプリケーションバンドルのルートに .ebextensions フォルダを含めます。