Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Amazon SES를 Amazon Cognito 사용자 풀과 통합하려면 어떻게 해야 합니까?
Amazon Simple Email Service(Amazon SES)를 Amazon Cognito 사용자 풀과 통합하고 싶습니다.
해결 방법
참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
사전 요구 사항:
Amazon Cognito와 Amazon SES에 대한 크로스 계정 통합은 지원되지 않습니다. 한 계정에서 Amazon Cognito 사용자 풀을 구성한 다음 다른 계정의 Amazon SES 이메일 주소와 통합할 수는 없습니다.
Amazon SES 샌드박스 제한 사항 확인
모든 새 Amazon SES 계정은 사기 및 부정 사용을 방지하기 위해 Amazon SES 샌드박스에 배치됩니다. Amazon SES 샌드박스를 사용할 때는 제한 사항을 확인하십시오.
계정을 Amazon SES 샌드박스 외부로 이동
Amazon SES 샌드박스에서 계정을 제거하지 않은 경우 다음 단계를 완료하십시오.
- Amazon SES 이메일 구성의 AWS 리전 매핑 표를 검토하십시오.
매핑 표는 Amazon SES ID를 Amazon Cognito 사용자 풀과 통합할 수 있는 리전을 보여줍니다. Amazon SES 계정을 샌드박스 밖으로 이동하기 전에 호환되는 리전을 사용해야 합니다. - Amazon SES 계정에 대한 프로덕션 액세스를 요청하십시오. AWS Support 팀에서 24시간 이내에 요청에 대한 초기 응답을 제공합니다.
프로덕션 액세스 요청이 승인되면 모든 수신자에게 이메일 메시지를 보낼 수 있습니다.
참고: Amazon Cognito를 동일한 리전의 Amazon SES와 통합하려면 새로운 Amazon Cognito 콘솔 환경으로 전환해야 합니다.
Amazon SES 도메인 ID 확인
Amazon SES에서 하나 이상의 도메인 ID를 확인합니다. 확인 전에 도메인 ID를 생성해야 하는 경우 도메인 ID 생성을 참조하십시오.
Amazon SES 이메일 ID 확인
Amazon SES에서 하나 이상의 이메일 주소를 확인합니다. 확인 전에 이메일 주소 ID를 생성해야 하는 경우 이메일 주소 ID 생성을 참조하십시오.
사용자 풀을 확인된 ID와 통합
Amazon SES 도메인 ID가 확인된 경우 다음 단계를 완료하십시오.
- Amazon Cognito 콘솔에 로그인한 후 사용자 풀을 선택합니다.
- 사용자 풀을 선택합니다.
- 인증 방법 메뉴에서 이메일 구성을 선택합니다. 그런 다음, 편집을 선택합니다.
- FROM 이메일 주소에서 Amazon SES에서 확인한 도메인 ID를 선택합니다. 예를 들어 example.com을 선택합니다.
- FROM 발신자 이름 아래에 이메일 주소를 입력합니다. 예를 들어 admin@example.com을 입력합니다.
도메인 ID에 사용자 지정 이메일 주소를 추가할 수 있습니다. 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의 Amazon 리소스 이름(ARN)입니다.
- user@example.com은 이메일 ID로 바꿔야 합니다.
- example_region은 Amazon Cognito 사용자 풀이 있는 리전을 나타냅니다. 예: ap-southeast-1.
Amazon SES 이메일 ID가 확인된 경우 다음 단계를 완료하십시오.
- Amazon Cognito 콘솔에 로그인한 후 사용자 풀을 선택합니다.
- 사용자 풀을 선택합니다.
- 인증 방법 메뉴에서 이메일 구성을 선택합니다. 그런 다음, 편집을 선택합니다.
- FROM 이메일 주소에서 Amazon SES 이메일 도메인 ID를 선택합니다. 예를 들어 admin@example.com을 입력합니다.
오류 문제 해결
확인되지 않은 이메일 주소 오류 해결
다음과 같은 오류가 나타날 수 있습니다. "Email address is not verified. The following identities failed the check in region AP-SOUTHEAST-1: user@example.com."
이 오류가 발생한다면 Amazon SES 샌드박스 계정에서 확인되지 않은 이메일 주소로 이메일을 보내려고 시도한 것입니다.
이 오류를 해결하려면 Amazon SES 계정을 샌드박스 밖으로 이동하거나 Amazon SES에서 수신자의 이메일 주소를 확인하십시오.
이메일 메시지 누락
사용자가 Amazon Cognito 사용자 풀에서 이메일을 받지 못하는 경우 다음 단계를 완료하십시오.
-
이메일 메시지를 전송하는 데 Amazon Cognito 기본 이메일 구성 또는 Amazon SES 이메일 구성이 사용되는지 확인합니다.
-
AWS Management Console을 통해 업데이트를 확인합니다. 또는 DescribeUserPool API를 실행합니다.
describe-user-pool 명령의 예: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 SES를 사용하고 있는 것입니다. Amazon SES 계정이 샌드박스에 있는지 확인하십시오. 그렇다면 샌드박스 밖으로 이동하여 확인되지 않은 ID로 이메일을 보냅니다. 이미 샌드박스 밖에 있다면 Amazon SES 로그에서 이메일 전송 문제를 확인하십시오.
EmailSendingAccount가 COGNITO_DEFAULT인 경우 사용자 풀이 Amazon Cognito의 기본 이메일 기능을 사용하고 있는 것입니다. 이 기능에는 사용자 풀당 이메일 전송 할당량이 있습니다.
일일 이메일 할당량 오류 해결
다음과 같은 오류가 나타날 수 있습니다. "Exceeded daily email limit for the operation or account. Number of allowed operation has exceeded. If a higher limit is required, please configure your user pool to use your own Amazon SES configuration for sending email messages."
이 오류가 발생한다면 Amazon Cognito의 기본 이메일 구성 할당량을 초과한 것입니다.
이 문제를 해결하려면 이메일 전송에 자체 Amazon SES 구성을 사용하도록 사용자 풀을 구성하십시오. 이렇게 하면 Amazon SES 전송 할당량이 늘어납니다.
관련 정보
Amazon Cognito에서 ForgotPassword API를 사용하여 확인 코드 이메일 또는 SMS 문자 메시지를 전송하지 않는 이유는 무엇입니까?
- 언어
- 한국어
