AWS Elastic Beanstalk
開発者ガイド

プラットフォームスクリプト

Elastic Beanstalk は、カスタムプラットフォームで起動された環境においてオンインスタンスで実行するフックで環境変数とその他の情報を入手するために使用できる、シェルスクリプト get-config をインストールします。

このツールは /opt/elasticbeanstalk/bin/get-config にあります。これは以下の方法でできます。

  • get-config optionsettings – 名前空間別に整理された、環境で設定されている設定オプションをリストする JSON オブジェクトを返します。

    $ /opt/elasticbeanstalk/bin/get-config optionsettings {"aws:elasticbeanstalk:container:php:phpini":{"memory_limit":"256M","max_execution_time":"60","display_errors":"Off","composer_options":"","allow_url_fopen":"On","zlib_output_compression":"Off","document_root":""},"aws:elasticbeanstalk:hostmanager":{"LogPublicationControl":"false"},"aws:elasticbeanstalk:application:environment":{"TESTPROPERTY":"testvalue"}}

    特定の設定オプションを返すには、-n オプションを使用して名前空間を指定し、-o オプションを使用してオプション名を指定します。

    $ /opt/elasticbeanstalk/bin/get-config optionsettings -n aws:elasticbeanstalk:container:php:phpini -o memory_limit 256M
  • get-config environment – ユーザー設定のプロパティと Elastic Beanstalk で提供されるものの両方を含めて、環境プロパティのリストを含む JSON オブジェクトを返します。

    $ /opt/elasticbeanstalk/bin/get-config environment {"TESTPROPERTY":"testvalue","RDS_PORT":"3306","RDS_HOSTNAME":"anj9aw1b0tbj6b.cijbpanmxz5u.us-west-2.rds.amazonaws.com","RDS_USERNAME":"testusername","RDS_DB_NAME":"ebdb","RDS_PASSWORD":"testpassword1923851"}

    たとえば、Elastic Beanstalk は統合された RDS DB インスタンス (RDS_HOSTNAME など) に接続する環境プロパティを提供します。これらのプロパティは get-config environment の出力に表示されますが、ユーザーによって設定されたものではないため、get-config optionsettings の出力には表示されません。

    特定の環境プロパティを返すには、-kオプションを使用してプロパティキーを指定します。

    $ /opt/elasticbeanstalk/bin/get-config environment -k TESTPROPERTY testvalue

Linux ベースのプラットフォームを実行する Elastic Beanstalk 環境で SSH を使用してインスタンスに接続して、前のコマンドをテストできます。

get-config の使用例については、サンプル platform definition archive の次のファイルを参照してください。

  • builder/platform-uploads/opt/elasticbeanstalk/hooks/configdeploy/enact/02-gen-envvars.sh – 環境プロパティを取得します。

  • builder/platform-uploads/opt/SampleNodePlatform/bin/createPM2ProcessFile.js – 出力を解析します。

Elastic Beanstalk は、カスタムプラットフォームのデプロイ時にアプリケーションのソースコードをダウンロードするために使用できるシェルスクリプト download-source-bundle をインストールします。このツールは /opt/elasticbeanstalk/bin/download-source-bundle にあります。デプロイメント中に 00-unzip.sh を使用して appdeploy/pre フォルダにアプリケーションソースコードをダウンロードする例については、download-source-bundle フォルダにあるサンプルスクリプト /opt/elasticbeanstalk/deploy/appsource を参照してください。