.NET Core on Linux プラットフォームの使用 - AWS Elastic Beanstalk

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

.NET Core on Linux プラットフォームの使用

AWS Elastic Beanstalk .NET Core on Linux プラットフォームは、Linux オペレーティングシステムで実行される .NET Core アプリケーション用のプラットフォームバージョンのセットです。

Elastic Beanstalk Linux ベースのプラットフォームを拡張するさまざまな方法の詳細については、「Elastic Beanstalk Linux プラットフォームの拡張」を参照してください。プラットフォーム固有の考慮事項を次に示します。

.NET Core on Linux プラットフォームの概要

プロキシサーバー

Elastic Beanstalk .NET Core on Linux プラットフォームには、リクエストをアプリケーションに転送するリバースプロキシが含まれています。デフォルトでは、Elastic Beanstalk はプロキシサーバーとして nginx を使用します。プロキシサーバーを使用せず、Kestrel をウェブサーバーとして設定できます。Kestrel は、デフォルトで ASP.NET Core プロジェクトテンプレートに含まれています。

アプリケーション構造

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

プラットフォーム設定

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

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

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

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

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

.NET Core on Linux 環境の設定

.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 コンソールを開き、[Regions] (リージョン) リストで AWS リージョンを選択します。

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

    注記

    環境が多数ある場合は、検索バーを使用して環境リストをフィルタリングします。

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

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

ログオプション

[Log Options] セクションには、2 つの設定があります。

  • インスタンスプロファイル – アプリケーションに関連付けられた Amazon S3 バケットへのアクセス許可が付与されているインスタンスプロファイルを指定します。

  • [Enable log file rotation to Amazon S3] (Amazon S3 へのログファイルのローテーションの有効化) - アプリケーションの Amazon EC2 インスタンスのログファイルを、アプリケーションに関連付けられている Amazon S3 バケットにコピーするかどうかを指定します。

環境プロパティ

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

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

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

詳細については、「環境プロパティとその他のソフトウェアの設定」を参照してください。

.NET Core on Linux 設定の名前空間

設定ファイルを使用して、設定オプションを設定し、デプロイの間、他のインスタンス設定タスクをパフォーマンスできます。設定オプションは、Elastic Beanstalk サービスまたは使用できるプラットフォームで定義し、名前空間に整理できます。

.NET Core on Linux プラットフォームは、すべての Elastic Beanstalk 環境でサポートされているオプションに加えて、以下の名前空間のオプションをサポートしています。

  • aws:elasticbeanstalk:environment:proxy - nginx を使用するか、プロキシサーバーを使用しないかを選択します。有効な値はnginxまたはnoneです。

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

例 .ebextensions/proxy-settings.config
option_settings: aws:elasticbeanstalk:environment:proxy: ProxyServer: none

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