$30 off During Our Annual Pro Sale. View Details »

メール配信基盤をAmazon SESに移行した話

メール配信基盤をAmazon SESに移行した話

山田哲也

October 02, 2023
Tweet

More Decks by 山田哲也

Other Decks in Technology

Transcript

  1. メール配信基盤を
    Amazon SESに移行した話
    株式会社リーディングマーク 山田 哲也

    View Slide

  2. 山田哲也
    株式会社リーディングマーク所属
    インフラエンジニア
    X(旧Twitter):@techi_dev

    View Slide

  3. View Slide

  4. 移行の背景

    View Slide

  5. 移行前のメール配信
    サービス ユーザー
    Mandrill
    (Mailchimp)

    View Slide

  6. Mandrill
    (Mailchimp)
    移行前のメール配信
    サービス ユーザー
    障害が多発!(去年5回ほど)
    ひどい時は一日中メール機能
    が使えない日も

    View Slide

  7. 他サービスへ移行を決断

    View Slide

  8. サービス 料金 メリット
    Amazon SES 1,000通/0.10USD
    ・awsサービスで統一できるので管理しやすい
    ・料金が圧倒的に安い
    ・AWSのサポートを受けられる
    Send Grid 100,000通/12,000円
    ・Railsライブラリがあるため導入が楽
    ・事例や公式のドキュメントが充実している
    ・HTMLメールのテンプレートもGUIで作れる
    ・日本語サポートあり
    移行先メール配信基盤の選定

    View Slide

  9. サービス 料金 メリット
    Amazon SES 1,000通/0.10USD
    ・awsサービスで統一できるので管理しやすい
    ・料金が圧倒的に安い
    ・AWSのサポートを受けられる
    Send Grid 40000通/2300円
    ・導入が楽
    ・事例や公式のドキュメントが充実している
    ・HTMLメールのテンプレートもGUIで作れる
    ・日本語サポートあり
    移行先メール配信基盤の選定
    導入や運用を考えるとSendGridの方が圧倒的に楽だったが、
    AWSの知見を社内に溜めていきたいという想いから
    Amazon SESへの移行を選択

    View Slide

  10. メール配信基盤の
    アーキテクチャ

    View Slide

  11. メール送信&ステータス保存

    View Slide

  12. メール送信&ステータス保存
    このままだとサービス側でメッセージIDがわからないため
    特定のメールステータスを検索することができない。
    セカンドリリースとしてステータス参照機能を実装。

    View Slide

  13. メール送信&ステータス保存

    View Slide

  14. メール送信&ステータス保存
    メッセージIDをサービスで利用しているDBに保存。
    メッセージIDからメールステータス情報を取得できるように。

    View Slide

  15. メールイベントデータの保存
    ユーザーから
    「メールが届かない」などの
    問い合わせがあった際に使用。
    サプレッションリストに登録され
    てしまっているケースが多い。

    View Slide

  16. 障害発生時のメール送信

    View Slide

  17. 移行後のメール配信基盤構成

    View Slide

  18. 最後に
    メール送信が安定した(障害率0.018%)
    コストがMailChimpの時と比べて1/3になった
    多くのAWSサービスに触れられ知見が深まった
    アラートなど監視環境の整備
    移行して良かった点
    今後の課題

    View Slide

  19. Thank You

    View Slide