SESのバンス対策

エキサイトでファクタリングの開発をしている、森脇です。

今回はファクタリングで使用しているSESのバンス対策について書こうと思います。

ファクタリング事業とは

BtoB向け後払い決済・請求代行サービスです 法人向けサービスの事業拡大に取り組む企業様の①請求・回収業務の効率化、②未回収リスクの解消、③資金繰りの改善を実現します。

法人向けサービスの事業拡大に取り組む際、顧客候補に対する与信審査や、成約した顧客に対する請求・回収業務、事業運営に必要な運転資金の確保などの付随業務が発生し、100%のリソースを営業先開拓や商品開発に注力することへの阻害要因となってきました。

与信審査/請求書発行/請求書送付/入金消込/督促等の請求・回収業務など付随業務をすべて代行します。加えて、登録された請求については全額を保証し、早期の資金ニーズがある場合には取引内容の登録後、最短翌日入金も可能とし、積極的な事業拡大に取り組む企業が抱える請求・回収業務の負荷や資金繰りに関する課題を解決します。

事業自体はクレディセゾン様と協業で行っております

prtimes.jp

システム概要

システムでは、請求データを登録するだけで、後は全て自動で行うようになっています。 期日になれば、請求書が作られ、メールか郵送で請求書が送付され、入金があれば消し込みを行う、DX化がされています

請求書の送付はSESを使ってメールで送信しております、システム構成はこんな感じです。

システム構成

f:id:moriwaki111:20211213093709p:plain

SESの送信ログをSNSを通して、SQSに溜めAWS Batchを使ってキューを取得して、解析を行い結果をDBに書き込みます。

オンプレ時代の課題

・ログをメールサーバーからどうやって取得するか ・メールのログをどうやってパースするのか ・解析処理をどういうタイミングで行うのか ・ログファイルの何処から処理を開始するか ・などなど

考えることは多岐にわたり、実装も大変です、AWSのサービスを使うとそう言った煩わしい問題がほぼ解決されます。

設定

すごく簡単です、SESのNotificationsの設定にSNSのトピックを設定します。 f:id:moriwaki111:20211213093954p:plain

SNSではサブスクリプション先として、SQSを指定してあげます。 あとはSQSからデータを取り出すバッチを書いて終了です。

テスト

面倒なテストですが、そこもAWSが用意してくれています。 以下の公式ドキュメントに詳しく書かれています。

docs.aws.amazon.com

バンスの確認をしたければ、bounce@simulator.amazonses.com 宛にメールを送ればバンスの処理を行うことができるようになっています。バンス以外にも苦情系のメアドも用意されているので、細かく状況に応じて処理を行うことができるようになっています。

最後に

AWSであれば簡単に実装でき、運用もほぼ手をかけることなく安定した運用が可能になるので、アプリケーションの開発に注力することができます。 今後もAWSのいろんなサービスに触れていきたいと思います。