AWS Elastic Beanstalk 環境をカスタマイズして、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスでファイルの作成、パッケージのインストール、コマンドの実行をしたいと考えています。
解決策
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
.ebextensions ディレクトリを設定する
次の手順を実行します。
- アプリケーションバンドルのルートに、.ebextensions という名前で隠しディレクトリを作成します。
- 設定ファイルを..ebextensions ディレクトリに保存します。アプリケーションのソースバンドルは次の例のようになります。
~/workspace/my-application/|-- .ebextensions
| |-- 01-server-configuration.config
| `-- 02-asg-healthcheck.config
|-- index.php
`-- styles.css
Elastic Beanstalk 環境をカスタマイズする
環境の構成を変更するには、option_settings キーを使用します。すべての環境の一般的なオプションとプラットフォーム固有のオプションから選択できます。
注: 環境を Elastic Beanstalk API で作成または更新すると、クライアントは推奨値を適用します。推奨値は、API レベルで直接設定され、最大の優先順位が割り当てられます。option_settings を使用して構成を変更することはできません。
優先順位ルールが原因で、環境の構成に option_settings の変更を反映できない場合があります。環境の作成時に直接適用された構成を削除するには、--options-to-remove フラグを指定して update-environment コマンドを実行します。UpdateEnvironment Elastic Beanstalk API を使用することもできます。
目的のリソース構成にオプション設定が含まれない場合は、Resources キーを使用して Elastic Beanstalk 環境のリソースをカスタマイズします。
注: Elastic Beanstalk は、構成ファイルで定義したリソースを、環境の起動に使用する AWS CloudFormation テンプレートに追加します。CloudFormation テンプレートは、CloudFormation のすべてのリソースタイプをサポートしています。論理リソース名の詳細については、「Elastic Beanstalk が環境に作成するリソースを変更する」を参照してください。
構成ファイルの拡張子は .config であり、形式は YAML または JSON である必要があります。
キーを使用して Linux または Windows サーバー上のソフトウェアをカスタマイズします。各キーは、各構成ファイルで 1 回だけ使用してください。
アプリケーションを Elastic Beanstalk にデプロイする際、.ebextensions 構成ファイル内の複数のセクションを使用して EC2 インスタンスをカスタマイズします。構成ファイルのサンプルについては、GitHub のウェブサイトで elastic-beanstalk-samples を参照してください。
カスタム設定をアプリケーションに適用する
次の手順を実行します。
- 構成ファイルを含むアプリケーションソースバンドルを作成します。
注: ファイルブラウザには、ピリオドで始まるフォルダ (例: .ebextensions) が表示されない場合があります。これらのフォルダを表示させるには、アプリケーションソースバンドルを作成する際、.ebextensions フォルダをアプリケーションバンドルのルートに配置します。
- 更新した Elastic Beanstalk アプリケーションをデプロイします。
関連情報
オプション設定