一度 AWS に deploy してた Serverless 化したアプリを再デプロイしようとしたらエラーになってしまったのメモ。
$ sls deploy
で再デプロイしようとしたらエラーになってロールバックされてしまった。
$ sls deploy # … Serverless Error --------------------------------------- # … エラー内容また取れたら書く
AWS の cloudwatch からデプロイエラーの内容を見るとどうやら DynamoDB の部分でエラーが起こっているっぽい。
serverless.yml
の DynamoDB の設定部分に DeletionPolicy: Retain
があると削除には IAM のアクセス権限がないとダメっぽい。
Serverless deploy で作られていた DynamoDB が削除されて作り直されるわけではなさそうですが、 IAM のアクセス権限が無いのが問題っぽい雰囲気
DynamoDB を操作する IAM role が足りなかった
Serverless deploy で使ってる IAM ユーザーに AWS のコンソールから AmazonDynamoDBFullAccess の権限をつければOK。
権限を付けて再度 $ sls deploy
コマンドを実行したら問題なくデプロイできた。
おわり。
[参考]
マイクロサービスパターン[実践的システムデザインのためのコード解説] impress top gearシリーズ
- 作者:Chris Richardson,長尾高弘,樽澤広亨
- 発売日: 2020/03/23
- メディア: Kindle版