中小企業から大企業、さらには官公庁に至るまで、あらゆる組織で普及しているAWS。AWSでできることは多岐に渡ります。中でもメールサーバーを構築したいと考える方も多いのではないでしょうか。
本記事では、AWSメールサーバー構築について、SESのメリットデメリットをはじめ、メール送受信設定についても徹底解説致します。
メールサーバーとは
AWSメールサーバーについて解説する前に、そもそもメールサーバーとはなんなのか、おさらいしておきましょう。メールサーバーは、その名の通り、メールの送受信を行うサーバー機能のことを言います。特に関連する機能としては、次の4つが挙げられます。
- MUA
- MTA
- MDA
- MRA
MUA
MUAとは、英語表記で「Mail User Agent」の頭文字を取ったもので、メーラのことを指します。送信であれば、ユーザーが作成したメールを後述するMTAに渡し、受信であれば、後述するMRAから取得することになります。
MTA
MTAとは、英語表記で「Mail Transfer Agent」の頭文字を取ったもので、メールの宛先までメールを転送する機能のことを指します。
MDA
MDAとは、英語表記で「Mail Delivery Agent」の頭文字を取ったもので、管理しているアドレス宛のメールを分類及び管理を行う機能のことを指します。
MRA
MRAとは、英語表記で「Mail Retrieval Agent」の頭文字を取ったもので、前述したMUAからの要求に従い、MDAのもとで管理されているメールを取得及び参照できるようにする機能のことを指します。
AWSメールサーバー(SES)とは
AWSは、Amazonが提供するクラウドコンピューティングサービスのことで、AWSメールサーバー(SES)は、英語表記で「Simple Email Service」のことであり、AWSの中でも任意のアプリでのメールの送信ができるサービスのことです。
AWSメールサーバー(SES)でできること
AWSメールサーバー(SES)でできることは色々ありますが、ここでは特に代表的な機能についてご紹介致します。
基本的なEメールの送受信
AWSメールサーバー(SES)では、基本的なメールの送受信を行うことができます。特にメール送信に関しては、迷惑メールフォルダに分配されにくいという配信性能の高さを誇ります。ただし、後述しますが、Outlook等の通常のメールクライアントでの受信はできないので、注意が必要です。
テンプレートの活用
AWSメールサーバー(SES)では、APIを用いることでメールテンプレートを作成することができ、メールマガジン等の作成も容易です。
あらゆるデータベースとの連携
AWSメールサーバー(SES)は、汎用性が高く、AWSのあらゆるデータベースと連携することができます。
エラーメール発生時に自動配信停止
AWSメールサーバー(SES)で送信されたメールのうち、エラーが出てしまったメールアドレスには、以降メール配信はされず、自動的に配信停止になるという機能がついています。
AWSメールサーバー(SES)のメリット
AWSメールサーバー(SES)には、様々なメリットがあるため、様々な企業や組織で活用されています。特に大きなメリットとしては、次の3点が挙げられます。
スケールアップが容易
AWSメールサーバー(SES)の導入をすると、メモリ及びハードディスクを増設したり、CPUのスペックを交換したりといったようなことが容易に行うことができます。
セキュリティの高さ
AWSメールサーバー(SES)は、AWS自体が第三者機関によりたくさんの認証を取得しており、セキュリティの高さが保証されています。さらに、各メールに関しては、SPF(メールの検証標準)によりチェックされることから、なりすましの対策にもなります。
低コスト
後述で詳しく解説致しますが、AWSメールサーバー(SES)の料金体系は地域によって差がありますが、AWSと同様日本においては、従量課金制となるため、使用した分だけコストがかかります。また、Amazon EC2で稼働しているアプリケーションからAWSメールサーバー(SES)を呼び出し使用することで、毎月6万2千通のメール送信が無料となります。さらに、受信に関しては、特に条件はなく約2千通までのメールが無料となります。
AWSメールサーバー(SES)のデメリット
一方で、AWSメールサーバー(SES)にもデメリットは存在します。大きなデメリットとしては次の通りです。
通常のメールクライアントでの受信は不可能
AWSメールサーバー(SES)は、一般的なPOPあるいはIMAPサーバーの機能はありません。そのため、Outlookをはじめとした、通常のメールクライアントを使用し、メール受信を行うことはできません。後ほど、メール受信の設定については詳しく解説致します。
AWSメールサーバー(SES)の料金体系
AWSメールサーバー(SES)の料金体系は、地域によって差がありますが、リージョンを「アジアパシフィック(東京)」に設定した場合の料金体系について解説致します。
<Amazon EC2のアプリケーションからのメール送信の場合>
毎月最初の6万2千通は無料となり、その後千通につき0.10USDの支払いが発生します。また、添付ファイルのサイズが1GBにつき、0.12USD追加料金がかかります。
<Outlook等のメールクライアントからのメール送信の場合>
千通のメール送信につき、0.10USDの支払いが発生し、添付ファイルのサイズが1GBにつき0.12USDの追加料金がかかります。
<メール受信>
最初の千通のメールは無料、それ以降千通ごとに0.10USDの支払いが発生します。さらに受信するメールチャンク千通につき、0.90USDの追加料金がかかります。
※公式サイトでは、「アマゾン ウェブ サービス月額料金見積もりツール」を使用することで、各ユーザーごとの月額料金について見積もりを出すことが可能ですので、是非活用してください。
AWSメールサーバー(SES)でのメール送信設定
AWSメールサーバー(SES)でのメール送信を行う設定について解説していきます。
AWSにログインする
AWSのアカウントが未作成の場合には、新規作成を行い、ログインしましょう。
AWSメールサーバー(SES)を開きリージョンを選択
AWS等のクラウドコンピューティングでの「リージョン」とは、地理的な要素「ゾーン」のことです。日本であれば「東京リージョン」や「大阪リージョン」が選択可能です。
メールアドレスの登録
AWSメールサーバー(SES)のマネジメントコンソールの項目「Identity Management」の中にある「Email Addresses」に任意のメールアドレスを登録します。
登録したメールアドレスの認証
先ほど登録したメールアドレスに問題がないかを確認し、認証を行います。「Velfication Sender」の「Email Addresses」を選択すると、登録したメールアドレスが表示されるので、「Verify a New Email Address」をクリックし、アドレスを入力して「Verify This Email Address」をクリックすると、アドレスにリンク付きのメールが同歩されるので、リンクをクリックすることで認証が行われます。
登録したメールアドレスにメール送信を行ってみる
メール送信画面で登録したメールアドレスを「To」に入力し、「Subject」及び「Body」を入力して、「Send a Test Email」をクリックして、無事にメールが送信できるとメールアドレスの登録がうまくいっているという証拠となります。
送信制限の緩和申請を行う
AWSメールサーバー(SES)のダッシュボードの中にある「Request a Sending Limit Increase」をクリックし、複数の質問の回答を入力した後、「サービス制限の増加」にチェックをして送信します。その後申請が受理されるとメールが届き、ここで正式にAWSメールサーバー(SES)の使用が可能となります。
登録したメールアドレス以外のメールアドレスにメールを送信してみる
登録したメールアドレスをクリックすると出てくる「Send a Test Email」を選択すると、「Send Test Mail」が表示されますので、「To」に登録していないメールアドレスを入力後、「Subject」「Body」にも入力を行って、テストメールを送信します。
SMTP認証情報の作成
AWSメールサーバー(SES)は、SMTPに対応しているため、設定を行います。「Create My SMTP Credentials」を選択し、画面に従って権限を持つユーザーの作成を行うことでSMTP送信を行うための証明書が作成されます。
Outlook等のメールクライアントからテストメールを送付する
先ほど設定したSMTP送信機能を使用することで、Outlook等の外部メールクライアントからメール送信が行うことが可能です。メールアカウントを作成後、SMTPの設定を行い、送信サーバーポートの設定は「465」としましょう。
AWSメールサーバーでのメール受信設定(Route53を使用)
AWSメールサーバー(SES)のメール受信設定においては、「Amazon Route 53」というサービスがおすすめです。AWSメールサーバー(SES)と互換性があり、とても便利なものとなっているためです。
Amazon Route 53とは
AWSメールサーバーでのメール受信設定をする前に、Amazon Route 53について簡単に解説致します。Amazon Route 53とは、簡単にいうとDNS(ドメインネームサービス)のフルマネージドサービスのことです。具体的には、Amazon Route 53を使って管理しているドメインを参照し、IPアドレス等に関連するデータを取得することが可能です。
Amazon Route 53には、ドメイン登録機能とDNSルーティング機能、DNSヘルスチェック機能等が搭載されており、可用性と拡張性が優れています。
ドメイン設定
AWSメールサーバー(SES)のコンソールを開き、「ドメイン」「新しいドメインの検証」と進み、Amazon Route 53で登録してあるドメイン名を入力及び検証を行い「Route 53を使用」を選択します。画面に従い、「Domain Verification Record」と「Email Receiving Record」をチェックしてからしばらく待ち、更新するとドメインの検証及び設定が完了します。
ドメイン設定後AWSメールサーバー(SES)で受信メール設定を行う
それぞれの環境に合わせて細かい設定が必要となりますが、特に設定が必要であると考えられる箇所は次の2点です。
- Recipients
- Rule details
「Recipients」は、受信するメールをドメインから設定を行う項目です。また「Rule details」は、スパム及びウィルス等への対応を設定を行う項目となっています。他にも必要に合わせて細かな設定をするべきですので、全項目に目を通してからAWSメールサーバー(SES)の使用を始めることが大切です。
まとめ
AWSメールサーバー構築について、本記事では、AWSメールサーバー(SES)のメリットデメリットをはじめ、メール送受信設定についても徹底解説致しました。それぞれの環境によって細かな設定は必要となりますが、最低限の設定については、本記事を参照することでできるようになるのではないかと思います。
普及してきているAWSの中でも特に必要となるAWSメールサーバー(SES)について理解し、スムーズにメール送受信を行うことができるよう設定を行いましょう。