1回答
- 新しい順
- 投票が多い順
- コメントが多い順
0
"Unable to locate credentials"なのでIAMロールに必要な権限が設定されているか確認する必要があります。
なのでAppRunnerのサービスロールにSESFullAccess (フルアクセスは本当はあまりよくないですが...) を設定することで使用できるようになると思います。
https://docs.aws.amazon.com/ja_jp/apprunner/latest/dg/security_iam_service-with-iam.html
設定する場所はインスタンスロールで合っています。
再デプロイまで行わなくても追加できると思います。
App Runnerのサービスを選択して設定タブから「ソースおよびデプロイ」の編集から変更可能です。
回答ありがとうございます!教えてくださったようにIAMロールを作成してSESFullAccessを与え、サービスの設定からインスタンスロールに作成したロールを当てはめました。その後サイトからユーザー登録しようとするとタイムアウトしてしまうようになりました。メールも送信されておらず、CloudWatchのログをみてもこれといったエラーは表示されていません。先ほどのロールを確認すると最後のアクティビティがなしになっています。何が原因なのでしょうか。 S3やRDSとも接続しているのですが、これらとはsettings.pyにアクセスキーを環境変数で置き換えて、AppRunner側に内容を書き込んでいます(要するに、IAMユーザーを使っているということ)。このIAMユーザーとIAMポリシーを同時につかっていることが問題だったりするのでしょうか?
前回と同じようにタイムアウトエラーなのでSESへの通信がVPCを経由していると思います。 なのでSESのVPCエンドポイントを設定してみてください。 https://docs.aws.amazon.com/ja_jp/ses/latest/dg/send-email-set-up-vpc-endpoints.html
また、IAMロールを設定している場合はアクセスキーは不要だと思います。