byClassmethod検索AWSAlexaモバイルビッグデータサーバーレスTableauAlteryxイベントFargateのNginxコンテナの環境変数デバッグ方法FargateDocker2019年04月30日かずえ(26)20やること前回、FargateのApacheコンテナでの環境変数のデバッグ方法について書きました。今回はFargateのNginxコンテナにて、環境変数のデバッグ方法をご紹介します。方針NginxでもApacheと同様、アクセスログに環境変数値を出力することができます。Apacheと違い直接アクセスログに環境変数を指定することはできません。Perlモジュールを介してNginx変数に変換するというステップが必要になります。Logsに転送し確認します。今回はNGINX_ENV_TEST1とNGINX_ENV_TEST2という環境変数の中身を確認することとします。モジュールを含んだDockerイメージを使います。※後からモジュール追加もできる様ですが、今回は未調査です。}環境変数定義nginx.conf内を2箇所変更します。(環境変数名);行を追加Nginxはデフォルトで親プロセスの環境変数を引き継ぎません。envディレクティブを追加します。使用し、perl変数を定義します。上記で定義した変数をログに出力する様に、フォーマットを変更します。今回はもともと使用する設定になっているmainのフォーマットを変更したため、特に修正は不要です。nginx-env-testコンテナ作成-eで環境変数を宣言できます。NGINX_ENV_TEST1にlocal、NGINX_ENV_TEST2にdayoを定義しています。nginx-env-testタスク定義で環境変数を設定ECRにイメージをプッシュした後、タスク定義でそのイメージを使用します。コンテナの編集の環境変数欄にて、環境変数を定義します。NGINX_ENV_TEST1にfargate、NGINX_ENV_TEST2にyadeを定義しています。ログドライバーでawslogsを設定することも忘れずに。Logsにアクセスログが表示されます。環境変数値が表示されていることが確認できました。まとめFargate上で動くNginxコンテナでの環境変数のデバッグ方法についてご紹介しました。Nginxはデフォルトで親プロセスの環境変数を引き継がないので、まずenvディレクティブで引き継ぐ様にします。次に、環境変数をそのまま参照することができないのでperl変数化します。Logsに転送する様にすれば、デバッグ可能です。ステップが多くて面倒ですが、必要になった時にご参考くださいませ。265,916かずえは苗字です。