Closed4

Amplifyにおける環境変数バグについてのレポート

とうようとうよう

Amplify + Next.jsでSSR及びNext.js 11を利用した時に環境変数が正しく設定できないバグに遭遇しました。
現在問い合わせをし、AWS側にも調査をしていただいている状況ですが同じ状況にあっている方の助けになればと思い、原因と対処法をスクラップしていきます。

とうようとうよう

原因

今回の事象はAmplify Consoleの環境変数設定におけるOverride機能とNext.js SSRの組み合わせで起きていました。
もう少し具体的に言うとamplify.ymlで環境変数を.envに書き込むなどの操作のログでは、Overrideした正しい環境変数が使用されているのですが、SSR buildなどAmplify Consoleのログに記載されていないところでAll branchesの値が採用され、結果実際の動作時にはAll branchesの値が使われてしまうといったことが起きていました。

とうようとうよう

行った応急処置

応急処置としては、Amplify Consoleの環境変数でAll branchesに設定した値が使用されてしまうということで、All branchesに本番環境の値を入力し、Overrideの方に開発環境の値を書くよう入れ替えました。
すると設定してからビルドすることで本番環境の値が使われるようになりました。
雑に書いてしまいましたが、ここまで理解できた方はお察しの通り、この処置は開発環境で今度は本番環境の値が使われてしまうということになります。

本来であればバグですが、今回は本番環境の障害を解消できるということでこちらの応急処置を行いました。正しい回避方法などは冒頭にも書きましたがAWS側にも調査していただいている最中なので続報があれば追記します。

このスクラップは2021/08/09にクローズされました