AWSメールサーバ構築の方法と手順を解説|SESとEC2の選び方・注意点

目次

はじめに

「AWSでメールサーバを構築したいけれど、SESとEC2のどちらを使えばいいの?」
「独自ドメインからメールを送受信するには、何を設定すればいい?」と迷っていませんか。

AWSの管理画面を開いても、メール送信向けのSESと、自由にサーバを構築できるEC2があるため、自社サイトの問い合わせメールやシステム通知にどちらを選ぶべきか判断しにくいですよね。

この記事では、AWSでメールサーバを構築する方法から、SESとEC2の違いと選び方、構築時に確認したい設定や注意点まで解説します。

AWSでメールサーバを構築する方法は大きく2つ

AWSでメールを扱う方法は、Amazon SESを利用する方法と、EC2上にメールサーバを構築する方法の大きく2つに分けられます。

必要な機能やサーバ管理の範囲によって適した方法が異なるため、それぞれの構築方法と選ぶ基準を順番に確認していきましょう。

SESを利用してメールを送信する方法

Amazon SESでは、送信元のメールアドレスや独自ドメインの所有確認を行い、SMTPまたはAPIを使ってメールを送信します。

メール送信はSES側で処理されるため、EC2にメールサーバ用のソフトウェアを導入して管理する必要はありません。

EC2にメールサーバを構築する方法

EC2を利用する場合は、インスタンスにPostfixなどのメールサーバ用ソフトウェアを導入し、DNSや必要なポートを設定します。

メール送信ではAWSによる25番ポートの制限もあるため、利用するポートや送信経路を確認しながら構築しましょう。

SESとEC2は何を基準に選ぶべきか

メール送信を手軽に行いたい場合はSES、メールサーバを自分で構築・管理したい場合はEC2が候補になります。

送信だけが必要なのか、受信やメールボックスの管理まで必要なのかを整理すると、自分に合った方法を選びやすくなります。

EC2でメールサーバを構築する手順

EC2でメールサーバを構築する場合は、最初にEC2インスタンスを用意し、メールを送受信するための環境を整えます。

その後、Postfixなどのメールサーバを設定し、SMTPでメールを送信できる状態にしたうえで、必要であれば受信機能も設定します。

最後にテストメールを送信し、設定した宛先へ正常に届くかを確認するまでの手順を順番に見ていきましょう。

EC2を準備してメールサーバの環境を整える

AWSの管理画面からEC2インスタンスを作成し、Amazon LinuxやUbuntuなどのOSを選んで起動します。

必要に応じてElastic IPアドレスを割り当て、独自ドメインのDNSやセキュリティグループもメールサーバで利用できるように設定します。

Postfixなどのメールサーバを設定する

EC2へSSHで接続し、Postfixなどのメールサーバ用ソフトウェアをインストールします。

ホスト名やドメイン名などの必要な項目を設定したらPostfixを再起動し、正常に動作していることを確認しましょう。

SMTPでメールを送信できる状態にする

PostfixのSMTP設定を行い、EC2から外部へメールを送信できるようにします。

AWSではTCP 25番ポートの通信が制限される場合があるため、25番ポートを使う場合は制限を確認し、必要に応じて587番ポートなどを使ったSMTP中継も検討します。

「ポート25が制限されている場合、AWSではどのポートを使えばよいの?」と迷ったときは、よく使われるポート番号と用途を確認しておくと安心です。
▶AWSのポート番号一覧|EC2のセキュリティグループ設定も解説

必要に応じてメールを受信できるようにする

メールを受信する場合は、独自ドメインのDNSにMXレコードを設定し、受信先のメールサーバを指定します。

あわせて必要なポートを許可し、Postfix側でも対象ドメイン宛てのメールを受信できるように設定します。

テストメールを送って動作を確認する

設定が完了したら外部のメールアドレスへテストメールを送り、正常に届くか確認します。

届かない場合はPostfixのログを確認し、受信機能も設定した場合は外部から独自ドメイン宛てにメールを送って動作を確かめましょう。

AWSでメールサーバを構築するときの注意点

AWSでメールサーバを構築するときは、メールを送受信できる状態にするだけでなく、AWS側の送信制限やドメインの設定も確認する必要があります。

ここでは、AWSでメールサーバを運用する前に確認しておきたいポイントを順番に説明します。

ポート25の送信制限を確認する

EC2から外部へメールを直接送信する場合は、TCP 25番ポートに対するAWS側の制限を確認します。

制限されていると正常に送信できないため、必要な手続きを行ってから送信テストを進めましょう。

独自ドメインとDNSを正しく設定する

独自ドメインを使う場合は、DNSにAレコードを設定し、メールを受信する場合はMXレコードも追加します。

設定後はDNSの反映状況を確認し、正しいメールサーバへ名前解決できることを確かめましょう。

「DNSを設定してもすぐに反映されないの?」と気になる場合は、設定変更が反映されるまでの時間も確認しておきましょう。
▶DNSの反映時間はどれくらい?反映されないときの確認方法

SPF・DKIM・DMARCなどの認証を設定する

独自ドメインからメールを送信する場合は、SPF・DKIM・DMARCを適切に設定することが大切です。

送信元の確認やなりすまし対策につながるため、設定後は各レコードがDNSへ正しく反映されているか確認しましょう。

セキュリティと運用管理を考える

EC2では必要なポートだけを許可し、OSやPostfixなども定期的に更新します。

オープンリレーになっていないか確認するとともに、運用開始後はログを確認し、不審なアクセスや大量送信がないか見守ることも大切です。

AWSでメールサーバを構築するときによくある疑問

AWSでメールサーバを構築しようとすると、独自ドメインのメールをAWSだけで運用できるのか、SESだけでメールサーバとして使えるのか迷うことがあります。

ここでは、AWSでメールサーバを構築するときに生じやすい疑問について、SESとEC2の役割の違いを踏まえながら順番に説明します。

AWSだけで独自ドメインのメールを運用できる?

AWSのサービスを組み合わせれば、独自ドメインを使ったメール環境を構築できます。

Route 53でDNSを設定し、SESやEC2を利用できますが、EC2でメールボックスまで運用する場合は自分でメールサーバを管理する必要があります。

SESだけでメールサーバを構築できる?

SESはメールの送受信に対応していますが、一般的なメールサーバのようなメールボックスやIMAP・POP3の機能はありません。

受信したメールはほかのAWSサービスへ渡して処理する仕組みのため、普段使う受信箱までSESだけで構築することはできません。

EC2にメールサーバを構築するメリットは?

EC2ではPostfixなどを導入し、メールの送受信やメールボックスを用途に合わせて構成できます。

OSやメールサーバの設定も変更できるため、自社に必要な環境を柔軟に構築できる点がメリットです。

AWSでメールサーバを構築するならSESとEC2のどちらがよい?

システムから通知メールなどを送信することが目的なら、サーバ管理の負担が少ないSESが向いています。

一方、メールの受信やユーザーごとのメールボックスまで自分で管理したい場合は、EC2にメールサーバを構築する方法が候補になります。

まとめ

AWSでメールサーバを構築する方法は、主にAmazon SESを利用する方法と、EC2にPostfixなどを導入する方法の2つです。

Webサービスから通知メールを送ることが目的ならSES、独自ドメインのメールを受信してメールボックスまで自分で管理したい場合はEC2が候補になります。

EC2で構築する場合は、ポート25の送信制限やDNSに加えて、SPF・DKIM・DMARC、セキュリティグループなども設定し、送受信テストまで行うことが重要です。

まずは「メール送信だけが必要か」「受信やメールボックスの管理まで必要か」を整理し、必要な機能に合わせてSESとEC2を選びましょう。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

目次