サイトアイコン 協栄情報ブログ

AWS プライベートサブネットのEC2からメール送信したい!ポート25制限解除申請しないといけない

はじめに

AWS上のEC2インスタンスからメールを送信しようとしたら、なぜか届かない――そんな経験はありませんか?

実はAWSでは、スパムメールの悪用防止のため、すべてのEC2インスタンスでSMTP送信(ポート25)がデフォルトで制限されています。これはパブリックサブネットだけでなく、プライベートサブネットのEC2でも同様です。

本記事では、EIPを持たないプライベートサブネット上のEC2に対するポート25制限解除申請の背景・手順・注意点を、実務で役立つレベルで解説します。


1. 背景:なぜAWSはポート25を制限しているのか

SMTPポート25とは

SMTP(Simple Mail Transfer Protocol)のポート25は、メールサーバー間のメール転送に使われる標準ポートです。古くからインターネット上のメール配送の根幹を担ってきましたが、同時にスパムメールの踏み台として悪用されやすいポートでもあります。

AWSの制限ポリシー

AWSはプラットフォーム全体の信頼性を守るため、EC2インスタンスからのポート25アウトバウンド通信をデフォルトで制限しています。この制限により、万が一EC2が侵害された場合でも、大量のスパムメールが外部に送信されるリスクを抑えています。

重要なのは、この制限がEIPの有無やサブネットの種類(パブリック/プライベート)に関係なく、すべてのEC2インスタンスに適用されるという点です。


2. どんな場合にポート25の解除が必要になるのか


以下のようなユースケースでは、ポート25の制限解除申請が必要になります。

ユースケース例

ポート25の解除が不要なケース

逆に、以下のような場合は解除申請は不要です。


3. 前提条件


申請を行う前に、以下の点を確認してください。

項目 内容
AWSアカウント 対象のEC2が稼働しているAWSアカウントでログインすること
必要な権限 ルートアカウントは不要。Admin権限を持つIAMユーザーで申請可能
AWSサポートプラン ベーシックプランでも申請可能(サポートケースではなく専用フォーム経由のため)
申請対象の情報 EC2のインスタンスID、利用目的、メール送信先の情報など
EIP/rDNS プライベートサブネットのEC2の場合、EIP情報・逆引き(rDNS)設定は入力不要

4. 申請手順

Step 1:申請フォームにアクセス

以下のURLから申請フォームを開きます。

https://console.aws.amazon.com/support/contacts?#/rdns-limits

注意:申請対象のAWSアカウントにログインした状態でアクセスしてください。

Step 2:必要事項を入力

フォームには以下の情報を記載します。

Elastic IP Address(EIP)欄
→ プライベートサブネットのEC2の場合は空欄でOKです。

Reverse DNS Record(rDNS)欄
→ こちらも入力不要です。

Use Case Description(利用理由)欄
→ ここが最も重要です。英語で、具体的かつ簡潔に記載します。

Step 3:申請理由を記載する

申請理由のポイントは以下の3つです。

  1. 何をしたいのか(どのEC2から、どこへメールを送るのか)
  2. なぜポート25が必要なのか(ポート587/465では対応できない理由)
  3. スパム対策はどうなっているか(メールリレーサーバーの制限、送信先の限定など)

申請理由の記載例

AWS Account ID: 1234-5678-9012

We operate a document management system (Microsoft SharePoint) on EC2 
instance i-0123456789abcdef0 in a private subnet. This system needs to 
send ticket notification emails via our on-premises mail relay server 
through a VPN connection.

- Only authorized EC2 instances are permitted to connect to the mail 
  relay server.
- The mail relay server has strict access controls and only relays 
  emails to internal recipients.
- Port 587/465 is not supported by the legacy mail relay server.

Step 4:申請完了を確認

申請送信後、AWS Supportから確認メールが届きます。通常、数時間〜1営業日程度で承認されます。


5. 注意事項(必読)

⚠️ 制限解除はリージョン単位で適用される

これが最も重要な注意点です。

ポート25の制限解除が承認されると、申請したリージョン内のすべてのEC2インスタンスに対して制限が解除されます。特定のインスタンスだけを対象にすることはできません。

AWSからの承認メールにも以下のように記載されます。

"We approved your request for the removal of the EC2 email sending limitations on your Amazon Web Services account for the following regions…"

対策:セキュリティグループとNetwork ACLで制御

制限解除後は、意図しないEC2からのメール送信を防ぐため、ネットワークレベルで明示的に制御する必要があります。

セキュリティグループでの制御例:

# メール送信が必要なEC2のセキュリティグループのみ
# ポート25のアウトバウンドを許可する

[許可するSG]
  Type: Custom TCP
  Port: 25
  Destination: <メールリレーサーバーのIP>/32

[それ以外のSG]
  ポート25のアウトバウンドルールを追加しない
  (デフォルトでは全アウトバウンドが許可されているため、
   明示的にポート25を拒否するにはNetwork ACLを使用)

Network ACLでの制御例:

# サブネット単位でポート25を制御する場合
# メール送信不要なサブネットではポート25をDENY

Rule #: 50
Type: Custom TCP
Port: 25
Destination: 0.0.0.0/0
Action: DENY

その他の注意事項


6. 実運用で意識すべきポイント

ポート25の利用は「最後の手段」

AWSのベストプラクティスとして、可能な限り以下の代替手段を優先検討してください。

優先度 手段 説明
★★★ Amazon SES AWS標準のメール送信サービス。ポート587/465を使用し、25ポートの制限対象外
★★☆ 外部SMTPサービス SendGrid、Mailgun等をポート587/465で利用
★☆☆ ポート25制限解除 レガシーシステム連携等、他に手段がない場合のみ

セキュリティ設計の原則

ポート25を解除する場合は、最小権限の原則を徹底してください。

監視の仕組み

ポート25が解放されたリージョンでは、意図しないメール送信を検知する仕組みも重要です。


7. 参照ドキュメント

ドキュメント URL
AWS公式:EC2のEメール送信制限について https://docs.aws.amazon.com/ses/latest/dg/ec2-email-restrictions.html
申請フォーム(ポート25制限解除・rDNS設定) https://console.aws.amazon.com/support/contacts?#/rdns-limits
Amazon SES開発者ガイド https://docs.aws.amazon.com/ses/latest/dg/
VPC Flow Logs https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html
元記事(協栄情報ブログ) https://cloud5.jp/aws-private-ec2-25-port/

まとめ

プライベートサブネットのEC2であっても、ポート25を使ったメール送信にはAWSへの制限解除申請が必要です。申請自体は専用フォームから英語で理由を記載するだけのシンプルな手続きですが、制限解除がリージョン単位で適用されるという点は見落としがちなので、解除後のセキュリティ設計まで含めて計画しましょう。

まずはAmazon SESやポート587/465での代替が可能かを検討し、ポート25の利用はやむを得ない場合に限定するのがAWS運用のベストプラクティスです。

モバイルバージョンを終了