AWS Amplifyでアプリケーションを構築しています。
環境毎に異なる定数をパラメータストアに登録して管理しています。
今回は、Amplifyのデプロイでパラメータストアのエラーが出て失敗した場合の対処法をご紹介します。
経緯
デプロイ成功した状態のアプリに、エラー系のテストをする必要があり、とあるパラメータストアに誤った値をわざと設定して処理をコケさせようと目論みました。
具体的には、あるAPIのURLを設定しているテキストのパラメータについて、ダブルクォーテーションをわざと消してみました。(パラメータストアってなぜかダブルクォーテーションでテキストを囲む必要があります)
パラメータストアの値を変更して、アプリを動作させてみると意図したアプリのエラーは発生しませんでした。(つまり変更が取り込まれない)
「ふむ、パラメータストアを変更したら再デプロイしないと変更を読み込まないんだな。」と理解しました。
そこで再デプロイすると…
2025-05-19T08:27:52.407Z [INFO]: 🛑 Failed to download the following parameters from ParameterStore:
となり、デプロイ失敗しました。
その下にダウンロードできないパラメータが、変更したパラメータ以外にも複数列挙されています。
正しいパラメータストア値に戻して設定して再デプロイしたところ、同じ個所で同じエラーとなりました。
やだなやだなー。
ググっても何もひっかからず。
一旦パラメータストアを削除して新たに同じものを登録しなおしてみる事を試してみました。
すると、デプロイ成功しました。
Amplifyのデプロイとパラメータストアの豆知識
以上のことから分かったことを記録しておきます。
- デプロイ済みのアプリケーションで、パラメータストアだけを後から変更しても反映されない。つまり、デプロイ時に値を参照してアプリケーションに組み込むため変更は反映されない。
- パラメータストアを変更して再デプロイすれば変更した値が反映されるが、稀にデプロイエラーになることがある。エラーになったらパラメータストアを削除して再作成してみたらデプロイ成功することもある。