

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

# Elastic Beanstalk .NET Core on Linux プラットフォームの使用
<a name="dotnet-linux-platform"></a>

このトピックでは、Elastic Beanstalk で .NET Core on Linux アプリケーションを設定、ビルド、実行する方法について説明します。

AWS Elastic Beanstalk は、Linux オペレーティングシステムで実行されるさまざまな .NET Core フレームワークバージョンの多数のプラットフォームブランチをサポートしています。完全なリストについては、「AWS Elastic Beanstalk プラットフォーム」の「[.NET core on Linux](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.dotnetlinux)」を参照してください。

Elastic Beanstalk Linux ベースのプラットフォームを拡張するさまざまな方法の詳細については、「[Elastic Beanstalk Linux プラットフォームの拡張](platforms-linux-extend.md)」を参照してください。

## .NET Core on Linux プラットフォームに関する考慮事項
<a name="dotnet-linux-platform.intro"></a>

### プロキシサーバー
<a name="dotnet-linux-platform.proxy"></a>

Elastic Beanstalk .NET Core on Linux プラットフォームには、リクエストをアプリケーションに転送するリバースプロキシが含まれています。デフォルトでは、Elastic Beanstalk はプロキシサーバーとして [NGINX](https://www.nginx.com/) を使用します。プロキシサーバーを使用せず、[Kestrel](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel) をウェブサーバーとして設定できます。Kestrel は、デフォルトで ASP.NET Core プロジェクトテンプレートに含まれています。

### アプリケーション構造
<a name="dotnet-linux-platform.publish-apps"></a>

Elastic Beanstalk で提供される .NET Core ランタイムを使用する*ランタイム依存*アプリケーションを発行できます。また、ソースバンドルに .NET Core ランタイムとアプリケーションの依存関係を含む*自己完結型*アプリケーションを公開することもできます。詳細については[.NET Core on Linux Elastic Beanstalk プラットフォーム用のアプリケーションのバンドル](dotnet-linux-platform-bundle-app.md)を参照してください。

### プラットフォーム設定
<a name="dotnet-linux-platform.configuration"></a>

環境でサーバーインスタンスを実行するプロセスを設定するには、オプションの [Procfile](dotnet-linux-procfile.md) をソースバンドルに含めます。`Procfile` は、ソースバンドルにアプリケーションが 1 つ以上ある場合に必要です。

ソースバンドルには、アプリケーションとともに常に `Procfile` を指定することをお勧めします。これにより、アプリケーションに対して Elastic Beanstalk が実行するプロセスを正確に制御できます。

設定オプションは[実行中の環境の設定を変更するために](environment-configuration-methods-after.md) Elastic Beanstalk コンソールで利用できます。環境を終了したときにその設定が失われないようにするため、[保存済み設定](environment-configuration-savedconfig.md)を使用して設定を保存し、それを後で他の環境に適用することができます。

ソースコードの設定を保存する場合、[設定ファイル](ebextensions.md)を含めることができます。設定ファイルの設定は、環境を作成するたびに、またはアプリケーションをデプロイするたびに適用されます。設定ファイルを使用して、デプロイの間にパッケージをインストールしたり、スクリプトを実行したり、他のインスタンスのカスタマイズオペレーションを実行することもできます。

Elastic Beanstalk コンソールで適用される設定は、設定ファイルに同じ設定があれば、それらの設定を上書きします。これにより、設定ファイルでデフォルト設定を定義し、コンソールでそのデフォルト設定を環境固有の設定で上書きできます。設定の優先順位の詳細と設定の他の変更方法については、「[設定オプション](command-options.md)」を参照してください。

## .NET Core on Linux 環境の設定
<a name="dotnet-linux-options"></a>

.NET Core on Linux プラットフォームの設定により、Amazon EC2 インスタンスの動作を微調整できます。Elastic Beanstalk コンソールを使用して、Elastic Beanstalk 環境の Amazon EC2 インスタンス設定を編集できます。

Elastic Beanstalk コンソールを使用して、Amazon S3 へのログローテーションを有効にでき、アプリケーションが環境から読むことができる変数を設定します。

**Elastic Beanstalk コンソールを使用して .NET Core on Linux 環境を設定するには**

1. [Elastic Beanstalk コンソール](https://console.aws.amazon.com/elasticbeanstalk)を開き、**リージョン**リストで を選択します AWS リージョン。

1. ナビゲーションペインで、[**環境**] を選択し、リストから環境の名前を選択します。

1. ナビゲーションペインで、[**設定**] を選択します。

1. **[更新、モニタリング、ログ]** の設定カテゴリで、**[編集]** を選択します。

### ログオプション
<a name="dotnet-linux-logs"></a>

[**Log Options**] セクションには、2 つの設定があります。
+ **インスタンスプロファイル** – アプリケーションに関連付けられた Amazon S3 バケットへのアクセス許可が付与されているインスタンスプロファイルを指定します。
+ **[Enable log file rotation to Amazon S3]** (Amazon S3 へのログファイルのローテーションの有効化) - アプリケーションの Amazon EC2 インスタンスのログファイルを、アプリケーションに関連付けられている Amazon S3 バケットにコピーするかどうかを指定します。

### 環境プロパティ
<a name="dotnet-linux-options-properties"></a>

[**Environment Properties (環境プロパティ)**] セクションでは、アプリケーションを実行している Amazon EC2 インスタンスの環境設定を指定できます。環境プロパティは、キーバリューのペアでアプリケーションに渡されます。

Elastic Beanstalk 環境変数を実行する .NET Core on Linux 環境内部には、`Environment.GetEnvironmentVariable("{{variable-name}}")` を使用してアクセスできます。たとえば、次のコードを使用して変数に `API_ENDPOINT` という名前のプロパティを読み取ることができます。

```
string endpoint = Environment.GetEnvironmentVariable("API_ENDPOINT");
```

詳細については、「[環境変数とその他のソフトウェアの設定](environments-cfg-softwaresettings.md)」を参照してください。

## .NET Core on Linux 設定の名前空間
<a name="dotnet-linux-namespace"></a>

[設定ファイル](ebextensions.md)を使用して、設定オプションを設定し、デプロイの間、他のインスタンス設定タスクをパフォーマンスできます。設定オプションは、[プラットフォーム固有](command-options-specific.md)のものでも、Elastic Beanstalk サービス全体の[すべてのプラットフォーム](command-options-general.md)に適用できるものでもかまいません。設定オプションは、名前空間として整理されています。

.NET Core on Linux プラットフォームは、[すべての Elastic Beanstalk 環境でサポートされているオプション](command-options-general.md)に加えて、以下の名前空間のオプションをサポートしています。
+ `aws:elasticbeanstalk:environment:proxy` - NGINX を使用するか、プロキシサーバーを使用しないかを選択します。有効な値は`nginx`または`none`です。

以下の例の設定ファイルは、.NET Core on Linux 固有の設定オプションの使用を示しています。

**Example .ebextensions/proxy-settings.config**  

```
option_settings:
  aws:elasticbeanstalk:environment:proxy:
    ProxyServer: {{none}}
```

Elastic Beanstalk には、環境をカスタマイズするための多数の設定オプションが用意されています。設定ファイルに加えて、コンソール、保存された設定、EB CLI、または を使用して、設定オプションを指定することもできます AWS CLI詳細については「[設定オプション](command-options.md)」を参照してください。