Aws::Errors::MissingCredentialsError: unable to sign request without credentials setが出た

f:id:ihatov08:20170315165347j:plain

AWS SESでAws::Errors::MissingCredentialsErrorが出た

RailsのmailerでAWS SESを使っていたのですが、ローカル開発環境では動くのですが、本番環境ではAws::Errors::MissingCredentialsErrorが出てしまいました。
Credential情報は環境変数にもたせていました。

解決方法:unicornの再起動

unicornを再起動したら認証が通りました。
deployにはcapistranoを使っているのですが、unicorn:restartではすぐに環境変数を読み込んでくれないようです。
capistrano3-unicornを導入していたので、

$ cap production unicorn:stop
$ cap production unicorn:start

で環境変数を読み込んでくれるようになりました。
しかし、この方法だと数分ダウンタイムが生じてしまうので、他にいい方法を模索中です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です