# AWS Elastic Beanstalk 環境設定
AWS Elastic Beanstalk 環境から Amazon EC2 インスタンスに環境変数を渡す方法は 4つあります。
- Elastic Beanstalk コンソールから編集
- Elastic Beanstalk EB CLI コマンドラインインターフェイス使う
- オプション設定ファイルに書く
- AWS CLI コマンドラインインターフェイス使う
「Elastic Beanstalk コンソールから編集」が一番使いやすい
ソフトウェア変更メニューから設定変更することでコンテナの動作を制御できます。設定した項目は環境プロパティとしてキーと値のペアを OS 環境に渡します。
# デフォルト設定
| 項目 | デフォルト値 |
|---|---|
| Proxy server (プロキシサーバー) | nginx |
| Document root (ドキュメントルート) | /public |
| Memory limit (メモリ制限) | 512MB |
| Zlib output compression(Zlib 出力の圧縮) | On |
| Allow URL fopen (URL fopen を許可) | Off |
| Display errors (表示エラー) | On |
| Max execution time (最大実行時間) | 60s |
ログ保存方法
インスタンスと Elastic Beanstalk は一時保存しかできないので、ログ保存するなら Amazon S3 に設定します。
- インスタンス設定
- アプリから設定
インスタンスとアプリからの設定でどちらも OK
# 環境プロパティ制限
インスタンスアプリの 設定 > ソフトウェアから編集できます。
キー名制限
- シンボル
_.:/+\-@ - 文字列パターン
[A-Z_][A-Z0-9_]* - 長さ 128 (値の制限長さは 256)
環境変数総制限は key=value フォーマットで 4,096 バイト
# 環境プロパティ取得
php
$endpoint = $_SERVER['API_ENDPOINT'];
javascript nodejs
var endpoint = process.env.API_ENDPOINT;
python
import os
endpoint = os.environ['API_ENDPOINT']
golang
endpoint := os.Getenv("API_ENDPOINT")