翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
環境変数およびその他のソフトウェア設定
[更新、モニタリング、ロギングの設定] ページでは、アプリケーションを実行する Amazon Elastic Compute Cloud (Amazon EC2) インスタンス上のソフトウェアを設定できます。環境変数、 AWS X-Ray デバッグ、インスタンスログの保存とストリーミング、プラットフォーム固有の設定を設定できます。
トピック
プラットフォーム固有の設定を構成する
すべての環境で利用できる標準のオプションセットに加え、ほとんどの Elastic Beanstalk プラットフォームでは、言語固有またはフレームワーク固有の指定を行うことができます。これらは、[更新、モニタリング、およびロギングの設定] ページの [プラットフォームソフトウェア] セクションに表示され、次の形式を取ることができます。
-
プリセットの環境プロパティ – Ruby プラットフォームでは、
RACK_ENVおよびBUNDLE_WITHOUTのようなフレームワーク設定の環境プロパティを使用します。 -
プレースホルダーの環境プロパティ – Tomcat プラットフォームでは、どのような値にも設定されない
JDBC_CONNECTION_STRINGという名前の環境プロパティを定義します。この設定タイプは、旧式のプラットフォームバージョンで一般的でした。 -
設定オプション – ほとんどのプラットフォームでは、
aws:elasticbeanstalk:xrayやaws:elasticbeanstalk:container:pythonなどのプラットフォーム固有または共有の名前空間で設定オプションを定義します。
Elastic Beanstalk コンソールでプラットフォーム固有の設定を指定するには
Elastic Beanstalk コンソール
を開き、リージョンリストで を選択します AWS リージョン。 -
ナビゲーションペインで、[環境] を選択し、リストから環境の名前を選択します。
ナビゲーションペインで、[設定] を選択します。
-
[更新、モニタリング、ログ] の設定カテゴリで、[編集] を選択します。
-
[プラットフォームソフトウェア] で、必要なオプション設定を変更します。
-
ページの最下部で [適用] を選択し変更を保存します。
プラットフォーム固有のオプションと、コードで環境プロパティ値を取得する方法の詳細については、該当する言語やフレームワークのプラットフォームトピックを参照してください。
-
Docker – Elastic Beanstalk Docker 環境の設定
-
Java SE – Elastic Beanstalk Java SE プラットフォームの使用
-
.NET Core on Linux – Elastic Beanstalk .NET Core on Linux プラットフォームの使用
-
Node.js – Elastic Beanstalk Node.js プラットフォームを使用する
環境プロパティ (環境変数) の設定
環境プロパティ (環境変数とも呼ばれます) を使用して、エンドポイント、デバッグ設定、その他の情報をアプリケーションに渡すことができます。環境変数は、開発、テスト、ステージング、本番稼働など、さまざまな目的で複数の環境でアプリケーションを実行するのに役立ちます。
さらに、データベースを環境に追加すると、Elastic Beanstalk は などの環境変数を設定しRDS_HOSTNAME、アプリケーションコードで読み取って接続オブジェクトまたは文字列を構築できます。
Elastic Beanstalk コンソールで環境変数を設定するには
Elastic Beanstalk コンソール
を開き、リージョンリストで を選択します AWS リージョン。 -
ナビゲーションペインで、[環境] を選択し、リストから環境の名前を選択します。
ナビゲーションペインで、[設定] を選択します。
-
[更新、モニタリング、ログ] の設定カテゴリで、[編集] を選択します。
-
Runtime 環境変数まで下にスクロールします。
-
環境変数の追加 を選択します。
-
ソース プレーンテキストを選択します。
注記
ドロップダウンの Secrets Manager と SSM パラメータストアの値は、認証情報や API キーなどの機密データを保存するシークレットとして環境変数を設定するためのものです。詳細については、「AWS Secrets Manager および Parameter Store での Elastic Beanstalk AWS Systems Manager の使用」を参照してください。
-
環境変数名と環境変数値のペアを入力します。
-
さらに変数を追加する必要がある場合は、ステップ 6 からステップ 8 を繰り返します。
-
ページの最下部で [適用] を選択し変更を保存します。
環境プロパティの制限
-
キーには、英数字および記号
_ . : / + \ - @を含めることができます。上記の記号は、環境プロパティーキーには使用できますが、環境のプラットフォームの環境変数名には使用できない場合があります。すべてのプラットフォームとの互換性を考慮して、環境プロパティには次のパターン (
[A-Z_][A-Z0-9_]*) のみ使用してください。 -
値には、英数字、空白、および記号
_ . : / = + \ - @ ' "を含めることができます。注記
環境プロパティ値の一部の文字で囲う値はエスケープする必要があります。バックスラッシュ文字 (
\) を使用して、いくつかの特殊文字と制御文字を表します。次のリストには、エスケープする必要があるいくつかの文字を表す例が含まれています。バックスラッシュ (
\) —\\の使用を表す一重引用符 (
') —\'の使用を表す二重引用符 (
") —\"の使用を表す
-
キーと値は大文字と小文字が区別されます。
-
key=valueの形式の文字列として保存されている場合は、すべての環境プロパティの合計サイズが 4,096 バイトを超えることはできません。
ソフトウェア設定の名前空間
設定ファイルを使用して、設定オプションを設定し、デプロイの間、他のインスタンス設定タスクをパフォーマンスできます。設定オプションは、プラットフォーム固有のものでも、Elastic Beanstalk サービス全体のすべてのプラットフォームに適用できるものでもかまいません。設定オプションは、名前空間として整理されています。
Elastic Beanstalk 設定ファイルを使用して、ソースコードで環境プロパティと設定オプションを設定できます。aws:elasticbeanstalk:application:environment名前空間を使用して、環境プロパティを定義します。
例 .ebextensions/options.config
option_settings:
aws:elasticbeanstalk:application:environment:
API_ENDPOINT: www.example.com/api設定ファイルまたは AWS CloudFormation テンプレートを使用してカスタムリソースを作成する場合は、 関数を使用して AWS CloudFormation リソースに関する情報を取得し、デプロイ中に環境プロパティに動的に割り当てることができます。以下、GitHub リポジトリの elastic-beanstalk-samplesNOTIFICATION_TOPIC という名前の環境プロパティに割り当てています。
メモ
-
AWS CloudFormation 関数を使用して環境プロパティを定義する場合、関数が評価される前に Elastic Beanstalk コンソールにプロパティの値が表示されます。get-config プラットフォームスクリプトを使用して、アプリケーションで使用できる環境プロパティの値を確認できます。
-
複数コンテナの Docker プラットフォームは、コンテナリソースの作成 AWS CloudFormation に を使用しません。そのため、このプラットフォームは AWS CloudFormation 関数を使用した環境プロパティの定義をサポートしていません。
例 .Ebextensions/sns-topic.config
Resources:
NotificationTopic:
Type: AWS::SNS::Topic
option_settings:
aws:elasticbeanstalk:application:environment:
NOTIFICATION_TOPIC: '`{"Ref" : "NotificationTopic"}`'また、この機能を使用して、AWS CloudFormation 擬似パラメータの情報を反映させることもできます。この例では、現在のリージョンを取得して、AWS_REGION という名前のプロパティに割り当てています。
例 .Ebextensions/env-regionname.config
option_settings:
aws:elasticbeanstalk:application:environment:
AWS_REGION: '`{"Ref" : "AWS::Region"}`'ほとんどの Elastic Beanstalk プラットフォームでは、アプリケーションにリクエストを中継するリバースプロキシなど、インスタンス上で実行されるソフトウェア設定するオプションを指定して、その他の名前空間を定義します。プラットフォームで利用できる名前空間に関する詳細については、以下のいずれかのセクションを参照してください。
-
Go – Go 設定の名前空間
-
Java SE – Java SE 設定の名前空間
-
Tomcat – Tomcat 設定の名前空間
-
.NET Core on Linux – .NET Core on Linux 設定の名前空間
-
Node.js – Node.js 設定の名前空間
-
PHP – 設定の名前空間
-
Python – Python 設定の名前空間
-
Ruby – Ruby 設定の名前空間
Elastic Beanstalk には、環境をカスタマイズするための多数の設定オプションが用意されています。設定ファイルに加えて、コンソール、保存された設定、EB CLI、または を使用して、設定オプションを指定することもできます AWS CLI詳細については「設定オプション」を参照してください。
環境プロパティへのアクセス
ほとんどの場合、アクセスするアプリケーションコードの環境プロパティは、環境変数に似ています。ただし、環境プロパティは、通常アプリケーションにのみ渡されるため、環境内のインスタンスに接続し、env を実行して表示することはできません。
-
Go –
os.Getenvendpoint := os.Getenv("API_ENDPOINT") -
Java SE –
System.getenvString endpoint = System.getenv("API_ENDPOINT"); -
Tomcat –
System.getPropertyおよびSystem.getenv2025 年 3 月 26 日以降にリリースされた Tomcat プラットフォームバージョンでは、
System.getenvを使用してプレーンテキストの環境変数にアクセスすることもできます。引き続きSystem.getPropertyを使用して、プレーンテキストの環境変数にアクセスできます。ただし、シークレットとして保存されている環境変数は、 を使用してのみ使用できますSystem.getenv。String endpoint = System.getProperty("API_ENDPOINT");String endpoint = System.getenv("API_ENDPOINT");重要
2025 年 3 月 26 日以降にリリースされた Tomcat プラットフォームバージョンの環境変数
System.getenvへのアクセスを追加すると、Java システムプロパティよりも環境変数を優先するアプリケーションや、 からSystem.getPropertyに明示的に切り替えるアプリケーションで予期しない動作が発生する可能性がありますSystem.getenv。 https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2025-03-26-windows.html詳細と推奨されるアクションについては、「Elastic Beanstalk Tomcat プラットフォームの使用」を参照してください。 -
.NET Core on Linux –
Environment.GetEnvironmentVariablestring endpoint = Environment.GetEnvironmentVariable("API_ENDPOINT"); -
.NET –
appConfigNameValueCollection appConfig = ConfigurationManager.AppSettings; string endpoint = appConfig["API_ENDPOINT"]; -
Node.js –
process.envvar endpoint = process.env.API_ENDPOINT -
PHP –
$_SERVER$endpoint = $_SERVER['API_ENDPOINT']; -
Python –
os.environimport os endpoint = os.environ['API_ENDPOINT'] -
Ruby –
ENVendpoint = ENV['API_ENDPOINT']
デプロイ時に実行するスクリプトなど、アプリケーションコードを使用せずに環境プロパティにアクセスするには、get-configプラットフォームスクリプトを使用します。get-config を使用する設定の例については、GitHub の elastic-beanstalk-samples