📚

AWS ElasticBeanstalk の環境プロパティを設定する

2024/10/24に公開

はじめに

マネコンからぽちぽち設定するのはだるいので覚書。

EB CLI

設定

eb setenv \
  APP_ENV=dev \
  LOG_LEVEL=debug \
  FOO=BAR

確認

eb printenv 

削除

値を空白にすると環境プロパティが削除される。

eb setenv FOO= 

.extensions

設定

.ebextensions/001-env.config
option_settings:
  aws:elasticbeanstalk:application:environment:
    APP_ENV: dev
    LOG_LEVEL: debug
    FOO: BAR

# vim: set ft=yaml ff=unix fileencoding=utf-8 expandtab ts=2 sw=2 :

削除

削除したい環境変数をコメントアウト(もしくは削除)して eb deploy を実行する。

.ebextensions/001-env.config
option_settings:
  aws:elasticbeanstalk:application:environment:
    APP_ENV: dev
    LOG_LEVEL: debug
    # FOO: BAR

ただし、マネコンから設定した環境変数は削除されない。

AWS CLI

設定

APP_NAME="my-app"
ENV_NAME="my-app-env"
aws elasticbeanstalk update-environment \
    --application-name ${APP_NAME} \
    --environment-name ${ENV_NAME} \
    --option-settings \
    "Namespace=aws:elasticbeanstalk:application:environment,OptionName=APP_ENV,Value=stg" \
    "Namespace=aws:elasticbeanstalk:application:environment,OptionName=LOG_LEVEL,Value=info" \
    "Namespace=aws:elasticbeanstalk:application:environment,OptionName=FOO,Value=BAR"

削除

APP_NAME="my-app"
ENV_NAME="my-app-env"
aws elasticbeanstalk update-environment \
    --application-name ${APP_NAME} \
    --environment-name ${ENV_NAME} \
    --options-to-remove \
    "Namespace=aws:elasticbeanstalk:application:environment,OptionName=FOO"

参考サイト

環境

% eb --version
EB CLI 3.21.0 (Python 3.12.7 (main, Oct  1 2024, 02:05:46) [Clang 15.0.0 (clang-1500.3.9.4)])

% aws --version
aws-cli/2.18.11 Python/3.12.7 Darwin/23.4.0 source/arm64

Discussion