AWS SES + S3でメール受信環境を構築 AWSで無料サーバ証明書_1

AWS ELB SSL TLS HTTPS 証明書適用

今回はAWS SESS3を利用してメールの受信環境を構築します。

 

2回連載を通して、ELBロードバランサーにSSL証明書を適用する作業のご紹介する予定です。ACM(Amazon Certificate Manager)とSESを組み合わせて使うことにより、WEBサーバ用のドメイン認証証明書を無料で取得出来るようになります。

 

ワイルドカード証明書の値段

年額\16,000~\140,000程度
取り扱いの証明書ブランドや認証タイプによって価格は大きく異なります。Symantec等有名証明書ブランドなら高い。AWS ACM提供の証明書はドメイン認証タイプの証明書です。HTTPS通信を行いたいならこれで十分。

@see https://www.geotrust.co.jp/products/

 

 

 

ACMを使って実現できること

ACMのサーバ証明書発行管理と自動更新機能により、サーバ証明書の管理・更新作業からの開放!あったら困る、更新期限を忘れた為にサーバダウンといった不安がなくなります。

 

AWSはなんと、ドメイン認証証明書のワイルドカードが無料!

  1. AWS ACMで証明書のリクエスト発行
  2. SES、S3、Route53を使ってACMが発行したドメインのメール認証
  3. ACMより証明書を取得
  4. ELBに適用

上記作業により、サーバレスでサーバ証明書発行を行います。

 

ACM(Amazon Certificate Manager)の仕様

  • 秘密鍵をAWSからは取り出せない。
  • ELBやCloudFrontに適用することでTLS実装が可能

上記の仕様からわかることは、あくまでAWSのサービス利用内での証明書は無料。いくらでも自由に使って構わないよってサービスだということ。

 

今回の前提条件

  • 既にRoute53にてWEBサーバ向けのドメイン設定が完了している。

Amazon Simple Email Service (Amazon SES)

 

コスト効率に優れた E メールサービスであり、Amazon.com が自社の顧客ベースのサービス向けに開発した信頼性が高くスケーラブルなインフラストラクチャで構築されています。Amazon SES では、最低料金なしで E メールを送受信できます。従量料金制で、使用した分のみお支払いいただきます。

 

@see Amazon SES

S3のバケットを利用することで受信も出来るようになりました。

以前は送信のみでした。今はメールデータをDBに格納できたり、S3バケットと連携などサービスが拡張され、より便利になりました。

 

AWS Certificate Manager

 

AWS の各種サービスで使用する Secure Sockets Layer/Transport Layer Security (SSL/TLS) 証明書のプロビジョニング、管理、およびデプロイを簡単に行えます。SSL/TLS 証明書は、ネットワーク通信を保護し、インターネットでウェブサイトのアイデンティティを確立するために使用されます。AWS Certificate Manager を使用すれば、SSL/TLS 証明書の購入、アップロード、および更新という時間のかかるプロセスを手動で行う必要がなくなります。AWS Certificate Manager を使えば、証明書のリクエスト、および Elastic Load Balancing や Amazon CloudFront ディストリビューションといった AWS のリソースでの証明書のデプロイを簡単に行うことができます。また、証明書は自動的に更新されます。AWS Certificate Manager でプロビジョニングされた SSL/TLS 証明書は無料です。お支払いいただくのは、アプリケーションを実行するために作成した AWS リソースの料金のみです。

 

@see AWS Certificate Manager

 

ACMで証明書を発行してTLS実装メリット

  1. 自動更新してくれるので証明書の更新作業がなくなる。
  2. 1により証明書の更新を忘れでのサーバダウンしなくなる。
  3. 証明書管理業務がなくなる。
  4. 証明書ブランドとの更新契約費用を削減できます。

Amazon SESを利用する

 

AWS SES

【サービス】から【SES】をクリックします。

 

 

AWS SES 証明書 TLS SSL HTTPS

日本と米国との地理的な理由でオレゴンを選択しています。

 

AWS SES 証明書 TLS SSL HTTPS

 

SES Homeが表示されました。【Domains】を選択します。

 

AWS SES メール認証 Veriyfy a New Domains

【Verify a New Domain 】を選択します。

 

AWS SES メール認証 Veriyfy a New Domains

【Use Route 53】をクリックします。

 

AWS SES メール認証

各チェックを入れて、【Create Record Sets】をクリックします。

 

AWS SES メール認証 Route53

SESの準備が出来ました。

 

AWS SES メール認証 Route53

【サービス】>> 【Route53】を選択します。

 

 

AWS SES メール認証 サーバ証明書 HTTPS Route53

Hosted zonesをクリックします。

 

AWS SES メール認証 サーバ証明書 HTTPS Route53

既に設定してあるドメイン名をクリックします。

 

 

AWS SES メール認証 サーバ証明書 HTTPS Route53

SESで設定したレコードが追加されているのを確認します。

 

 

AWS SES メール認証 サーバ証明書 HTTPS Route53

 

【サービス】>> 【SES】を選択します。

 

AWS SES メール認証 サーバ証明書 HTTPS Route53

【Email Receiving】項目の【Rule Sets】をクリックします。

 

 

 

AWS SES メール認証 サーバ証明書 HTTPS Route53

【View Active Rule Set】をクリックします。

 

 

AWS SES メール認証 サーバ証明書 HTTPS Route53

【Create Rule】をクリックします。

 

AWS SES メール認証 サーバ証明書 HTTPS Route53

【Recipient】項目に使用したいドメイン名を入力し、【Add Recipient】を入力します。

 

AWS SES メール認証 サーバ証明書 HTTPS Route53

【Next Step】をクリックします。

 

 

AWS SES メール認証 サーバ証明書 HTTPS Route53 S3

Add action項目で【S3】を選択します。

 

AWS SES メール認証 サーバ証明書 HTTPS Route53 S3

S3セクションで【S3 bucket】項目にてSESのメールを格納する【Create S3 bucket】を作成します。

 

 

AWS SES メール認証 サーバ証明書 HTTPS Route53 S3

任意のバケット名を入力し、【Create Bucket】を入力します。

 

 

AWS SES S3

Object key prefixに任意のものを入力、【Add action】にて【Stop Rule Set】をクリックして選択します。

 

AWS SES S3

【Next Step】をクリックします。

 

AWS SES S3

【Rule Details】にルール名を任意の名前で入力して、【Next Step】をクリックします。

 

AWS SES S3 Amazon Simple Email Service

 

AWS SES S3 Amazon Simple Email Service dig mx

digコマンドを使ってドメインのMXレコードがひけるかを確認しました。期待していたレコードのANSWERも返りました。大丈夫ですね~。

 

AWS SES S3 Amazon Simple Email Service dig mx

では、メールを試しに打ってみます。

 

 

 

AWS SES S3 Amazon Simple Email Service dig mx

 

【サービス】>> 【S3】を選択します。

 

 

AWS SES S3 Amazon Simple Email Service バケット

SESで作ったS3バケットを選択します。

 

 

 

AWS SES S3 Amazon Simple Email Service バケット

メールが届いています。

これでSES+AWS S3によりメール受信が可能な環境が整いました。

 

次回はAWS Certificate Managerと今回構築したSESを使ってサーバ証明書を発行し、ELB(ALB)ロードバランサに証明書を適用しHTTPS暗号化通信が出来るようにしようと考えています。

お楽しみに!

 

次⇒AWS SES + S3でメール受信環境を構築 AWSで無料サーバ証明書_2

 

 

 

優 ( エンジニア )

この記事を書いた人:優 ( エンジニア )

システムガーディアン爆弾処理班。アクセス負荷対策やNginxへの移行案件が多いこの頃。IBM SoftLayerやAWSなどクラウド案件も多くなってきました。

この記事に関してのお問い合わせ
御連絡・ご返信は原則2営業日以内を予定しております。
お急ぎの場合は、お手数ですが下記電話でもご対応をしております。

システムガーディアン株式会社
受付時間:平日9:00~18:00
受付担当:坪郷(つぼごう)・加藤
電話:03-6758-9166