ほぼ週刊AWSマイスターシリーズ第11回 – SES編に参加しました
こんにちは。くろの(福田)です。
先日AWSのオンラインセミナーシリーズである「ほぼ週刊AWSマイスターシリーズ」が開催されました。第11目は荒木さんによるAmazon Simple Email Serviceでした。
■開催概要
- 日時:2011年12月07日(水)17時~18時
- 場所:オンラインセミナー
- 講師:AWS荒木さん
[slideshare id=10593541&doc=2011120711aws-meister-ses-public-111214125540-phpapp01]
AWSマイスターシリーズはほぼ毎週AWSの中の人がAWSの各サービスに関して詳細に解説をしてくれるとても^11ありがたいオンラインセミナーです。
クラスメソッドでは多くの社員がセミナーに参加しています。
■Amazon Simple Email Service(SES)
- メール送信のためのMTAに関するAWSサービス
- 初期費用無し、低価格
- 配送機能のみ提供
- Email配送API
- Java、.NET、PHP、Perlスクリプト
- API直接コール(HTTPS)
- スケーラブル
- 稼働時間とメール到達性に最適化
- Amazonで証明された配送実績
■メールシステム
■MTA(Mail Transfer Agent)
- メールの受信
- 送信先の決定
- メールの送信
- リモートへ(SMTP)
- ローカルへ(MDAへ)
- キューイング
- エラー通知
- 実装例
- Sendmail、qmail、Exchange、Postfix、Exim、...
■vs SPAM
- メールの悲しみ
- 他者からの入力を認証無しに受け付けてしまったのが発端
- 個人として
- 受信したときの対応はどうとでもなる(フィルタ等)
- 自分のメールアドレスでSPAMを送信された時は大変
- サーバー管理者として
- 受信する側:下手な対応はできない
- 送信する側:ものすごく厳しくするのがオススメ
■送信側の現実解
- アプリケーション
- MailPublisher(エイケア)、Cuenote(ユミルリンク)、SIELLA(レピカ)、WEBCAS(エイジア)
- Amazon Simple Email Service
■メール送信API
- SendEmailAPI(定形フォーマット)
- From、To、Subject、BodyをAPIで指定
- SendRawEmailAPI(自由フォーマット)
- ヘッダ
- MIME Type
- Body
- 既存MTAからのリレーも可能
- PostfixやSendmail等で使えるAPIコールスクリプト公開
■Feedback API
- GetSendStatistics API
- 配信終了
- 拒否されたメッセージ
- Hard Bounce(永続的配送エラー)
- Complaints(受信者がSpamとして処理)
■配送環境管理
- 制限
- 最初配送制限が掛かっている
- 自動で段々と緩和
- GetSendQuota API
- 24時間ごとの配送数制限
- 配送測度(秒単位)制限
- Webフォームからの緩和リクエスト可能
- Anti-Spam
- 配信内容はAWSにより全スキャン
- これが嫌な場合はSESは使えない
- DKIM、SPF、SenderIDのサポート
- ISPからのフィードバックのリアルタイム監視
- 配信内容はAWSにより全スキャン
■Amazon SES利用までの流れ
- 登録
- 送信元メールアドレス(ホワイトリスト)の登録
- サンドボックス環境でのテスト
- production accessへのリクエスト
■配送のリミット
- 同時に扱えるアドレス数は50個まで
- SMTPのRFCに準拠
- メッセージサイズは10MBまで
- 配信能力制限(制限緩和には下記右辺の利用実績が必要)
- 1,000件:すぐ
- 10,000件:3日
- 100,000件:10日
- 1,000,000件:2週間
■FAQ
- 配信元は国内か?
- 現在は米国から(US-EASTから)
- 携帯キャリア対応?
- SenderID、DKIM、SPFに対応しています
- 特定接続サービス等は未対応
- 絵文字対応?
- 変換サービスなどはありません
- 開封確認
- SESは配信機能のみの提供です
- 既存メールサーバーとの統合
- APIをコールするスクリプト等を使ったリレーが可能
■QA
- Gmailの迷惑メールに入る可能性はあるか?
- 可能性はある。迷惑メールに入ったことがISPから連絡があると、AWS側は配信数を制限したりする。状況はAPIやAWS Management Consoleから確認可能
- SESのスケールは?
- 条件は公開できないが、一定の綺麗なメールの送信実績があれば、一定期間毎に配信数が増える
- SESの配信制限を超えての配信?
- APIが200ではなく500が返ってAPIが失敗する。遅延して配信されたりするわけではない
- SESはリージョンに依存しますか?
- アメリカ東海岸リージョン(US-EAST)でのみサービス中
- SESの設定でメールの内容を暗号化?
- SES側に暗号化APIは提供していない。
- 暗号化されると、AWS側でスパムと判定する場合もある
- 配送エラーを確認するAPI
- GetSendStatistics API
- AWS Management Consoleから確認する事も可能
おしまい