自社メールをAmazon WorkMailへ移行してみた | SEEDS Creators' Blog | 株式会社シーズ

自社メールをAmazon WorkMailへ移行してみた

クラウドソリューション事業部のエンジニアの上野です。

弊社はデータセンターを利用したハウジングサービスおよびレンタルサーバー等の事業を行っておりました。そのため自社のメールも自分たちでメールサーバーを構築して運用を行っていました。しかしながら諸事情により、現行のサーバーの維持が困難となったため、この機会にクラウドのメールサービスへ移行することとなりました。

新しいメールの移行先として第一候補に上がったのは社内でも利用者が多かったGmailですが、AWSを使ったソリューションを行う会社として、Amazon WorkMailを自社で使用して知見を得た上で、お客様に展開できればという思惑もあり、最終的にAmazon WorkMailへ移行することになりました。

Amazon WorkMailを利用したメールシステムの構築は非常に簡単にできるため、ここでは移行の際に課題となったことや、その解決策などを重点的に書いていきたいと思います。

Amazon WorkMailを始める

Amazon WorkMailをただ始めるだけなら非常に簡単です。

 1.Amazon WorkMailで組織、ドメインを作成する
 2.DNSにMXやSPF、DKIMの設定を行う
 3.ユーザー(メールアドレス)を作成する

ざっくりと説明するとこの3ステップです。
正確な手順は公式ドキュメントがありますので、そちらをご参考にしてください。

Amazon WorkMail の使用を開始する
https://docs.aws.amazon.com/ja_jp/workmail/latest/adminguide/howto-start.html

それでは、弊社で移行した際にどういった課題や問題があったかを見ていきましょう。

お値段は?

Amazon WorkMail は1 ユーザーに対して 50 GB のメールボックスストレージが含まれていて月額 4.00USD (2021年2月時点)です。他のメールサービスと比較しても変わらない(むしろ安い)金額でした。

Amazon WorkMail 料金表
https://aws.amazon.com/jp/workmail/pricing/

メールデータの引き継ぎどうする?

メールの移行についてついてまわる既存のメールサーバー上にあるメールをどのように引き継ぐかという問題です。
これは弊社の旧メールサーバーの環境に救われました。旧メールサーバーはPOP3(s)のみ許可しており、IMAPは利用していませんでした。その結果、メールデーターは各ユーザーのローカルに保管されていたため、

『メールデータの引き継ぎはしないので、移行前に旧メールサーバーからメールをすべて受信しておいてください』

という案内をするだけで終わりました。

メールアドレスの作成方法は?

メールアドレス(ユーザー)は1つずつ作成するしかありませんでした。
弊社は30数名ほどの会社ですが、それでも1つ1つAWSのマネジメントコンソール上から作成するのは手間です。
そのため各ユーザー名、表示名、パスワードの一覧が記載されたCSV形式のリストを作成し、シェルスクリプトでユーザーを作成する処理を作りました。

#!/bin/sh

for i in $(cat user-list.txt) 
do
    USERID=$(echo $i|awk -F, '{print $1}')
    DISPNAME=$(echo $i|awk -F, '{print $2}')
    PASSWORD=$(echo $i|awk -F, '{print $3}')
    aws workmail create-user \
    --organization-id m-XXXXXXXXXXXXXXXXXXX \
    --name ${USERID} \
    --display-name ${DISPNAME} \
    --password ${PASSWORD}
done

Amazon WorkMailの制限はあるの?

Amazon WorkMailにはいくつかの制限がかけられています。
詳細については公式のドキュメントにまとめられています。

Amazon WorkMail のクォータ
https://docs.aws.amazon.com/ja_jp/workmail/latest/adminguide/workmail_limits.html

まずはメールの送受信サイズです。
Amazon WorkMailの送受信サイズは 25MB と定められています。
旧メールサーバーは 10MB に制限していたため問題ありませんでした。

次にメールボックスのサイズです。
Amazon WorkMailの1ユーザーの容量は 50GB と決められています。
こちらも弊社の環境では十分な容量でした。

その他にも外部ドメインに対して1日あたりの送信できるメールアドレス数などが決められていますが、上限値が高く弊社の規模の会社では制限にかかりませんでした。

使えるメールクライアントは?

Amazon WorkMailは主に2つの方法でメールを利用することができます。

1.Amazon WorkMail ウェブクライアント
Amazon WorkMailに実装されているウェブブラウザ上から利用できるクライアントです。
パスワードの変更やメールの振り分け設定などもこのウェブクライアント上から行うことができます。
対応している言語が英語(米・英)、フランス語、ロシア語のみに限定されているのが残念なところです。

workmailウェブクライアント

2IMAPに対応したメールクライアント
IMAPに対応したメールクライアントであれば接続先サーバーをAmazon WorkMailが指定するサーバーを設定することで利用できます。

Windows10やMacOSののメールアプリをお使いの場合は専用の手順も用意されています。メールクライアントの設定方法についてはドキュメントが用意されています。

Amazon WorkMail 用の E メールクライアントの設定
https://docs.aws.amazon.com/ja_jp/workmail/latest/userguide/clients.html

Gmailの落とし罠!?

メールクライアントのお話をしましたが、社内ではメールクライアントにGmailを利用しているというメンバーがいました。
Gmailに別メールアカウントを追加する場合、メール受信はPOP3に限定されます。そのためIMAPにしか対応していないAmazon WorkMailはGmailをメールクライアントとして利用できないという問題が発覚しました。


(ポート993を指定できるからIMAPが使えるものと勘違い)

サブアドレス機能は使える?

弊社の旧メールサーバーでは『ユーザー名-*****@ドメイン名』宛のメールは全て『ユーザー名@ドメイン名』へ送られるという機能(サブアドレス機能)を利用していました。

例:
以下のようにユーザー名の後にハイフン+文字列がついたメールアドレス宛にメールが送られると
 fuga-hoge@seeds-std.co.jp
 fuga-1234@seeds-std.co.jp
全てユーザーのメールアドレスに届けられる
 fuga@seeds-std.co.jp

この機能を使うことでメールを使ったシステムのテストなどで複数メールアドレスが必要となった場合でも、わざわざメールアドレスを作成する必要がなく、エンジニアが好きにテストできる環境を用意していました。

Amazon WorkMailでは同様の機能が備わっていました。
『 – (ハイフン) 』が『 + (プラス) 』に変更になったという違いはありますが、問題なく利用することができました。

サブアドレスへの電子メールの送信
https://docs.aws.amazon.com/ja_jp/workmail/latest/userguide/email-messages.html#email-sub-address

外部ドメインを含んだメーリングリストの利用

Amazon WorkMailではグループという機能を利用してメーリングリストのような機能が実装されています。

例えば『group01』というグループを作成し、ユーザーをグループに登録すると、『group01@seeds-std.co.jp』 宛のメールがグループに登録されているユーザー全員に届けられるという機能です。

ただし、この機能あくまで既存ユーザーをグループ化するもので、外部ドメインのアドレスをグループの一員として登録することができませんでした。つまり外部ドメインを含んだメーリングリストの作成が行なえないという問題がありました。

弊社では外部ドメインを含んだメーリングリストを利用していましたので、次のように対応しました。

  1. メール転送専用のユーザー(transfer)を作成する
  2. transferユーザーを該当のグループに登録する
  3. transferユーザーのメールルールにより対象のメーリングリストの宛のメールを受信した場合は、指定の外部ドメインのメールアドレスへリダイレクトする設定を追加する

このように外部ドメインメールアドレス宛のメールは転送専用アカウントで一旦集約し、送られてきた宛先(グループのメールアドレス)に応じて、対応する外部ドメインのメールアドレスに転送するという仕組みで対応しています。

メールログはどのように確認すればいい?

メールでは送信できない、届かないなどの問題がつきものですが、そういった場合はログを見て原因を調査する必要があります。

旧メールサーバーではサーバー内にログを保管するように設定していましたので、サーバーにログインしてログを調査していました。

Amazon WorkMailではログをAmazon CloudWatch Logsに保管することができます。デフォルトではログの保管は無効になっているので、必要に応じて有効に変更しましょう。
取得したログはCloudWatch LogsのLogs Insightsを使って、特定条件のログだけを抽出することも可能です。

まとめ

弊社がAmazon WorkMailへ移行する際に課題となった点を重点的に紹介してきました。
移行直後は利用者からのお問い合わせはいくつかありましたが、致命的な問題はありませんでした。移行してから数日が経ちますが、大きなトラブルなく稼働しています。

クラウドのメールサービスというとGmailやMicrosoft 365が有名ですが、社内でAWSのご利用経験がありましたら、Amazon WorkMailという選択肢もご一考してみてはいかがでしょうか。