LoginSignup
4
1

More than 5 years have passed since last update.

Route53で取得したドメインをCognitoユーザープールの送信元アドレスに使う

Last updated at Posted at 2018-02-01

サービスの認証にCognitoを使う際、サービスへの初回登録時の確認コード送信や、パスワード変更確認メールの送信などをする必要が出てくるかと思います。
そのようなシステムメールの送信元メールアドレスをカスタマイズする方法です。

方法としては、SESに送信元にしたいアドレスを登録し、それをCognitoから参照する形になります。

SESに登録したアドレスを送信元として使えるようにするためには、SES登録後、そのアドレスに送信される確認URLにアクセスする必要があります。

送信元に使いたいアドレスが既にメールを受信できる状態であればつまづくことはないかと思いますが、Route53でドメインを取得した時点ではメールを受信する手段がないためSESからの確認メールを確認する手段がないことになります。

今回はそんな場合の対処法です。
ちなみにドメインは取得済みの想定です。
SES、SNSはバージニアリージョンです。

設定値

  • ドメイン:ykarakita.com
  • Cognitoに設定する送信元メールアドレス :info@ykarakita.com
  • 確認メールが受信可能なメールアドレス:xxx@gmail.com

手順

  1. SNSのトピックを作成し、受信可能なメールアドレス(gmailとか)をサブスクリプションとして登録する
  2. ドメインをSESに登録する、同時にRoute53にMXレコードとTXTレコードを作成する
  3. SESの受信ルールを作成し、1.で作成したSNSトピックを指定する
  4. Cognitoで送信元にするメールアドレスをSESに登録する
  5. 1.で登録したメールアドレスに確認メールが届くので承認リンクをブラウザで開く

1. SNSのトピックを作成し、受信可能なメールアドレス(gmailとか)をサブスクリプションとして登録する

10.png
コンソールでSESを開き、TopicsからCreate new topicを開く。

11.png
Display nameはメール送信時の送信者名になる。
名前を入力してCreate Topic

12.png
作成したTopicのARNのリンクからTopic詳細画面へ。

13.png
Create subscriptionをクリック

14.png
こんな感じで入力する。Endpointはメール受信可能なメールアドレス。Create subscription する。

スクリーンショット 2018-02-02 0.44.41.png
そうすると、登録されたメールアドレスに確認メールが届くのでConfirm subscriptionのリンクへ行くと下のような画面が表示される。

スクリーンショット 2018-02-02 0.44.46.png

これでこのSNSトピックにパブリッシュしたらgmailにメールが飛ぶようになっているはず。

2. ドメインをSESに登録する、同時にRoute53にMXレコードとTXTレコードを作成する

SESコンソール左側のDomainsを選択。
9.png
Verify a New Domainから、あらかじめRoute53で取得済みのドメイン名を入力。

スクリーンショット 2018-02-01 23.52.52.png
このドメイン所有者の確認としてDNSレコードを登録するように言われる。今回はホストゾーンもRoute53に作成しているためそのままUse Route53へ。

スクリーンショット 2018-02-01 23.52.56.png
すべてチェックを付けてCreate Record Sets

1.png
登録したドメインのステータスはpending verificationになっている。
1分くらいたつとverifiedになる。

3. SESの受信ルールを作成し、1.で作成したSNSトピックを指定する

SESのコンソールからRule SetsView Active Rule SetCreate Ruleを開く。
7.png

8.png

スクリーンショット 2018-02-02 0.55.30.png
ここにはCognitoの送信元にしたいメールアドレスを入力。Add Recipientで追加。

スクリーンショット 2018-02-01 22.34.44.png
Next Stepへ。

5.png
Actionには先ほど作成したSNSトピックを選択する。

スクリーンショット 2018-02-01 23.49.20.png
スクリーンショット 2018-02-01 23.50.33.png
スクリーンショット 2018-02-01 23.50.39.png
こんな感じ。

4. Cognitoで送信元にするメールアドレスをSESに登録する

SESコンソールのEmail Addressesを開く。
2.png

3.png
Verify a New Email Addressから送信元メールアドレスにしたいアドレスを入力。

4.png

5. 1.で登録したメールアドレスに確認メールが届くので承認リンクをブラウザで開く

メールアドレスを登録すると、SNSサブスクリプションに登録したメールアドレスあてに確認メールが届くので、その中から下の方にあるhttps://email-verification.us-east-1.amazonaws.comで始まるURLを探し出してブラウザで開く。

スクリーンショット 2018-02-02 1.10.51.png
こんな画面が表示される!

20.png
ちゃんとverifiedになりました。

これでCognitoの送信元メールアドレスに指定する準備ができました。

スクリーンショット 2018-02-02 10.15.52.png

Cognitoの設定画面で選択できる!

以上です。

4
1
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
4
1