11
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

amplify overrideを使ってCognitoのメッセージメールをSESから送信するようカスタマイズしてみた

Last updated at Posted at 2022-01-29

#はじめに
こんにちは!
先日、実務で初めて amplify override をつかってAmplifyのバックエンドリソースをカスタマイズしました。簡単すぎてとても驚きました。。
今回は、その際実装した内容について記事にさせていただきます。

amplify overrideが登場するまで

Amplifyを用いて開発する以上、バックエンドリソースのカスタマイズをする際これまでですと Amplify CLI によるCloudFormationの更新が基本でした。ただ、一部Amplify CLIからの操作では変更できない内容については、CloudFormationのを直に編集する必要がありました。
ただ、せっかくAmplifyを使って開発しているのでなるべく直にCloudFormationは触りたくない。。そんな中、Amplify CLI v7.3.0から新たに amplify override という機能が追加されました。

#amplify overrideとは
amplify override はバックエンドリソースの一部をCDKでカスタマイズできる機能で、CloudFormationと異なり、プログラム言語を用いてリソースの定義が行えるサービスです。これによって、これまでよりも簡単にバックエンドリソースのカスタマイズが行えるようになりました!

#実際に使ってみた

Cognitoユーザープールから配信するメールオプションをデフォルトのEメールからSESに置き換えようと思います。というのも、デフォルトのEメールオプションですと、1つのAWSアカウントにつき1日50件までしか送信できないといった制限がついてしまうからです。
今回はこれをamplify overrideでカスタマイズしていこうと思います。

##1.amplify overrideコマンドを入力

下記のようにコマンドを入力すると、amplify/backend/auth/<resource-name>/override.tsファイルが作られます。

amplify override auth

##2.overrideファイルを編集

ファイル内を下記のように記述します。また、今回はあくまでoverrideの機能紹介なので、SESの設定についての説明は省略させていただきますが、事前にAWSコンソールなどから作成したメールアドレスのARNを指定します。

override.ts
import { AmplifyAuthCognitoStackTemplate } from '@aws-amplify/cli-extensibility-helper';

export function override(resources: AmplifyAuthCognitoStackTemplate) {

  // Set the user pool emailConfiguration
  resources.userPool.emailConfiguration = {
    emailSendingAccount: "DEVELOPER",
    sourceArn: "arn:aws:ses:省略",
  }
}

##3.amplify pushを実行して変更をデプロイ

下記コマンドにてバックエンドリソースをデプロイします。

amplify push

最後にCognitoユーザープールのコンソール上で確認してみましょう。

スクリーンショット 2022-01-29 16.00.45.png

反映されていますね。
画像外のFROM E メールアドレス ARNの項目でも、先ほどoverride.tsで設定したメールアドレスARNが設定されていました。

#おわりに
今回は amplify overrideについてご紹介させていただきました!
CloudFormationに苦手意識のあった自分にとってはとても便利な機能でした。
今後も進化していく Amplify に期待です!

11
3
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
11
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?