概要
Amazon EC2 でインターネット向けにWEBサーバーを運用している場合、よくある仕様追加「このドメイン名でメール送受信したい」に対応。
Amazon EC2 からのメール送受信は公式では非推奨 1 。
「安いは正義」に「WEBインフラにメールサービスを上乗せするなんて」で立ち向かう方への処方箋。
前提
- ドメイン名(例えば example.tld)は既に取得済み、利用可能状態と仮定します。
- 実現までのプロセスはすべて AWS リソースを使います。
- ディレクトリーサービスの既存利用なしと仮定します。
(お金なくて検証できてない)
AWS リソース
AWS 製品
既存のディレクトリーサービスが存在せず Amazon WorkMail をミニマムスタート、かつ、AWS サービス内で完結する場合には以下が必要になります。
1. Amazon VPC
2. AWS Directory Service
3. AWS Identity and Access Management (IAM)
4. Amazon WorkMail
5. Amazon Route53
AWS リージョン
Amazon WorkMail は、2017年8月現在、以下のリージョンで提供されています。
Code | Name |
---|---|
us-east-1 | US East (N.Virginia) |
us-west-2 | US West (Oregon) |
eu-west-1 | EU (Ireland) |
Amazon WorkMail を利用するリージョンで Amazon VPC ならび AWS Directory Service を利用開始する必要があります。
費用計算
請求金額見積もり
- Amazon VPC
今回のケースでは費用発生しません。 - AWS Directory Service
Amazon WorkMail にて Simple AD を利用する場合に限り無料となります。2 - AWS Identity and Access Management (IAM)
今回のケースでは費用発生しません。 - Amazon WorkMail
1ユーザーあたり1ヶ月につき 4 USD。 - Amazon Route53
1ホストゾーン(ドメイン名)につき 0.50 USD/月
100 万クエリにつき 0.400 USD
損益分岐点
Amazon WorkMail と Amazon EC2 (t2.medium) を12ヶ月運用で比較してみます。(US East (N.Virginia))
Products | type | price |
---|---|---|
Amazon EC2 | t2.medium のリザーブドインスタンス(1年全額前払) | 約 22.91 USD/月 |
Amazon EBS | gp2 50GB | 5 USD/月 |
Amazon WorkMail | 6ユーザー | 24 USD/月 |
Amazon WorkMail | 7ユーザー | 28 UDS/月 |
6ユーザーより大きなユーザー数で運用は Amazon EC2 リザーブドインスタンスの方が費用的に安価になりますが、これには冗長性等、考慮されていません。
耐障害性、可用性から考えても、この要件が発生した際には Amazon WorkMail を選択がベストプラクティスと言えます。
オペレーション
ドメイン名 example.tld によるメール送受信を実現するために以下を行います。
- Amazon VPC
- Simple AD 稼働のための Subnet を用意
- AWS Directory Service
- Simple AD によるディレクトリー作成
- AWS Identity and Access Management (IAM)
- 保管メールデータ暗号化に使用するキー管理のために AWS Key Management Service (KMS) を設定
- Amazon WorkMail
- Amazon Route53
- ドメイン名 example.tld のDNSレコード管理
Amazon VPC
デフォルトで用意されている VPC と Subnet でも開始可能ですが、Simple AD で利用する Subnet は public subnet である必要はありません。
private subnet (Route Table に Destination: 0.0.0.0/0 が存在しない、またはそれ以外)で可能です。
以下成果物です。要望あればキャプチャー添付。TBC。
Name | IPv4 CIDR | Availability Zone |
---|---|---|
simplead-a | 10.0.0.0/28 | us-east-1b |
simplead-b | 10.0.0.16/28 | us-east-1e |
AWS Directory Service
AWS Management Console より AWS Directory Service を選択し、Simple AD をセットアップします。
年々 Simple AD と AD Connector の取り扱いがざつにn……
セットアップ情報は例えば下記です。要件に合わせて読み替えます。
Directory details
Name | Value | remarks |
---|---|---|
Directory type | Simple AD | 固定値 |
Directory DNS | ad.example.tld | |
NetBIOS name | オプション・未記入 | |
Default administrative user | Administrator | 固定値 |
Administrator password | ******** | |
Description | オプション・未記入 | |
Directory size | Small |
VPC Details
Name | Value |
---|---|
VPC | 10.0.0.0/16 |
Subnets | simplead-a, 10.0.0.0/28, us-east-1b |
simplead-a, 10.0.0.16/28, us-east-1e |
Access URL
セットアップ完了後、Status: Creating から Active になれば利用可能です。
この時、Access URL を定義します。
これは Amazon WorkMail の Web メールのURLで利用します。
例えば example.awsapps.com です。
AWS Identity and Access Management (IAM)
保存されるメール暗号化のため、暗号キーを指定します。
ここではデフォルトの aws/workmail を使います。
Amazon WorkMail
上記までに事前準備が完了しているはずですので、ここでは Standard setup でセットアップします。
Organizations
セットアップ情報は例えば下記です。要件に合わせて読み替えます。
Name | Value | remarks |
---|---|---|
Available Directories | ad.example.tld | セットアップした Simple AD |
Master keys | aws/workmail | セットアップした KMS |
Create 押下後、Status が Creating から Active に変われば利用可能です。
Domains
セットアップした Organization のドメイン名を定義します。
Organization のナビゲーション Domains を押下してドメイン名を定義します。
ここで先に設定した Access URL(example.awsapps.com)も確認できます。
Amazon SES と同様、ドメイン名の確認(Verify domain)が必要になります。
次項の Amazon Route53 の Hosted Zone (example.tld)に表示される下記のDNSレコードを追加します。
Recode type | Hostname | Value | remarks |
---|---|---|---|
TXT | _amazonses.example.tld. | (指定された文字列) | Domain verification で利用します |
MX | example.tld. | 10 inbound-smtp.us-east-1.amazonaws.com. | 3 |
CNAME | autodiscover.example.tld. | 3 | |
CNAME | (指定された文字列)._domainkey.example.tld. | (指定された文字列) | DKIM セットアップ4 |
Users
同じく Organization のナビゲーション Users よりユーザー定義を行います。
ユーザー名、パスワード、メールアドレスを入力してセットアップします。
特記する箇所はないため、ここでは割愛します。
Amazon Route53
Amazon WorkMail のセットアップ、Domains で得たDNSレコード情報を Hosted Zone example.tld に登録します。
割愛します。
上記にて username@example.tld によるメール送受信が可能です。
クライアント
デスクトップ、モバイル
Microsoft Exchange ActiveSync プロトコルをサポートするので、以下のデスクトップ、モバイルのクライアントに対応。
- Mac Mail.app
- iPhone
- Outlook
その他要検証。TBC。
ウェブアプリケーション
AWS Management Console, Amazon WorkMail のナビゲーション Organization settings で用意されている Web Application https://(文字列).awsapps.com/mail よりログイン可能。5
その他留意事項
申請関連
サービス上限
以下、気をつけるべき箇所の抜粋です。
- 1ユーザーのメールボックスは 50GB
- 送信・受信ともに1メールは 25MB
- 1 日のユーザーあたりのメッセージ送信数 宛先に関係なく、1,000 件のメッセージ
- ユーザーのエイリアス(アドレス)は 100(ハードリミット)
Amazon SES
メール送信は Amazon SES 経由で送信されますが、WorkMail からの送信は課金対象となりません。
また API 経由では必要な送信制限解除申請(サンドボックスから取り外す)も必要ありません。
未記入事項
以下の機能については記載してません。to be continued.
- 移行
- ジャーナリング
- フロールール
- グループ、リソース
- 既存AD連携
出典
いつの日も AWS ドキュメントと FAQ は最強説。