Amazon WorkMail を構築してみた

# はじめに

一般的に企業のメールサーバーの管理は、運用負担が大変な重労働です。企業の日々の活動において、メールはビジネスクリティカルな要素となっています。お客様とのコミュニケーションは、メールを利用することが大多数を占めており、メールサーバーが停止してしまうと、非常に大きなビジネスインパクトが発生してしまいます。そのため、障害が発生しないように日々運用していくことは重要ですが、なかなか大変な作業となっている状況です。

そういった負担を軽減するために、メールの送受信やカレンダー機能を提供するためのマネージドサービスである Amazon WorkMail があります。これを利用することで、AWS 側にメールサーバーの運用管理をお任せしながら、メールやカレンダーの利用ができます。IMAP や SMTP が利用できるため、Microsoft Outlook、Apple Mail、Mozilla Thunderbird などの一般的な電子メールクライアントからメールの送受信が出来ます。

詳細は公式ぺージをご参照ください。
https://aws.amazon.com/jp/workmail/



今回の記事は、WorkMail を構築してみる記事となっております。Route 53 でドメインを管理しつつ、WorkMail を構築して、Web UI からメールを送受信を行う内容になっています。



# Route 53 で Hosted Zone の作成

今回は、WorkMail 用のドメインを Route 53 上で管理をしていきます。Route 53 以外の選択肢もあるので、適宜環境に合わせて検討していきます。

Create hosted zone を選択します。

![image-20220121215223871.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/b8980eb8-c5c3-d116-1092-9aaaf1ae911c.png)



この記事の環境では、`workmail.sugiaws.tokyo` というドメインでやっていきます。

![image-20220121215351691.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/352e5202-9b69-24d0-a93e-2f3f8526db06.png)



ドメインが作成されました。

![image-20220121215908092.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/36582818-99dd-ebfa-daa9-cbb7fa4f919b.png)



# WorkMail の構築

東京リージョンで WorkMail のページを開いてみると、サポートされていない旨が表示されます。メールの用途だと海外のリージョンでもレイテンシーは大きな問題にならないので、N. Virginia を選んでいきます。

![image-20220121212529181.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/c5134834-2899-6a74-cd46-8a4c1898cedd.png)



N. Virginia リージョンに変更後、Create Organization を選択します。

![image-20220121212745935.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/362ebdf7-dcf5-1a96-55a8-4b651ed3d112.png)



WorkMail サービスとしての Organization の設定を行います (名前は似ていますが、マルチアカウント管理の AWS Organizations とは別ものです)

![image-20220121220203775.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/b7bbb364-c867-4753-5677-c7df59eb136a.png)



ユーザー管理に、Amazon WorkMail directory を選択します。WorkMail の中で、ローカルユーザーを作成できるようになります。既存の Active Directory などと連携したい場合は、Use existing directory を選択することも出来ます。

![image-20220121220708268.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/4839a406-ab2d-92d0-8bc1-0ed1c03a6c09.png)



Creating のステータスになります。

![image-20220121220824549.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/e48817a7-9a50-296c-edb7-ba92f78625a7.png)



この記事の環境では、30秒ほどで Active に切り替わりました。

![image-20220121220919653.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/982e807b-07ea-dd08-6393-97c016758b24.png)



Create すると同時に、Route 53 に自動的に6個のレコードが追加されます。

![image-20220121221240675.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/9f7ec682-2db3-f942-3605-875528a262c2.png)



また、SES にもドメインが自動的に作成されています。

![image-20220121230012800.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/14d2cd30-35c1-e33e-7cbd-b3aa46ee3597.png)



# SPF, DMARC 対応

Organization の詳細画面を開きます。

![image-20220121230124894.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/217962e2-8112-ee37-7ab8-5668ab7839c3.png)



Domain のメニューから、該当のドメインを選択します。

![image-20220121230240385.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/420cf42b-0bcd-d253-efeb-bf286e5d76d8.png)



独自 Domain を利用してメールを送付する場合、SPF(Sender Policy Framework) とよばれるドメインの所持正当性を検証する仕組みや、DMARC(Domain-based Message Authentication、Reporting and Conformance)と呼ばれる、ドメイン認証失敗時のアクションを定義する仕組みを有効化すると良いです。これにより、ドメインを所有していることをインターネット上に証明でき、メールの到着率をより上げることが出来ます。

今回は、Route 53 でドメインを管理しているため、画面右上の Update all in Route 53 を選択します。

![image-20220121230424002.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/e6c08fbb-43ce-7135-9b10-9603c8c6193c.png)



自動的に Route 53 にレコードを格納した旨が表示されました。

![image-20220121230806029.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/2e0cdccb-ef0a-8ce9-d2a8-2a77435e48b5.png)



実際に、2つの TXT レコードが自動作成されています。

![image-20220121230927525.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/76f3c5ec-e97c-6a29-4a56-6ef26d21cbb1.png)



これにより、3つが準拠しましたが、一番下の MAIL FROM domain が準拠していません。この設定をしていきます。

![image-20220121231106376.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/24fb7154-8fa7-11ee-83b5-3417dd9374cf.png)



SES のページに移動して、該当のドメインページに移動します。

![image-20220121231341867.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/912d5d2f-b2cf-26e7-f1c6-e6b5e60d7279.png)



Custom MAIL FROM domain の箇所を Edit を押します。

![image-20220121231435194.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/8ffdafd6-2f33-c0d4-74b4-0ec623911209.png)



好きな値を指定をして、Save を押します。

![image-20220121231514042.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/22ba01f8-708d-b58f-050b-803dea9078b6.png)



Publish を押して、MX レコードと TXT レコードを自動設定します。

![image-20220121231607934.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/f73d0b9d-a96f-690b-352f-79767dc8030f.png)



2つのレコードが自動生成されました。

![image-20220121231651114.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/43c493d0-1843-b39c-b80e-076303e95c4b.png)



一定時間後、Verified のステータスに変化します。

SES の画面

![image-20220121231833784.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/cdebaa85-eaac-b451-1023-07d8c36bdab2.png)



WorkMail の画面でも同様に確認できます。

![image-20220121231911620.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/40d6bb86-1b5b-4946-2023-4594b9e91a6b.png)



# Default Domain の設定

WorkMail の作成直後は、Default Domain は AWS から提供されるドメインになっています。カスタムドメインをデフォルトで利用する設定をします。Domain を選択して、Set as default を押します。

![image-20220121232125833.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/ce497b9c-2979-641f-04e7-49975b8a68f9.png)



切り替わりました。

![image-20220121232202543.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/17dd1018-be91-c6a2-7320-b6fa8050c4f4.png)



# User の作成

Create User を押します。

![image-20220121232343265.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/dcd44f6e-c269-8a40-f955-e6630436b5b8.png)



Username や Password の情報を指定します (既にこの User は削除しています。)

![image-20220121232441755.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/9e906c47-096b-3412-e511-9fab3c499eb2.png)



User が作成されました。

![image-20220121232530944.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/9c685fb2-a66b-5e3b-551e-1f0488c2a07c.png)



# Mail 管理のための Web UI

Organization Settings を選択します。

![image-20220121232947666.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/9a491f1c-203c-ac54-4e79-fb473d98d8c2.png)



Web UI に入るための URL をクリックします。

![image-20220121233156033.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/04a71616-c874-b17f-0447-8c8453c2093d.png)



サインインを押します。(既にこの User は削除しています)

![image-20220121233333544.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/74207750-77fe-470e-d60b-1774b1cdeb67.png)



WorkMail の Web UI が表示されました。シンプルでシュっとしており、かっこいい画面ですね (個人の感想です)

![image-20220121233942566.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/ae336dc7-b3f7-5e67-191b-dfdb7d8c91fb.png)



なお、Web UI の 言語設定は日本語は選択できません。どうすればいいかというと、WorkMail は IMAP や SMTP が利用できるため、Microsoft Outlook、Apple Mail、Mozilla Thunderbird などの一般的な電子メールクライアントから利用する方法があります。この方法で、大きな問題はないはずです。

![image-20220121234235067.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/c306a538-218f-7a76-b59d-e3af1383ad90.png)



カレンダーも利用できます。

![image-20220121234533460.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/45284628-bc6b-1f73-9b06-e88bab9e7df3.png)



連絡帳機能もあります。

![image-20220121234612582.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/824e22b4-404b-7927-53dc-50ac29975450.png)



# メールを送信してみる

Web UI を使ってメールを送信してみましょう。

New item から New email を選びます。

![image-20220121234827362.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/7b04eb37-9a55-7227-53c8-afba3c28377e.png)



宛先、タイトル、本文を入力したあとに、Send を押します。

![image-20220121234938740.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/71e651be-69d8-cf86-c5f6-057873114045.png)



無事に Gmail で受信できました！

![image-20220121235225603.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/02b3b4d9-666b-8337-3ae1-602ba1ec14e1.png)



メッセージのソースを表示してみましょう。

![image-20220121235301297.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/a966ee73-d3df-d380-b1fc-5c3d5f1493ac.png)



SPF, DKIM, DMARC が PASS になっています。

![image-20220121235445937.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/d1c8417d-3b9d-a1a1-3d77-ab9fc8316216.png)



# メールを受信してみる

Gmail から返信して、WorkMail で受信できるか確認してみましょう。

![image-20220121235609911.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/bc3dfdf4-dc29-5912-cff6-269cc92892dc.png)

Inbox にメールが届きます！

![image-20220121235715477.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/384953f1-66ca-6f7e-1acc-c720ed5e53cb.png)



メールの中身も確認できます。

![image-20220121235749534.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/3ef2a663-c742-2731-6507-13efe1766250.png)



# 検証を通じてわかったこと

- 2022年1月現在、WorkMail を提供しているリージョンは以下の3つ
  - Europe (Ireland)
  - US East (N. Virginia)
  - US West (Oregon)
- オンプレミスの Active Directory と連携したい場合は、AD Connector を利用できる。WorkMail と同じリージョンに AD Connector を作成する必要がある。
- SPF, DMARC の対応のために各種レコードを作成する必要があるが、Route 53 で管理すると自動的にレコードを作成してくれるため、とても楽
- WorkMail の Web UI は、日本語言語は対応していない。なお、IMAP や SMTP を利用し 一般的なメールクライアントから操作できるため、通常の利用は基本的に問題はない