LoginSignup
14
16

More than 5 years have passed since last update.

AWSでVPC内のプライベートSubnet内にSMTPサーバーを構成する

Posted at

前提条件

  1. AWSで最低限セキュアな構成を組む(以下、記事1と記述)の内容を参考に構成が組まれている事。但し以下の手順は行わなくて良い。

    1. 「4. Auto Scaling Groupのための前準備」の手順のうち、「パブリックSubnetにEC2インスタンス(踏み台サーバーとして)」以外の手順
    2. 「5. Elastic Load Balancerの構築」
    3. 「6. Auto Scaling Groupの構築」
    4. 「7. アクセスして確認」
  2. お名前.comで取得したドメインのネームサーバーをRoute53に変更しELB配下のWebページをドメインで引けるようにする等の内容を参考に自ドメインのネームサーバーがRoute 53で運用されている事

構築手順

  1. プライベートSubnetにEC2インスタンスを作成(SMTPサーバーとして)
  2. 踏み台サーバーからSMTPサーバーにログインしてpostfixをインストール
  3. Elastic Load Balancerの構築
  4. Route 53の設定
  5. メールを送信し、到達を確認する

プライベートSubnetにEC2インスタンスを作成(SMTPサーバーとして)

  1. 記事1のNATインスタンスを作成した要領で、プライベートSubnetにEC2インスタンスを作成する。Security Groupは新規に作成して、10.0.0.0/16からのSSHとSMTPのみを許可するように設定すればとりあえず良い。

postfixをインストール

postfixのインストールと設定の内容を参考にする。

Elastic Load Balancerの構築

  1. EC2 Dashboard左メニューから「Load Balancers」を選択
  2. 「Create Load Balancer」ボタンを押下
  3. Load Balancer nameは適当に(elb-servicename-stgとか)
  4. Create LB Insideは作成したVPCを指定
  5. Create an internal load balancerはチェックoff
  6. Listener Configurationについて
    1. Load Balancer ProtocolはTCP
    2. Load Balancer Portは25(SMTPのポート)
    3. Instance ProtocolはTCP
    4. Instance Portは25
  7. 「Continue」ボタンを押下
  8. Configure Health Checkは、Ping ProtocolがTCP、Ping Portが25になっている事を確認
  9. Healthy Thresholdは、実運用時は適切に設定するものの、構築を試行している時は最小の2がお勧め
  10. 「Continue」ボタンを押下
  11. Available Subnetsの中からパブリックSubnetのプラスマークを押下(ELBが属するSubnetを指定する事)
  12. 「Continue」ボタンを押下
  13. Security groupはポート25だけを許可した新しいものをここでは作成した
  14. 「Continue」ボタンを押下
  15. Add Instances to Load Balancerの画面で、先程プライベートSubnetに作成した、SMTPサーバーのEC2インスタンスを指定
  16. 「Continue」ボタンを押下
  17. Key, Valueはとりあえず指定せず「Continue」ボタンを押下
  18. 「Create」ボタンを押下
  19. 今作成したELBのDescriptionタブ内のStatusが「1 of 1 instances in service」になるのを待つ

Route 53の設定

  1. Servicesから"Route 53"を選択
  2. 左メニューから"Hosted Zones"を選択
  3. 対象のドメインの左端のチェックボックスをチェックし[Go to Record Sets]ボタンを押下
  4. [Create Record Set]ボタンを押下
    1. NameにはSMTPサーバーの名前を入れる(mail等)
    2. Typeに"A - IPv4 address"を指定
    3. Aliasは"Yes"を選択し、Alias Targetに先程作成したELBを指定
    4. [Create]ボタンを押下
  5. [Create Record Set]ボタンを押下
    1. Typeに"MX - Mail exchange"を指定
    2. Aliasは"No"のままで、Valueに"10 先程作成したAレコードのFQDN"を指定(mail.my.domainのように)
    3. [Create]ボタンを押下

1. [Create]ボタンを押下

  1. 自分のMUAからpostfixtest@my.domain宛てにメールを送信する
  2. 踏み台サーバーからメールサーバーにログインし、/home/postfixtest/Maildir/newに、今送信したメールが到達している事を確認する
14
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
16