質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.61%

  • AWS(Amazon Web Services)

    1922questions

    Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

  • メール

    249questions

    メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

  • ロードバランサー

    31questions

    ロードバランサー【負荷分散装置】は、複数のサーバへアクセス要求を分散する装置です。 要求を分散することで各サーバが快適な応答速度を保つことを目的としており、 アクセスの多い大規模サイト等は、この装置により 複数のサーバに負荷を分散する事で安定な運用が可能です。

AWSのELBで、メールサーバを構築したい

受付中

回答 4

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 3,611

skinny

score 20

EC2インスタンスにメールサーバを構築して運用していましたが、
ELBで冗長化する必要があったのでそれを構築しようとしていますが、
うまくいかないです。

ウェブで調べていても情報が見つけ出せなくて、苦戦しています。

以下のページの設定だけを行った状態では、メールは「受信」が不可能でした。
http://d.hatena.ne.jp/knaka20blue/20130514/1368503608

■各EC2インスタンスを以下に変更する
# vi /etc/postfix/main.cf
mynetworks = 10.0.0.0/8, 127.0.0.0/8

■ELBのリスナーに以下を追加する
TCP : 25 -> TCP : 25
TCP : 587 -> TCP : 587

■ELBのセキュリティグループに以下を設定する
25(SMTP) 0.0.0.0/0
587(SUBMISSION) 0.0.0.0/0

上記の設定を行って、postfixをrestartしましたが、
メールの「受信」が不可能でした。



ELBのリスナーに「143」を設定しようとすると、

ロードバランサーのポートは、25、80、443、465、587、または 1024 ~ 65535 (1024 と 65535 を含む)でなければなりません。 

と表示されます。
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 4

0

送信については、
25ポートは使ってなくて、587ポートを使ってましたので、
587ポートを設定することで、送信の確認はできました。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

postfix がローカル以外の I/F でリッスンしているでしょうか?(大抵のディストリではデフォでローカルのみリッスンするように設定されていると思います)

以下のようなコマンドでなにが表示されますか?

netstat -tln | grep 25

もし以下のような表示になるのであれば、

tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN

postfix がローカルからの接続しか受け付けていないので、main.cf で以下のように設定する必要があります。

inet_interfaces = all

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/06/17 10:09

    すみません、上記が今回の件にどう関わってくるのかが、
    知識が追いついていません。
    以下のようになります。

    $ netstat -tln | grep 25
    tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN

    main.cfでの
    inet_interfaces = all
    は設定済みです。

    キャンセル

  • 2015/06/17 10:26

    質問の内容から mynetworks しか変更していないのではないかと思いましたので。
    その設定になっているなら inet_interfaces は問題ないので別の原因のようです。

    キャンセル

0

「受信」の意味の確認ですが、インターネットから SMTP 25番ポートで Postfix がメールを受け取り、ディスクに保存することで間違いないでしょうか。

587番ポートで送信できているということは、ELB のエンドポイントの 587番ポートに直接接続しているのですよね?  であれば、そのまま 587番ポートに接続して、$mydomain 宛にもメールを送ることができる(Postfix でメールを受け取れる)と思います。

587番ポートでは受信できて、25番ポートでダメなら、そもそも ELB のエンドポイントの 25番ポートに直接接続できているのか(コード 220 の応答があるか、メールログが出力されるか)確認してください。

→接続できない
ngyuki さんの回答にあるように、Listen していないか、EC2 側のセキュリティグループで ELB からの接続を許可していない可能性が考えられます。25番ポートが Listen していなければ、master.cf も確認。

→接続できる
ELB に直接接続してメールを送信しているのはなく、MX 宛に送っているのでしょうか?
もし、そうであれば、DNS を確認してください。


ELB を IMAP でも利用しようとしているようですが、出力メッセージのとおり、143番ポートは利用できません。

また、25番ポートを ELB で負荷分散して複数の EC2インスタンスでメールを受けとると、メールの保存先がバラバラになってしまうのではないでしょうか。Elastic File System か Storage Gateway を使うのか、別途 NFSサーバーを用意するのでしょうか。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/06/17 10:06

    取り急ぎ、
    「メールの保存先がバラバラになってしまうのではないか」
    ということについては、
    それによってどのような弊害が出るか、
    理解できていないので、実際に試して確認しようと考えていました。
    それを知った上で、別途、保存先を検討しようかと。

    キャンセル

0

143 ということなので、IMAP を冗長化されようとしていますね。

http://d.hatena.ne.jp/knaka20blue/20130514/1368503608

で示されている手順は、メールボックスへの格納までだと思います。
SMTP(メール配送の世界)においては、これを通常「受信」と呼びます。

一方、IMAP(143) はクライアントからのメールボックスへのアクセス
(メールの取り出し)です。利用者から見たら受信ですが、SMTPとは
別の扱いになっています。

メールはその特性として、新しいデータが次々に発生します。
もしメールサーバ(IMAPサーバ)を冗長化した場合、どのサーバ
に対して IMAP アクセスが来ても正しくデータを返せるように、
最終的なメールボックスの置き場所は一つである必要があります
(EC2のローカルには置けない)。

ELB では 143 を指定できないということは、EC2 + ELB だけでは
メールサーバ(SMTPサーバ)は冗長化できても、IMAP サーバの冗長化は
できない、ということなのかもしれません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.61%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • AWS(Amazon Web Services)

    1922questions

    Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

  • メール

    249questions

    メールは、コンピュータネットワークを利用し、 情報等を交換する手段のことです。

  • ロードバランサー

    31questions

    ロードバランサー【負荷分散装置】は、複数のサーバへアクセス要求を分散する装置です。 要求を分散することで各サーバが快適な応答速度を保つことを目的としており、 アクセスの多い大規模サイト等は、この装置により 複数のサーバに負荷を分散する事で安定な運用が可能です。