

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

# 設定ファイル (`.ebextensions`) による高度な環境のカスタマイズ
<a name="ebextensions"></a>

ウェブアプリケーションのソースコードに設定 AWS Elastic Beanstalk ファイル (`.ebextensions`) を追加して環境を設定し、そこに含まれる AWS リソースをカスタマイズできます。設定ファイルは、ファイル拡張子を `.config` とする YAML または JSON 形式のドキュメントで、`.ebextensions` というフォルダ内に配置してアプリケーション[ソースバンドル](applications-sourcebundle.md)にデプロイします。

**Example .ebextensions/network-load-balancer.config**  
この例では、簡単な設定変更を行います。環境ロードバランサーのタイプを Network Load Balancer に設定する設定オプションを変更します。  

```
option_settings:
  aws:elasticbeanstalk:environment:
    LoadBalancerType: network
```

YAML 形式の設定ファイルを使用することをお勧めします。JSON よりも読みやすいためです。YAML では、コメント、複数行のコマンド、さまざまな引用符の使い方などがサポートされています。ただし、YAML を使用しても JSON を使用しても Elastic Beanstalk 設定ファイルで設定の変更を行う方法は同じです。

**ヒント**  
新しい設定ファイルを開発またはテストする場合、デフォルトアプリケーションを実行するクリーンな環境を起動し、そこでデプロイします。設定ファイルが正しくフォーマットされていない場合、新しい環境の起動は失敗し、回復不可能になります。

設定ファイルの `option_settings` セクションは、[設定オプション](command-options.md)の値を定義します。設定オプションを使用すると、Elastic Beanstalk 環境、その中の AWS リソース、およびアプリケーションを実行するソフトウェアを設定できます。設定ファイルは、設定オプションを設定するいくつかの方法の 1 つに過ぎません。

[`Resources` セクション](environment-resources.md)では、アプリケーションの環境内のリソースをさらにカスタマイズし、設定オプションによって提供される機能以外の追加の AWS リソースを定義できます。Elastic Beanstalk が環境の作成に使用する AWS CloudFormation、 でサポートされている任意のリソースを追加および設定できます。

設定ファイルのその他のセクション（`packages`、`sources`、`files`、`users`、`groups`、`commands`、`container_commands`、`services`）では、環境内で起動される EC2 インスタンスを設定できます。サーバーが環境内で起動される場合、Elastic Beanstalk は常にこれらのセクションで定義されたオペレーションを実行し、アプリケーションのためのオペレーティングシステムとストレージシステムを準備します。

一般的に使用される .ebextensions の例については、「[Elastic Beanstalk Configuration Files Repository](https://github.com/awsdocs/elastic-beanstalk-samples/tree/master/configuration-files)」を参照してください。

**要件**
+ **場所** – Elastic BCreate an example applicationeanstalk は、デプロイに存在するすべての `.ebextensions` フォルダを処理します。ただし、ソースバンドルのルートにある `.ebextensions` という単一のフォルダにすべての設定ファイルを配置することをお勧めします。ドットで開始するフォルダは、ファイルブラウザで非表示になっている場合があるため、ソースバンドル作成時にフォルダが追加されていることを確認します。詳細については、「[Elastic Beanstalk アプリケーションソースバンドルを作成する](applications-sourcebundle.md)」を参照してください。
+ **名前付け** - 設定ファイルには、`.config` ファイル拡張子を加える必要があります。
+ **形式** - 設定ファイルは YAML または JSON 仕様に準拠する必要があります。

  YAML を使用する場合は、必ずスペースを使用して、異なるネストレベルごとにキーをインデントします。YAML の詳細については、[YAML Ain't Markup Language (YAML™) Version 1.1](http://yaml.org/spec/current.html) を参照してください。
+ **一意性** - 各設定ファイルで各キーを 1 回のみ使用します。
**警告**  
同じ設定ファイルでキー (例: `option_settings`) を 2 回使用すると、いずれかのセクションは削除されます。重複セクションを 1 つのセクションにまとめるか、別々の設定ファイルに配置します。

デプロイするプロセスは、環境を管理するために使用しているクライアントによって少し異なります。詳細については、次のセクションを参照してください。
+ [Elastic Beanstalk コンソール](environment-configuration-methods-during.md#configuration-options-during-console-ebextensions)
+ [EB CLI](environment-configuration-methods-during.md#configuration-options-during-ebcli-ebextensions)
+ [AWS CLI](environment-configuration-methods-during.md#configuration-options-during-awscli-ebextensions)

**Topics**
+ [オプション設定](ebextensions-optionsettings.md)
+ [Linux サーバーでのソフトウェアのカスタマイズ](customize-containers-ec2.md)
+ [Windows サーバーでのソフトウェアのカスタマイズ](customize-containers-windows-ec2.md)
+ [Elastic Beanstalk 環境リソースの追加とカスタマイズ](environment-resources.md)