ほぼ週刊AWSマイスターシリーズ第11回 – SES編に参加しました

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。くろの(福田)です。

先日AWSのオンラインセミナーシリーズである「ほぼ週刊AWSマイスターシリーズ」が開催されました。第11目は荒木さんによるAmazon Simple Email Serviceでした。

■開催概要

  • 日時:2011年12月07日(水)17時~18時
  • 場所:オンラインセミナー
  • 講師:AWS荒木さん


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からのフィードバックのリアルタイム監視

■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から確認する事も可能

おしまい

@Cronoloves