こんにちは。技術部プラットフォームグループのしばっちといいます。
私が前回書いた記事ではアクセス数に連動してDNSの重み付けを自動制御する仕組みをAWSで作った話と題して、AWSの各サービスを活用してマルチクラウド運用を一部自動化したお話をしました。今回は趣向を変えまして、社内で利用していたメール転送用途のサーバーをGoogle WorkspaceのGmailに(なるべく安く)(なるべく管理コストを抑えるように)移した話をします。
ちょっと長い記事になりそうなので、先にどんな人に参考になりそうか書きますね。
この記事は
- 社内でメール転送用途で地味にサーバー運用しているけどほったらかしになっていてどうにかしたい人
- Google Workspace(Gmail)でMailの転送用途に利用しているけれど運用が手間になっている人
- メールサーバーの切り替えってどうやるのかちょっと興味がある人
このような方を想定して書いていきます!初歩から書いていきますので、メールはあまりわからないけどなんかメールサーバー管理してるんだよね、というような方にも届けば幸いです。
転送用途のメールサーバーとは
「メールサーバー」というと、アカウントごとにメールボックスがあって、ユーザーがアクセスしてメールを閲覧したり、送信したりして使うものを指す場合が多いですが、世の中にはメールボックスを使わず、転送用途のみで使うメールサーバーもあります。例えば、
- サービスの利用者(ユーザー)からサービスのドメイン向けに受け取った問い合わせのメールをZendeskといったカスタマーサポート用のメールアドレスに転送する
- メルマガにreply-toで設定している、受け取る必要がないメールを受信した際に破棄する
- サービスのドメインでTLS証明書を作成した際に登録したadmin@myservice.comのようなメールを別のメーリングリスト(自社内のメーリングリストなど)に転送する
といった用途です。
なぜGoogle WorkspaceのGmailへ移すのか
ペパボでもこのような転送用途のメールサーバーがありました。そして自前でメールサーバーを運用するのってわりと工数がかかるんですよね。セキュリティ対応を継続的に行う必要があるのはもちろんのこと、OSのEOLを意識してバージョンアップしなければなりません(身に覚えのある方もいらっしゃるのではないでしょうか?)。その一方で、止まってしまうとサービスの可用性に影響はないものの、提供しているユーザーへの影響は大きいので手が抜けません。
そこでメールサーバーをSaaSに置き換えて運用コストを軽減しよう!という考えになります。安定的に動作するSaaSに運用を任せることができれば、よりサービスに近いシステム周りの改善、ひいては利用者にとっても価値が高い改善に注力ができるようになりますね。メール周りのSaaS…さてどれを使おうかな、となるのですが、結論からいうとファーストチョイスはGoogle Workspaceに組み込まれているGmailになると思います。
- Googleの強大なメール基盤を使うことができる
- 管理が容易である
前置きが長くなりましたが、この記事ではそんなメール転送用途のサーバーをGoogle Workspaceに切り替えた話をします。私は今までカラーミーショップ、30days Albumと2つのサービスでこの切り替えを行なったので、再現性があるノウハウとしてご紹介できそうです。
ただ切り替えるだけではなく、運用負荷やコストを抑えるために採った方式についてもご紹介します。この部分があまり紹介記事がなく、お伝えする価値はあるかなぁと思っています。
Google Workspaceの料金体系
さてこのGoogle Workspaceですが、かんたんにいうとビジネスアプリケーションツール群と言えるものです。Gmailだけではなく、カレンダーやチャットツールなどが統合されています。使えるサービスによって料金プランが複数ありますが、Gmailはどの料金プランでも使える基本的なサービスですので、メールの転送用途で使う場合はいちばん安価なプランで十分です。
執筆時点でのいちばん安いプランは、Business Starterの月額680円/1ユーザーとなっています。つまりメールアドレスごとに680円がかかるということですね。
メールを転送する方法は2つある
Google WorkspaceのGmailではメールを転送する方法が2つあります。
ひとつは契約した各アカウントでフィルタを用いて設定する方法です(参照: Gmailヘルプページ)。通常メールを転送する場合はこの方法を思い浮かべる人が多いのではないでしょうか。
この方法は柔軟に設定できる反面、各メールアドレスアカウントにログインしないと設定がさわれないので集中管理が難しいという欠点があります。また、各メールアドレスを契約しなければならないため、その分だけ月額料金がかさんでしまいますね。
もうひとつの方法はデフォルトのルーティング機能を用いて設定する方法です。(参照: Google Workspace管理者ヘルプページ)
これは各々のアカウントの中のメールフィルタ設定ではなく、管理者権限でドメイン全体に適用できる転送設定です。つまり、前述したフィルタを用いる方法より優先して適用されます。転送用途だけであれば、私はこの方法を推奨します。理由は
- 管理者設定で集中管理ができる
- 転送するだけならば受信メールアドレスのアカウントを用意しなくて良い
- コストが抑えられる
というメリットがあるからです。契約のために管理者用としてひとつはメールアドレスを作る必要はありますが、最低ひとつ(=月額680円)で転送用のメールができてしまいます!
設定・切り替え方法
では具体的な設定と切り替え方法を見ていきましょう。公式手順の通りに実施すればよいのですが、切り替えの部分のみしか書いていないのでもう少し段階を踏んで書いていきます。具体的には以下の3つの段階を経て切り替えます。
1.Google Workspaceを契約する
- Google Workspaceの料金ページの「無料使用を開始」から開始できます。前述したとおり、Gmailを使う用途で契約するのでいちばん安価なプランで問題ありません。はじめの14日間は無料で利用できるので、その間に使い勝手を試すのがよいでしょう。
- 契約画面を進めていくと、ドメイン名を入力する項目が出てきます。ここで切り替えたいドメインを入力します。
- さらに進めるとドメインの所有確認でTXTレコードを追加するよう促されます。以下のような文言です。
google-site-verification=<ランダムな文字列>
独自ドメインのレコードを管理しているDNSサービス(Route53やMuuMuuドメインなど)でTXTレコードを追加します。
これでGoogle Workspace側でドメインの所有権が確認できれば、メールのルーティング設定に進みましょう。
2.デフォルトのルーティング設定する
設定の詳細は前述したGoogle Workspace管理者ヘルプページを参照ください。ここでは要点のみまとめます。
- admin.google.com でGoogle Workspace Adminにログインします。
- 左ペインから アプリ > Google Workspace > Gmail を選択します。
- デフォルトのルーティング を選択します。
- 別のルールを追加 を選択して、設定していきます。以下はメールを転送する場合です。
- メールアドレスに転送したいメールアドレスを入力します。
- その他の配信先で受信者を追加に☑
- 追加 を選択し、受信者のメールアドレスを設定します。
- 受信者は複数人設定できるので、受信するメールアドレス分受信者を追加します。
- オプション は「認識されていないアドレスと認識されているアドレスに対してこの操作を実施する」に☑
- ルールの設定を転送したいメールアドレス分繰り返します。
これで転送先の設定は終わりました!あとはMXレコードを切り替えるだけです!
※受信したメールを転送せず、破棄する方法は後述します
3.MXレコードを切り替える
MXレコードの切り替えも公式手順があるのでその通り設定します。補足事項としては、切り替え前にあらかじめMXレコードのTTLを短い値(300など)にしておき、MXレコード切り替えの際も初めは300にしておき、メール転送に問題がないことが確認できたら公式通りの86400にするとよいでしょう。こうすることで万が一切り替えでメール転送がうまくいかなかった場合でも迅速に切り戻すことができます。
これでメール転送がGoogle WorkdspaceのGmailに切り替わりました!
Tips
さいごに2つ、Tipsをご紹介します。
メール転送が正常に行われているかをログから確認する
メール転送が正常に行われているかは、Google Workspace Adminページから検索できます。
- admin.google.com でGoogle Workspace Adminにログインします。
- 左ペインから すべてを表示 > レポート > メールログ検索 を選択します。
- 日付 / 送信者 / 受信者 / 件名 などの項目からメールを検索できます。
ちょっと特徴的なのは、検索したメールは以下のように受信したメールアドレスが「ドロップ」と表示されることです(以下表示例です)。
このドロップはメールが消えてしまったのではなく、転送先メールアドレスに渡ったのでこのメールアドレスで受信したメールの取り扱いをやめたことを表現しています。冷静に考えるとなるほど、となるのですが、初見では少しドキリとしたので共有します。
メールを転送せず破棄する
さいごにご紹介するのは受信したメールを破棄したい場合の方法です。けっこう入り組んだ場所を設定します。例として、noreply@myservice.com
を受信したら破棄する設定をご紹介します。
- 検疫という機能を使います。検疫はGoogle Workspaceで登録しているメールアドレスに適用できる機能です。そのため事前準備として
noreply@myservice.com
のアカウントを作成するか、登録済みのメールアドレスのメールエイリアスを作成します。 - 左ペインから アプリ > Google Workspace > Gmail を選択します。
- 検疫の管理 を選択します。
- 検疫を追加 を選択し、設定を入れていきます。
- 名前: drop
- 受信拒否の結果: メールをドロップするに☑
- 送信拒否の結果: メールをドロップするに☑
- 保存します。
- Gmailの設定 に戻って、ルーティング を選択します。
- ルーティング の設定 を選択します。
- 説明: drop
- 影響を受けるメール: 受信, 内部 - 受信 に☑
- 上記の種類のメッセージに対し、次の処理を行う で
メールを検疫
を選ぶ- メールを次の検疫に移動する: drop を選択する
- オプションを表示
- 影響を受けるアカウントの種類:
ユーザー
に☑ - エンベロープフィルタ: 特定のエンベローブ受信者にのみ適用するに☑
- 1個のメールアドレス
- メールアドレス:
noreply@myservice.com
- メールアドレス:
- 1個のメールアドレス
- 影響を受けるアカウントの種類:
まとめ
以下の4つのことをご紹介しました。
- メール転送するサーバーはGoogle Workspaceがおすすめ
- デフォルトのルーティング機能を使うとかんたんに設定できる
- 大まかな設定とメールの切り替え手順の説明
- メールログの見方や受信メールの破棄の方法
初歩の初歩から細かいところまで紹介したので、困っている人にどこかが刺さればよいなぁと思います。メールは依然重要なインフラであり、チャットなど代替手段は増えつつも当分なくなることはなさそうです。なるべく運用はシンプルにして、自分のやりたいことに注力できるようにしていきたいですね。