Amazon SES を Amazon Cognito ユーザープールと統合する方法を教えてください。
Amazon Simple Email Service (Amazon SES) を Amazon Cognito ユーザープールと統合するために必要な手順を知る必要があります。
簡単な説明
Amazon SES と Amazon Cognito を統合して、お客様が所有するカスタム E メールアドレスで E メールメッセージを送信できます。Amazon SES を Amazon Cognito ユーザープールと統合するには、以下の大まかな手順に従ってください。
- Amazon SES サンドボックスの制限を考慮してください。
- Amazon SES サンドボックスからアカウントを移動します。
- Amazon SES の ID を検証します。
- Amazon SES で検証された ID を使用して Amazon Cognito ユーザープールを設定します。
解決方法
以下の手順を実行して、Amazon SES を Amazon Cognito ユーザープールと統合して、お客様に代わって E メールメッセージを送信します。
Amazon SES サンドボックスの制限事項
詐欺や悪用を防ぐために、新しい Amazon SES アカウントはすべて Amazon SES サンドボックスに配置されます。Amazon SES サンドボックスを使用する際には、考慮すべき制限があります。特定のサンドボックス制限を確認するには、「Amazon SES サンドボックスからの移行」を参照してください。Amazon SES サービスを完全に使用するには、Amazon SES アカウントをサンドボックスから移動する必要があります。
Amazon SES サンドボックスからアカウントを移動します
Amazon SES サンドボックスからアカウントを移動するには、次の手順に従います。
1. Amazon SES E メール設定の AWS リージョンのマッピングテーブルを確認してください。マッピングテーブルには、Amazon SES ID を Amazon Cognito ユーザープールと統合できるリージョンが表示されます。Amazon SES アカウントをサンドボックスから移動する前に、互換性のあるリージョンを使用していることを確認する必要があります。
2. Amazon SES アカウントのプロダクションアクセスをリクエストします。プロダクションアクセスリクエストが承認されたら、どの受信者にも E メールメッセージを送信できます。
重要: Amazon Cognito を同じリージョンの Amazon SES と統合するには、新しい Amazon Cognito コンソールエクスペリエンスに切り替える必要があります。
Amazon SES ID の検証
Amazon SES ドメインの ID を確認するには、次の手順に従います。
1. ドメイン ID を作成します。
2. Amazon SES で 1 つ以上のドメインを検証します。
Amazon SES の E メール ID を確認するには、次の手順に従います。
1. E メール ID を作成します。
2. Amazon SES で 1 つ以上の E メールアドレスを確認します。
注: Amazon Cognito と Amazon SES のクロスアカウント統合はサポートされていません。あるアカウントで Amazon Cognito ユーザープールを設定し、それを別のアカウントの Amazon SES E メールアドレスと統合することはできません。
Amazon SES で検証された ID を使用して Amazon Cognito ユーザープールを設定します
Amazon Cognito ユーザープールを検証済みの Amazon SES ID 設定と統合するには、ユースケースに関連する手順に従ってください。
Amazon SES ドメインの ID が検証されたとき
1. 新しい Amazon Cognito コンソールにサインインし、[ユーザープール] を選択します。
2. リストから適切なユーザープールを選択します。
3. [メッセージング] タブ、[E メール設定]、[編集] の順に選択します。
4. [送信元 E メールアドレス] で、Amazon SES 検証済みドメイン ID を選択します。(たとえば、example.com です。)
5. [差出人名] に、E メールアドレスを入力します。(たとえば、admin@example.com と入力してください。)
ドメインはすでに検証済みなので、ドメイン ID にカスタム E メールアドレスを追加できます。UpdateUserPool API は、Amazon SES ID を使用して Amazon Cognito ユーザープールを設定します。
update-user-pool コマンドの例:
$ aws cognito-idp update-user-pool --user-pool-id example_pool_id --email-configuration SourceArn=arn:aws:ses:example_region:example_account_number:identity/example_domain,EmailSendingAccount=DEVELOPER,From=user@example.com --region example_region
重要: UpdateUserPool API はユーザープールの既存の設定をリセットするので、最初に DescribeUserPool API を呼び出してください。次に、既存のすべてのユーザープールパラメータを UpdateUserPool API に送信します。
update-user-pool コマンドの説明:
- example_pool_id は Amazon Cognito ユーザープール ID に対応しています。例: ap-southeast-1_xxxxxxxx。
- arn:aws:ses:example_region:example_account_number:identity/example_domain は Amazon SES ドメイン ID の ARN です。
- user@example.com はあなたの E メール ID に置き換える必要があります。
- example_region は、Amazon Cognito ユーザープールが存在するリージョンを表します。例: ap-southeast-1。
Amazon SES の E メール ID が確認されたとき
1. 新しい Amazon Cognito コンソールにサインインし、[ユーザープール] を選択します。
2. リストから適切なユーザープールを選択します。
3. [メッセージング] タブの [E メール設定] を選択し、[編集] を選択します。
4. [送信元 E メールアドレス] で、Amazon SES の E メールドメイン ID を選択します。(たとえば、admin@example.com と入力してください。)
エラートラブルシューティング
このセクションには、Amazon Cognito と Amazon SES を統合した後に E メールメッセージを送信する際にユーザーが遭遇するエラーのトラブルシューティングに関する情報が含まれています。
未確認の E メールアドレスのエラー
「E メールアドレスは確認されていません。リージョン AP-SOUTHEAST-1: user@example.com でのチェックインに、次の ID が失敗しました」。
Amazon Cognito は、E メールメッセージを送信しようとすると、未確認の E メールアドレスエラーを受け取ります。このエラーは、Amazon SES サンドボックス内のアカウントから未確認の E メールアドレスに E メールメッセージを送信しようとしたときに発生する可能性があります。エラーを解決するには、Amazon SES アカウントをサンドボックスから移動するか、Amazon SES で受信者の E メールアドレスを確認します。
ユーザーは Amazon Cognito からの E メールメッセージを受信していません
ユーザーは Amazon Cognito ユーザープールから E メールメッセージを受信していません。この問題を解決するには、E メールメッセージの送信にAmazon Cognito のデフォルトの E メール機能を使用しているか、Amazon SES の E メール設定を使用しているかを確認してください。AWS マネジメントコンソールから、または DescribeUserPool API を呼び出して、更新を確認してください。
aws cognito-idp describe-user-pool --user-pool-id example_pool_id --region example_region --query 'UserPool.EmailConfiguration'
出力:
{ "SourceArn": "arn:aws:ses:us-east-1:123456789012:identity/admin@example.com", "EmailSendingAccount": "DEVELOPER", "From": "admin@example.com" }
-または-
{ "SourceArn": "arn:aws:ses:us-east-1:123456789012:identity/admin@example.com", "EmailSendingAccount": "COGNITO_DEFAULT" }
EmailSendingAccount の設定が DEVELOPER に設定されている場合、Amazon Cognito ユーザープールは Amazon SES を使用して E メールメッセージを送信しています。Amazon SES アカウントがサンドボックスにあることを確認します。アカウントがある場合は、Amazon SES をサンドボックスから移動して、未確認の ID に E メールメッセージを送信します。Amazon SES アカウントが本番環境またはサンドボックスモードでない場合は、Amazon SES ログで E メール配信を確認します。
出力に COGNITO_DEFAULT メッセージを受け取った場合、Amazon Cognito ユーザープールはデフォルトの機能を使用して E メールメッセージを送信しています。このデフォルト機能では、Amazon Cognito は各ユーザープールから送信される E メールメッセージのクォータ制限があります。
LimitExceededException の例外が発生しました
「オペレーションまたはアカウントの 1 日の E メール制限を超えました。許可された操作の数を超えました。より高い制限が必要な場合は、E メールメッセージの送信に独自の Amazon SES 設定を使用するようにユーザープールを設定してください」。
Amazon Cognito が E メールメッセージの送信に 1 日あたりのクォータ制限が設定されたデフォルトの E メール機能を使用すると、ユーザーに 1 日の E メール制限エラーが表示されます。エラーメッセージに示されているように、Amazon SES の E メール設定を変更して、E メールメッセージの配信量を増やしてください。
関連するコンテンツ
- 質問済み 9ヶ月前lg...
- 質問済み 8ヶ月前lg...
- AWS公式更新しました 2年前
- AWS公式更新しました 2年前
- AWS公式更新しました 2年前