The Wayback Machine - https://web.archive.org/web/20151213074451/http://www.slideshare.net/AmazonWebServicesJapan/aws-30934799

AWSからのメール送信

47,534
-1

Published on

Published in: Technology
1 Comment
153 Likes
Statistics
Notes
No Downloads
Views
Total Views
47,534
On Slideshare
0
From Embeds
0
Number of Embeds
28
Actions
Shares
0
Downloads
271
Comments
1
Likes
153
Embeds 0
No embeds

No notes for slide

AWSからのメール送信

  1. 1. AWSからのEmail送信 Amazon  Data  Services  Japan
  2. 2. AWSからのメール配信の選択肢 1.  EC2上にMail  Transfer  Agent  (MTA)を構築して配信 2.  Amazon  Simple  Email  Service  (SES)の利利⽤用 3.  外部Email配信サービスの利利⽤用 3.についてはAWS特有の⼿手順はないため省省略略して以降降では 1.,  2.を取り扱います 2
  3. 3. EC2上にMTAを構築して配信 "   利利点 •  慣れたMTAや既存のノウハウを活かして構築・運⽤用が可能 •  携帯キャリア向けの送信ルールの適⽤用など、柔軟な制御が可能 "   注意点 •  構築・運⽤用・障害対策やスケールの調整などは⾃自⾝身で⾏行行わなけ ればならない •  Email送信のための制限解除やDNS逆引きなどフォームによる 申請が必要な項⽬目あり(後述) 3
  4. 4. Simple  Email  Service  (SES)の利利⽤用 "   利利点 •  AWSが管理理するクリーンに保たれた(Spammer登録などされてい ない)⼤大きなIPアドレスプールを使ってメール送信可能 •  MTAを⾃自前で⽴立立てなくてもAPIを叩く事でメール送信可 •  簡単DKIM設定 "   注意点 •  現状⽇日本国内の携帯キャリアの制限を⼗十分考慮した配信アルゴリズ ムにはなっていない(特に迷惑メールフィルタの考慮など) •  BounceやComplaintの処理理を⾏行行っていないと送信レートの抑制や 送信停⽌止措置が取られる事もある (IPアドレスプールをクリーンに保つとともに、世の中のメールの 信頼性・健全性向上を促すため) •  SESのエンドポイント及び送信元IPアドレスはUS-‐‑‒east-‐‑‒1となる (2013年年12⽉月現在) 4
  5. 5. 2つの選択肢から適切切な⽅方法を選ぶ基準 Bounce処理理 を実装予定 No Bounce処理理はどちら の⽅方法でも重要です。 実装しましょう。 Yes 携帯キャリア のアドレスに 送信予定あり Yes 1.  EC2上のMTA構築 を検討 No Bounceやコンテン ツの問題による送信 レート抑制を受⼊入可 No Yes 2.  SESの利利⽤用も考慮に 5
  6. 6. EC2からメール送信を⾏行行う前の準備
  7. 7. EC2インスタンスからのメール送信 "   デフォルトでは外向きTCP  25番ポートは制限対象 •  Spamのリレーを防ぐ •  誤ったSpam送信から利利⽤用者様を守る SMTP (TCP:  25) MTA SMTPS (TCP:  587) 587番を使って認証付き で外部サービスを利利⽤用す るのは特に制限なし àこの制限は申請ベースで解除出来ます 7
  8. 8. EC2でMTAを構築するまで 1.  MTAのホスト名とIPアドレスを⽤用意 •  ホスト名を決める •  Elastic  IPを取得 •  ホストのAレコードをドメインに登録する 2.  制限解除と逆引きDNSの登録を申請する 3.  メール関連のDNS設定を⾏行行う •  SPFレコード •  DKIM •  MXレコード  (Optional:  受信もする場合) 8
  9. 9. 構成とDNSレコードの例例 DNS example.com "   DNSレコード例例 ;;  example.com @  IN  A    203.0.113.3 @  IN  MX  10  mx1 @  IN  MX  20  mx2 mx1  IN  A    203.0.113.4 mx1  IN  A    203.0.113.5 DNS *.113.0.203 逆引き申請 で登録 mta1  IN  A  203.0.113.6 mta2  IN  A  203.0.113.7 @    IN  TXT  "v=sfp1  ip……" @    IN  SPF  "v=sfp1  ip……” 4.  SPF? 5.  SPF "v=sfp1  ip…" 3.  PTR mta1.example.com 2.   203.0.113.6? mx.receiver.com 1.   (Bounce/error)  * RCPT  TO  alice@receiver.com MAIL  FROM  bounce@example.com mta1 mta2 mx1 *⼀一般にバウンス等のエラーは受信側MXサーバによりセットされるreturn-‐‑‒pathヘッダに記載のア ドレスに返される。 9 mx2
  10. 10. 1.  MTAのホスト名とIPアドレス "   MTAのホスト名を決める •  例例:mta1.example.com,  mta2.example.com   "   IPアドレスの取得 •  通常通りElastic  IPをホスト名の数だけ取得 "   DNS  Aレコードを登録 •  mta1.example.com IN   A •  mta2.example.com IN A <EIP  1> <EIP  2> 10
  11. 11. 2.  制限解除と逆引きDNSの登録を申請 " 専⽤用フォームより申請 •  AWSのHP下部 11
  12. 12. 申請フォーム "   メール送信の⽬目的を記⼊入 "   申請対象のEIP DNSの正引きの ⼀一致が必要 "   EIPの逆引き結果 となるべきホスト 名を記⼊入 12
  13. 13. 申請時の注意点 "   ユースケースはUS側で対応するため英語でご記⼊入下さい •  難しい場合は担当営業にご相談下さい "   DNS •  正引き結果が申請内容と⼀一致する場合のみ逆引き設定を⾏行行います à  正引きの設定をした上で申請をお願いします 13
  14. 14. 3.  SPF,  DKIMの設定
  15. 15. SMTPにおける送信元認証のための技術 "   送信元IPアドレスに基づく認証 •  Sender  Policy  Framework  (SPF) •  Sender  ID à 各ドメインでメール送信元であるべきホストのIPアドレスやド メイン名をDNSで公開 à 各DNSドメインにレコードを追加するだけで開始できる "   送信元による署名に基づく認証 •  Domain  Keys  Identified  Mail  (DKIM) à送信元で各メールにデジタル署名をし、公開鍵をDNSで公開 à送信者あるいは送信元サーバでの対応が必要
  16. 16. SPFの設定例例 "   送信元サーバの逆引き結果が*.example.comである場 合に正当な送信者であると宣⾔言する場合の設定例例 •  ⼀一致しない場合はソフトフェイルとする場合 example.com. TXT example.com. SPF "v=spf1  include:example.com  ~∼all“ "v=spf1  include:example.com  ~∼all“ •  ⼀一致しない場合はハードフェイルとする場合 (⼀一致しない場合に受信側MTAに受信拒否を要求) example.com. TXT "v=spf1  include:example.com  -‐‑‒all“ example.com. SPF "v=spf1  include:example.com  -‐‑‒all“ 注:RFC4408によれば、SPFかTXTどちらかが定義されていれば動作 するものの、両⽅方のレコードに同内容を設定することが推奨される 16
  17. 17. SPFの設定例例  (SESの場合) "   送信元サーバの逆引き結果が*.example.comである場 合に正当な送信者であると宣⾔言する場合の設定例例 •  ⼀一致しない場合はソフトフェイルとする場合 example.com. TXT example.com. SPF "v=spf1  include:amazonses.com  ~∼all“ "v=spf1  include:amazonses.com  ~∼all“ •  ⼀一致しない場合はハードフェイルとする場合 (⼀一致しない場合に受信側MTAに受信拒否を要求) example.com. TXT "v=spf1  include:amazonses.com  -‐‑‒all“ example.com. SPF "v=spf1  include:amazonses.com  -‐‑‒all“ 注:RFC4408によれば、SPFかTXTどちらかが定義されていれば動作 するものの、両⽅方のレコードに同内容を設定することが推奨される 17
  18. 18. DKIM有効化時のメール送受信の流流れ "   MTAでキーペアを管理理、公開鍵をTXTレコードで送信元 ドメインに設定 1.  Email送信 From:  foo@sender.com To:  bar@receiver.com 2.  署名付きEmail送信 From:  foo@sender.com To:  bar@receiver.com DKIM-‐‑‒Signature:  s=xyz;  d=sender.com  … smtp.receiver.com MTA 3.  公開鍵問い合わせ   TXT  xyz._̲domainkey.sender.com sender.com 4.  公開鍵返答   TXT  “公開鍵” MTA及びDNSに必要な設定をすることで導⼊入
  19. 19. DKIM有効化時のメール送受信の流流れ (SESの場合) "   SES側でキーペアを管理理、公開鍵をCNAMEでユーザド メインに設定 2.  署名付きEmail送信 1.  Email送信 From:  foo@sender.com To:  bar@receiver.com From:  foo@sender.com To:  bar@receiver.com DKIM-‐‑‒Signature:  s=xyz;  d=sender.com  … SES sender.com amazonses.com smtp.receiver.com 3.  公開鍵問い合わせ   TXT  xyz._̲domainkey.sender.com 4.  CNAMEレコード返答   CNAME  xyz.dkim.amazonses.com 5.  公開鍵問い合わせ   TXT  xyz.dkim.amazonses.com 6.  公開鍵返答   TXT  “公開鍵”
  20. 20. SESの簡単DKIM設定機能 1.  ドメインを選択 2.  DKIMタブで有効化 3.  DNSにレコードを追加 •  Route53なら2クリック! 4.  設定完了了通知を待つ
  21. 21. Bounce処理理の実装
  22. 22. SMTPの正常時のシグナリング HELO  sender.example.com 250  OK Sender.example.com MAIL  FROM:  user@example.com 250  OK example.jp RCPT  TO:  user1@example.jp 250  OK MTA MUA DATA 354  Start ヘッダ,本⽂文..  <CRLF>.<CRLF> 250  OK QUIT 250  OK
  23. 23. SMTPのステータスコード "   200番台 •  正常応答 •  情報提供 "   300番台 •  データ⼊入⼒力力を促す(354) "   400番台 •  ⼀一時的なエラー:  サーバシャットダウン、メールボックスbusy、 メールボックス溢れ "   500番台 •  システムエラー:  コマンド間違い •  転送エラー:  メールアドレスなし、処理理失敗通知
  24. 24. 配信エラーメール "   SMTPセッション時のエラー •  送信元のMTAが作成。 •  エンベロープの発信者メールアドレスにエラーメールが戻る (Return-‐‑‒Path  or  Errors-‐‑‒To  ヘッダに記載) "   SMTPセッション時以外 •  送信先のMTAが作成 •  エンベロープの発信者メールアドレスにエラーメールがに戻る エラー発⽣生時、ユーザが存在しないなどの恒久的なエラー(ハードバウンス) については再度度送信しないように送信側で対処(バウンス処理理)が必要
  25. 25. バルクメール配信とバウンス処理理の例例 Message Producer Message  to   each  receiver smtp Bounce記録のあ る宛先を除いて 送信先を抽出 顧客情報 送信中/送信済 ステートを記録 (送信中/送信済 はスキップ) 送信ステート テーブル 25
  26. 26. バルクメール配信とバウンス処理理の例例 (SESの場合) Message Producer Message  to   each  receiver Amazon  SNS Bounce記録のあ る宛先を除いて 送信先を抽出 顧客情報 送信中/送信済 ステートを記録 (送信中/送信済 はスキップ) Amazon  SES 送信ステート テーブル 26
  27. 27. 参考情報 "   携帯キャリア各社からのメール送信に関する注意事項 •  送信ドメイン認証(Sender  ID/SPF)について  |  NTTドコモ •  http://www.nttdocomo.co.jp/service/communication/imode_̲mail/ notice/sender_̲id/ •  同報メールを⼤大量量に送信されるお客様へ  |  NTTドコモ •  http://www.nttdocomo.co.jp/service/communication/imode_̲mail/ notice/mass_̲send/ •  EZwebへメール送信する際の注意事項(概要)│au •  http://www.au.kddi.com/mobile/service/mail/attention/ •  メール送信時のお願い│EZwebへメール送信する際の注意事項(概要)│au •  http://www.au.kddi.com/mobile/service/mail/attention/request/ •  迷惑メールに対するソフトバンクモバイルの取り組み  |  ソフトバンクモバイル •  http://www.softbank.jp/mobile/support/antispam/report/wrestle/ "   メールシステムのおはなし  #Mailerstudy •  http://www.slideshare.net/ar_̲maniacs/mailerstudy 27
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×