AWSマイスターシリーズ
~Simple Email Service (SES)~

                 2011年12月7日
                 荒木 靖宏 (@ar1 )
                 ソリューションアーキテクト
                 玉川憲(@kentamagawa)
                 エバンジェリスト
Amazon Simple Email Service (SES)とは

 メール送信のためにMTAを運用する手間から開放するAWSの
 サービス
   初期費用やコミッションなし。低価格。
   配送機能のみの提供
 Email配送APIの提供
   Java, .NET, PHP, Perlによるスクリプトの提供
   APIの直接コール(HTTPS)
 スケーラブル
   稼働時間とメール到達性に最適化
   Amazonで証明された配送実績
アジェンダ

Amazon SESとは
  1枚にまとめました

メールシステム超基本編
  これであなたもメール談義ができるように!
メールシステム現実編
  これであなたもメール騙りができるように!


Amazon SESの紹介
  本編
キレイゴトの世界




メールシステム 超基本編
これであなたもメールの話題の輪に加われます
メールシステム全体
         DNS
                インターネット                      NTP
メールサーバ




               Mail Delivery
                  Agent
                               Mail Transfer Agent (MTA)
             Mailbox



             Mail User Agent (MUA)
Mail User Agent

 ユーザが利用するアプリケーション
     メールを読む
     メールを書く
     メールを保存する
     メールを検索する
 例
   Thunderbird, Outlook, ….
 単純な利用者にとってはこれだけがメールとの接点
Mail Transfer Agent

 メールの受信
 送信先の決定
 メールの送信
   リモートへ(SMTP)
   ローカルへ(MDAへ)
 キューイング
 エラー通知
 実装例
   Sendmail, qmail, Exchange, Postfix, Exim,..
メールメッセージ
メールアドレス

発信者と受信者を特定する情報
user@example.com

           ドメイン
 ユーザ部
             部

(失われた)その他形式
  user % example.com @ relay
  @relay: user@example.com
  example.com ! user
ヘッダと本文

RFC5322(822->2822と変遷)で定義
ヘッダ
  ヘッダ名: ヘッダ内容


ヘッダと本文は空行で分ける

   To: yasu@debian.or.jp
   From: ar@debian.org
   Subject: test

   本文の1行目
ヘッダとエンベロープ

SMTPのRFCで定義。5321(821->2821と変遷)

エンベロープ
  送信手続をした人と、配送先。封書の表書きのイメージ
  MUAやMTAが作成する。MTAは配信ホップ毎に書きかえる。
ヘッダ
  封書の中身に「だれだれさんから、だれだれさんへ」と書くの
   に相当
  本文を書いた人(From)が読んで欲しい人(To)を記述
ヘッダとエンベロープが一致しない例
  個人にあてられたbcc
  メーリングリスト
プロトコル
         DNS
               インターネット      NTP
メールサーバ




                ローカル
               ファイル操作



                         SMTP
                IMAP
                POP3
                SMTP
DNSとメール

user@example.comにどう届く?
  送信側: MXレコードに書かれたアドレスのAレコード宛に送信
   する

MXレコード
  優先度を指定できる(数値が小さいほうが優先される)


たまに見る間違い
  CNAMEを指定する(RFC2181で禁止)
  MTAによってはメールが届かない
DNSを使った送信先決定

                                           DNS root server

                        DNS
           MTA          cache server   2
                  1,5                                   .com SOA
                                           3

1. Example.comのMXレコード?
2. Example.comのMXレコード?→.comに聞け
3. Example.comのMXレコード?→.example.comに聞け
4. Example.comのMXレコード?→10 mail.example.comだ         4    .example.com SOA
   よ
5. Mail.example.comのAレコード?....
$ dig mx hiroba.org
;; QUESTION SECTION:
;hiroba.org.         IN      MX

;; ANSWER SECTION:
hiroba.org.     86400 IN     MX   5 alt1.aspmx.l.google.com.
hiroba.org.     86400 IN     MX   5 alt2.aspmx.l.google.com.
hiroba.org.     86400 IN     MX   10 aspmx2.googlemail.com.
hiroba.org.     86400 IN     MX   10 aspmx3.googlemail.com.
hiroba.org.     86400 IN     MX   10 aspmx4.googlemail.com.
hiroba.org.     86400 IN     MX   10 aspmx5.googlemail.com.
hiroba.org.     86400 IN     MX   1 aspmx.l.google.com.

;; AUTHORITY SECTION:
hiroba.org.     170129       IN   NS    ns-165.awsdns-20.com.
hiroba.org.     170129       IN   NS    ns-1624.awsdns-11.co.uk.
hiroba.org.     170129       IN   NS    ns-1347.awsdns-40.org.
hiroba.org.     170129       IN   NS    ns-1003.awsdns-61.net.

;; ADDITIONAL SECTION:
aspmx.l.google.com.      185 IN   A     74.125.127.27
alt1.aspmx.l.google.com. 187 IN   A     74.125.45.27
alt2.aspmx.l.google.com. 197 IN   A     74.125.93.27
aspmx2.googlemail.com. 2212 IN    A     74.125.43.27
aspmx3.googlemail.com. 2213 IN    A     74.125.127.27
aspmx4.googlemail.com. 2945 IN    A     209.85.229.27
aspmx5.googlemail.com. 1888 IN    A     74.125.157.27
ns-165.awsdns-20.com. 44352 IN    A     205.251.192.165
ns-1003.awsdns-61.net. 44352 IN   A     205.251.195.235
ns-1347.awsdns-40.org. 162645     IN    A     205.251.197.67
SMTP
                     HELO sender.example.com
                     250 OK

                     MAIL FROM: user@example.com
Sender.example.com   250 OK                        example.jp

                     RCPT TO: user1@example.jp
                     250 OK

                     DATA
     MTA             354 Start
     MUA
                     ヘッダ,本文.. <CRLF>.<CRLF>
                     250 OK

                     QUIT
                     250 OK
SMTPのステータスコード

200番台
  正常応答
  情報提供
300番台
  データ入力を促す(354)
400番台
  一時的なエラー: サーバシャットダウン、メールボックス
   busy、メールボックス溢れ
500番台
  システムエラー: コマンド間違い
  転送エラー: メールアドレスなし、処理失敗通知
メーリングリスト配送の場合
          HELO sender.example.com
          250 OK

          MAIL FROM: user@example.com
          250 OK



MLプログラム   RCPT TO: user1@example.jp            配送サーバ
          250 OK
          RCPT TO: user2@example.jp
          250 OK

                                        参加者分くりかえ
                                            し
          DATA
          354 Start
                                                   SMTPの規
          ヘッダ,本文.. <CRLF>.<CRLF>
                                                   定ではすく
          250 OK                                   なくとも50
          QUIT                                       まで
          250 OK
配信エラーメール

SMTPセッション時のエラー
  送信元のMTAが作成。
  エンベロープの発信者メールアドレスにエラーメールが戻る

SMTPセッション時以外
  送信先のMTAが作成
  エンベロープの発信者に戻る or Errors-To:
参加者みなさまと
               おはなししていきたい




メールシステム 現実編
これであなたもメール管理者の穴にはいれます
vs SPAM

 メールの悲しみ
  他者からの入力を認証なしにうけつけてしまったのが発端

 個人として
  受信したときの対応はどうとでもなる: フィルタでもなんでも
   できる
  自分のメールアドレスでSPAMを送信されたときは大変。


 サーバ管理者として
  受信する側: 下手な対応はできない
  送信する側: ものすごく厳しくするのオススメ
Port25 blocking

 ターゲットの主体は動的IPアドレス
   動的っぽい(機械生成チック)アドレス名を手で更新する例も。


 動的IPアドレスから外向きPort25のブロック
   全てのEmailはISPのMTA経由に
   submission portへの対応
   AWSでも外向き25のブロックは頻繁に行われます
 動的IPアドレスからの内向きPort25のブロック
   MAPS DUL (Dynamic User List)等
メールブロック(AntiSpam)手法:受信側

 ネットワーク事業者によるもの
  Portブロック
 受け手によるもの
    IPアドレスブロック
    国ブロック
    地域ブロック
    DNS逆引きブロック    維持管理団体の出現
    DNS性逆一致ブロック
    ヘッダブロック
    本文ブロック
DNSBL (DNS Blacklist)

 フィルタリング情報をDNSにのせて配布

 メジャーどころ
   spamhous
   Trendmicro(MAPS)

 日本
   スパムちゃんぷるーdnsbl
      • http://spam-champuru.livedoor.com/dnsbl/
   rbl.jp

 他にも山のように存在
   http://en.wikipedia.org/wiki/Comparison_of_DNS_blacklists
spam扱いされない送信側作法

超基本の第三者中継チェック
  http://spamlinks.net/prevent-secure-relay-test.htm
DBの定期的確認
  http://www.dnsbl.info/dnsbl-database-check.php
  http://www.senderbase.org/help/blocked
DNS
  逆引きを忘れずに
      • 正逆一致しないと受けとらないMTA多数あり
  SPFレコード
      • RFC4408参照。
DKIM
  DKIM導入リコメンド
      • http://www.dkim.jp/dkim-jp/recommend/
  国内の主要送信事業者11社がDKIMに対応完了(2011年7月26日)
現状のメール環境の意識は人によって大きく異
なる
対Spam意識が高い(=メールボックスが割りとクリーン)
  メールアドレスの使い分け(ステアドレスの使用)
  MUAでのアンチスパム機能の利用とDBメンテナンス

一方でメールを諦める人も
  各種ソーシャルネットワーキングサービスの利用
  SMS
受信側の現実解

アプライアンス
  メール専用機:
    • Mirapoint, Ironport…..
  UTM:
    • Sonicwall, UTM-1 (checkpoint)….

SaaS
  Gmail, McAfee, Trend Micro HES…
送信側の現実解

アプリケーション
  MailPublisher(エイケア), Cuenote (ユミルリンク), SIELLA
   (レピカ), WEBCAS(エイジア)


Amazon Simple Email Service
Amazon Simple Email Serviceのご紹介
SESはメール配送機能のみを提供

Bodyやヘッダを使ったサービスを提供するものではありません。
メール送信API

 SendEmailAPI (定形フォーマット)
  From, To, Subject, BodyをAPIで指定

 SendRawEmailAPI (自由フォーマット)
  すべて設定する必要あり
    • ヘッダ
    • MIME Type
    • Body

 既存MTAからのリレーも可能
  PostfixやSendmail等で使えるAPIコールスクリプト公開
Feedback API

 GetSendStatistics API
     配送終了
     拒否されたメッセージ
     Hard Bounces(永続的配送エラー)
     Complaints(受信者がSpamとして処理)
配送環境管理

制限
  自動でだんだんと緩和
  GetSendQuota API
     • 24時間毎の配送数制限
     • 配送速度(秒単位)制限
  Web Formから緩和リクエスト可能
Anti-Spam
  配信内容はAWSにより全スキャン
  DKIM, SPF, SenderIDのサポート
  ISPからのフィードバックのリアルタイム監視
利用までの流れ

登録
送信元メールアドレス(ホワイトリスト)の登録
サンドボックス環境でのテスト
  Amazon SES script または APIのダイレクトコール
  定形形式または自由形式
production accessへのリクエスト
  Amazon SES Production Access formへの入力
送信メールアドレスの登録
確認メールが届きます
確認画面
配送のリミット

 同時に扱えるアドレス数は50まで
  SMTPのRFCに準拠
 メッセージサイズは10MBまで
 配送能力制限
配送コスト

メール総数+転送量
  1000通毎に0.1ドル。添付ファイル GB 当たり 0.12ドル
  転送量
コスト例

 20KBのメールを月間2億通
  配送数課金:200 * 10^6 * 0.1 / 10^3 = 20000ドル
  転送量課金:10000 * 0.15 + 22000 * 0.11 = 3920ドル


 100KBのメールを毎日1000通:10.7ドル
 10KBのメールを毎日1000通:3.73ドル

 EC2からのAPIで配送すると一日2000通までは無料
追加情報

Amazon SES Detail Page:
  http://aws.amazon.com/ses/
Amazon SES FAQs:
  http://aws.amazon.com/ses/faqs/
Amazon SES Documentation:
  http://aws.amazon.com/documentation/ses/
Tools:
  http://aws.amazon.com/developertools/Amazon-SES
Amazon SES Production Access:
  http://aws.amazon.com/ses/fullaccessrequestsuccess
Amazon SES Limit Increase:
  http://aws.amazon.com/ses/extendedaccessrequest
日本のお客様からのFAQ

配送元は国内か?
  現在は米国から(US-EASTから)
携帯キャリア対応?
  SenderID, DKIM, SPFに対応しています
  特定接続サービス等は未対応とお考え下さい
絵文字対応?
  変換サービスなどはありません。
開封確認?
  SESは配送機能のみの提供です。
既存メールサーバとの統合?
  APIをコールするスクリプト等を使ったリレーが可能
AWSプレミアムサポート
   アーキテクチャ設計に関するガイダンス、ベストプラク
   ティスも日本語でご案内できます
   aws.amazon.com/jp/premiumsupport/
           ブロンズ            シルバー                 ゴールド             プラチナ

初回応答時間     12時間             4時間                  1時間              15分

サポート連絡先     1人                2人                  3人              無制限

24/365対応    なし                なし                  あり               あり

TEL可能      不可                不可                   可能               可能

専任スタッフ      なし                なし                  なし               あり

特別サポート      なし                なし                  なし               あり
                                               AWS利用総額の
                                                                AWS利用総額の
                                                $0~$10K: 10%
                          AWS利用総額の                                 10%
料金          $49
                                5%
                                                $10K~$80K: 7%
                                                $80K~:     5%
                                                                 (最低$15K)
                                                 (最低$400)
                  Copyright © 2011 Amazon Web Services
Amazon Simple Email Service (SES)とは

 メール送信のためにMTAを運用する手間から開放するAWSの
 サービス
   初期費用やコミッションなし。低価格。
   配送機能のみの提供
 Email配送APIの提供
   Java, .NET, PHP, Perlによるスクリプトの提供
   APIの直接コール(HTTPS)
 スケーラブル
   稼働時間とメール到達性に最適化
   Amazonで証明された配送実績

More Related Content

PDF
AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-
PDF
AWS Black Belt Techシリーズ Amazon SES
PPTX
AmazonのDNSサービス Amazon Route 53の使いかたと裏側
PDF
AWS Black Belt Techシリーズ Amazon Route53
PDF
AWS Black Belt Online Seminar 2017 Amazon Aurora
PDF
AWS初心者向けWebinar AWS上でのDDoS対策
PDF
Awsmeister cloudfront20120611-slideshare用
PDF
AWSを用いたWebホスティング
AWS Simple Email Service詳細 -ほぼ週刊AWSマイスターシリーズ第11回-
AWS Black Belt Techシリーズ Amazon SES
AmazonのDNSサービス Amazon Route 53の使いかたと裏側
AWS Black Belt Techシリーズ Amazon Route53
AWS Black Belt Online Seminar 2017 Amazon Aurora
AWS初心者向けWebinar AWS上でのDDoS対策
Awsmeister cloudfront20120611-slideshare用
AWSを用いたWebホスティング

What's hot (20)

PDF
20111215 12 aws-meister-sqs_sns_sdb-public
PDF
Black Belt Online Seminar AWS Amazon S3
PPTX
Awsをちゃんと使ってみた
PDF
20180220 AWS Black Belt Online Seminar - Amazon Container Services
PDF
AWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNS
PDF
AWS Black Belt Online Seminar Amazon Aurora
PPTX
20140906 jaws festa 2014 cloud front+route53
PDF
SimpleDB, SQS, SNS詳細 - AWSマイスターシリーズ
PDF
AWS Black Belt Techシリーズ Amazon SNS / Amazon SQS
PDF
AWS Black Belt online seminar 2017 Snowball
PDF
AWS Black Belt Online Seminar 2017 AWSへのネットワーク接続とAWS上のネットワーク内部設計
PDF
20170726 black belt_stepfunctions
PDF
[AWSマイスターシリーズ] Amazon Route53
PPTX
PDF
20120423 aws meister-reloaded-fm-son_aws
PDF
AWS Black Belt Online Seminar 2016 AWS上でのファイルサーバ構築
PDF
AWS Black Belt Online Seminar Elastic Load Balancing
PDF
S3 -ほぼ週刊AWSマイスターシリーズ第2回-
PDF
Amazon S3による静的Webサイトホスティング
PDF
センターSEがAmazon EFSと戯れてみた
20111215 12 aws-meister-sqs_sns_sdb-public
Black Belt Online Seminar AWS Amazon S3
Awsをちゃんと使ってみた
20180220 AWS Black Belt Online Seminar - Amazon Container Services
AWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNS
AWS Black Belt Online Seminar Amazon Aurora
20140906 jaws festa 2014 cloud front+route53
SimpleDB, SQS, SNS詳細 - AWSマイスターシリーズ
AWS Black Belt Techシリーズ Amazon SNS / Amazon SQS
AWS Black Belt online seminar 2017 Snowball
AWS Black Belt Online Seminar 2017 AWSへのネットワーク接続とAWS上のネットワーク内部設計
20170726 black belt_stepfunctions
[AWSマイスターシリーズ] Amazon Route53
20120423 aws meister-reloaded-fm-son_aws
AWS Black Belt Online Seminar 2016 AWS上でのファイルサーバ構築
AWS Black Belt Online Seminar Elastic Load Balancing
S3 -ほぼ週刊AWSマイスターシリーズ第2回-
Amazon S3による静的Webサイトホスティング
センターSEがAmazon EFSと戯れてみた
Ad

Similar to 20111207 11 aws-meister-ses-public (20)

PDF
[AWSマイスターシリーズ] Amazon Simple Email Service
PDF
AWS初心者向けWebinar AWSからのEメール送信
PPTX
メール入門
PDF
Windowsにおけるメール環境の構築
PDF
AWS Black Belt Tech シリーズ 2016 - Amazon SES
PDF
AWSからのメール送信
PDF
Tech Ed 2010 Japan T1-303 Exchange Server 2010 と次世代 Exchange Online の共存
PDF
B1-5 メール技術のいま
PDF
20101111 Tech 07 移行・共存および同期
PDF
Eメールはまだまだ面白い
PDF
SMTPサービス SendGridを契約する
PDF
Tech Ed 2010 Japan T1-310 Microsoft Online Services 展開時の実践テクニック
PDF
2012/8/26 サーバを引っ越す+ドメイン管理会社(レジストラ)を変える@【第四回】初心者向けホームページ勉強会
PPTX
Jaws5th
PPTX
20121112 jaws-ug sapporo8
PDF
今に伝えるメールの技術 #yapcasia #yapcasiareject
PDF
送信ドメイン認証 導入指南 2018
PDF
taRgreyでコストを掛けずにスパム削減
PPTX
携帯・スマートフォンメールを速く・確実に送る10ヶ条
PPT
Iw2011 s3 using OpenDkim
[AWSマイスターシリーズ] Amazon Simple Email Service
AWS初心者向けWebinar AWSからのEメール送信
メール入門
Windowsにおけるメール環境の構築
AWS Black Belt Tech シリーズ 2016 - Amazon SES
AWSからのメール送信
Tech Ed 2010 Japan T1-303 Exchange Server 2010 と次世代 Exchange Online の共存
B1-5 メール技術のいま
20101111 Tech 07 移行・共存および同期
Eメールはまだまだ面白い
SMTPサービス SendGridを契約する
Tech Ed 2010 Japan T1-310 Microsoft Online Services 展開時の実践テクニック
2012/8/26 サーバを引っ越す+ドメイン管理会社(レジストラ)を変える@【第四回】初心者向けホームページ勉強会
Jaws5th
20121112 jaws-ug sapporo8
今に伝えるメールの技術 #yapcasia #yapcasiareject
送信ドメイン認証 導入指南 2018
taRgreyでコストを掛けずにスパム削減
携帯・スマートフォンメールを速く・確実に送る10ヶ条
Iw2011 s3 using OpenDkim
Ad

More from Amazon Web Services Japan (20)

PDF
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
PDF
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
PDF
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
PDF
Infrastructure as Code (IaC) 談義 2022
PDF
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
PDF
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
PDF
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
PPTX
20220409 AWS BLEA 開発にあたって検討したこと
PDF
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
PDF
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
PDF
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
PDF
Amazon QuickSight の組み込み方法をちょっぴりDD
PDF
マルチテナント化で知っておきたいデータベースのこと
PDF
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
PDF
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
PDF
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
PDF
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
PDF
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
PPTX
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
PDF
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
Infrastructure as Code (IaC) 談義 2022
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
20220409 AWS BLEA 開発にあたって検討したこと
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
Amazon QuickSight の組み込み方法をちょっぴりDD
マルチテナント化で知っておきたいデータベースのこと
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介

20111207 11 aws-meister-ses-public