前提条件
-
AWSで最低限セキュアな構成を組む(以下、記事1と記述)の内容を参考に構成が組まれている事。但し以下の手順は行わなくて良い。
-
「4. Auto Scaling Groupのための前準備」の手順のうち、「パブリックSubnetにEC2インスタンス(踏み台サーバーとして)」以外の手順
-
「5. Elastic Load Balancerの構築」
-
「6. Auto Scaling Groupの構築」
-
「7. アクセスして確認」
-
お名前.comで取得したドメインのネームサーバーをRoute53に変更しELB配下のWebページをドメインで引けるようにする等の内容を参考に自ドメインのネームサーバーがRoute 53で運用されている事
構築手順
- プライベートSubnetにEC2インスタンスを作成(SMTPサーバーとして)
- 踏み台サーバーからSMTPサーバーにログインしてpostfixをインストール
- Elastic Load Balancerの構築
- Route 53の設定
- メールを送信し、到達を確認する
プライベートSubnetにEC2インスタンスを作成(SMTPサーバーとして)
- 記事1のNATインスタンスを作成した要領で、プライベートSubnetにEC2インスタンスを作成する。Security Groupは新規に作成して、10.0.0.0/16からのSSHとSMTPのみを許可するように設定すればとりあえず良い。
postfixをインストール
postfixのインストールと設定の内容を参考にする。
Elastic Load Balancerの構築
- EC2 Dashboard左メニューから「Load Balancers」を選択
- 「Create Load Balancer」ボタンを押下
- Load Balancer nameは適当に(elb-servicename-stgとか)
- Create LB Insideは作成したVPCを指定
- Create an internal load balancerはチェックoff
- Listener Configurationについて
- Load Balancer ProtocolはTCP
- Load Balancer Portは25(SMTPのポート)
- Instance ProtocolはTCP
- Instance Portは25
- 「Continue」ボタンを押下
- Configure Health Checkは、Ping ProtocolがTCP、Ping Portが25になっている事を確認
- Healthy Thresholdは、実運用時は適切に設定するものの、構築を試行している時は最小の2がお勧め
- 「Continue」ボタンを押下
- Available Subnetsの中からパブリックSubnetのプラスマークを押下(ELBが属するSubnetを指定する事)
- 「Continue」ボタンを押下
- Security groupはポート25だけを許可した新しいものをここでは作成した
- 「Continue」ボタンを押下
- Add Instances to Load Balancerの画面で、先程プライベートSubnetに作成した、SMTPサーバーのEC2インスタンスを指定
- 「Continue」ボタンを押下
- Key, Valueはとりあえず指定せず「Continue」ボタンを押下
- 「Create」ボタンを押下
- 今作成したELBのDescriptionタブ内のStatusが「1 of 1 instances in service」になるのを待つ
Route 53の設定
- Servicesから"Route 53"を選択
- 左メニューから"Hosted Zones"を選択
- 対象のドメインの左端のチェックボックスをチェックし[Go to Record Sets]ボタンを押下
- [Create Record Set]ボタンを押下
- NameにはSMTPサーバーの名前を入れる(mail等)
- Typeに"A - IPv4 address"を指定
- Aliasは"Yes"を選択し、Alias Targetに先程作成したELBを指定
- [Create]ボタンを押下
- [Create Record Set]ボタンを押下
- Typeに"MX - Mail exchange"を指定
- Aliasは"No"のままで、Valueに"10 先程作成したAレコードのFQDN"を指定(mail.my.domainのように)
- [Create]ボタンを押下
1. [Create]ボタンを押下
- 自分のMUAからpostfixtest@my.domain宛てにメールを送信する
- 踏み台サーバーからメールサーバーにログインし、/home/postfixtest/Maildir/newに、今送信したメールが到達している事を確認する