Serverless Frameworkで出たエラーの対処法(ちょっとだけ)

AWS運用自動化サービス「Cloud Automator」
この記事は1年以上前に書かれたものです。
内容が古い可能性がありますのでご注意ください。

はじめに

花粉がかなり舞って、マスクしてる方多いですよね。僕の周りの方々もくしゃみしたりして大変そうです。
今回はエラー特集と題して、Serverless Frameworkを使ってて出たエラーの対処法(ちょっとだけ)をお送りします。
(後、やったほうがいいことも)

エラーその1 「Missing required key ‘Bucket’ in params」

エラー内容

最初にserverless.ymlの「service」名を変更した後、sls deployを実行したときにこのようなエラーが発生しました。

S3の権限がないのかと思い、serverless.ymlを見直してもフルアクセスになってました

sls deplysls remove を繰り返し実行していると、以下のメッセージに到達。

対処

一番最初に出てたエラーメッセージ An error occurred: ServerlessDeploymentBucket - API: s3:CreateBucket Access Denied. をキーワードに調査してみると CloudFormation というキーワードが出てきたので、Stackを削除。
以後は正常にデプロイされました。

その他

他にも確認するべきところがあり、S3バケットが上限(100)に達していないかなども確認しておくべきポイントです。

参考URL

qiita

エラーその2 「ServerlessError: Signature expired」

エラー内容

単純にデプロイ sls deploy を実行してみました。すると以下のメッセージが出力

AWSにデプロイするときにクライアント側の時刻が現在時刻と10分以上差があったので、 Signature expired が発生。

対処

時刻がズレてるので、時刻同期をしました。

参考URL

qiita

番外編:やったほうがいいこと

Serverless Frameworを使って開発を行っているとどうしてもserverless.ymlが大きくなってメンテナンスがしにくくなってきます。
そんなときにファイルを分けて書く方法があります。

分割前

分割後

serverless.yml

config/functions.yml

config/aws.yml

それから

これ以外にも色々serverless.ymlの書き方があるので、それについてはまた別のタイミングで書きます。

さいごに

使ってると色々問題にブチ当たって解決していくかと思います。
これからも継続的にアウトプットしていこうかと思います。
尚、私の花粉症アウトプットは今のところ、くしゃみのみです。
それでは。

AWS運用自動化サービス「Cloud Automator」