Amazon SES를 Amazon Cognito 사용자 풀과 통합하려면 어떻게 해야 합니까?

5분 분량
0

Amazon Simple Email Service(Amazon SES)를 Amazon Cognito 사용자 풀과 통합하는 데 필요한 단계를 알고 싶습니다.

간략한 설명

Amazon SES와 Amazon Cognito를 통합하여 소유한 사용자 지정 이메일 주소로 이메일 메시지를 보낼 수 있습니다. Amazon SES를 Amazon Cognito 사용자 풀과 통합하려면 다음 상위 단계를 따르십시오.

  • Amazon SES 샌드박스의 한계를 고려해 보십시오.
  • Amazon SES 샌드박스 외부로 계정을 이동합니다.
  • Amazon SES ID를 확인합니다.
  • Amazon SES에서 검증된 자격 증명을 사용하여 Amazon Cognito 사용자 풀을 구성합니다.

해결 방법

다음 단계를 구현하여 Amazon SES를 Amazon Cognito 사용자 풀과 통합하여 사용자를 대신하여 이메일 메시지를 보내십시오.

Amazon SES 샌드박스의 한계

모든 새 Amazon SES 계정은 사기와 남용을 방지하기 위해 Amazon SES 샌드박스에 배치됩니다. Amazon SES 샌드박스를 사용할 때는 고려해야 할 제한 사항이 있습니다. 특정 샌드박스 제한 사항을 검토하려면 Amazon SES 샌드박스를 외부로 옮기기를 참조하십시오. Amazon SES 서비스를 완전히 사용하려면 Amazon SES 계정을 샌드박스 외부로 옮겨야 합니다.

Amazon SES 샌드박스 외부로 계정 옮기기

Amazon SES 샌드박스 외부로 계정을 옮기려면 다음 단계를 따릅니다.

1.    Amazon SES 이메일 구성에서 AWS 리전 매핑 테이블을 검토합니다. 매핑 테이블에는 Amazon SES ID를 Amazon Cognito 사용자 풀과 통합할 수 있는 리전이 나와 있습니다. 샌드박스 외부로 Amazon SES 계정을 옮기기 전에 호환되는 리전을 사용하는지 확인합니다.

2.    Amazon SES 계정에 프로덕션 액세스를 요청합니다. 프로덕션 액세스 요청이 승인되면 모든 수신자에게 이메일 메시지를 보낼 수 있습니다.

중요: 동일 리전에서 Amazon Cognito를 Amazon SES와 통합하려면 새로운 Amazon Cognito 콘솔 환경으로 전환해야 합니다.

Amazon SES ID 확인

Amazon SES 도메인 ID를 확인하려면 다음 단계를 따릅니다.

1.    도메인 아이덴티티를 생성합니다.

2.    Amazon SES에서 하나 이상의 도메인을 확인합니다.

Amazon SES 이메일 ID를 확인하려면 다음 단계를 따릅니다.

1.    이메일 ID를 생성합니다.

2.    Amazon SES에서 하나 이상의 이메일 주소를 확인합니다.

참고: Amazon Cognito와 Amazon SES에 대한 교차 계정 통합은 지원되지 않습니다. 한 계정에서 Amazon Cognito 사용자 풀을 구성하고 이를 다른 계정의 Amazon SES 이메일 주소와 통합할 수 없습니다.

Amazon SES에서 검증된 자격 증명을 사용하여 Amazon Cognito 사용자 풀을 구성

Amazon Cognito 사용자 풀을 검증된 Amazon SES 자격 증명 구성과 통합하려면 사용 사례 관련 단계를 따릅니다.

Amazon SES 도메인 ID가 확인되는 경우

1.    새 Amazon Cognito 콘솔에 로그인을 한 다음 사용자 풀을 선택합니다.

2.    목록에서 적절한 사용자 풀을 선택합니다.

3.    메시지 탭, 이메일 구성을 선택한 다음 편집을 선택합니다.

4.    FROM 이메일 주소에서 Amazon SES 인증 도메인 ID를 선택합니다. (예를 들어 example.com입니다.)

5.    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-identity-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은 귀하의 이메일 ID로 대체해야 합니다.
  • example_region은 Amazon Cognito 사용자 풀이 존재하는 리전을 나타냅니다. 예: ap-southeast-1.

Amazon SES 이메일 ID가 확인되면

1.    새 Amazon Cognito 콘솔에 로그인을 한 다음 사용자 풀을 선택합니다.

2.    목록에서 적절한 사용자 풀을 선택합니다.

3.    메시지 탭, 이메일 구성을, 그리고 편집을 선택합니다.

4.    FROM 이메일 주소에서 Amazon SES 이메일 도메인 ID를 선택합니다. (예: admin@example.com.)

문제 해결

이 섹션은 Amazon Cognito와 Amazon SES를 통합한 후 사용자가 이메일 메시지를 발송할 때 발생하는 오류 문제 해결에 대한 정보를 포함합니다.

확인되지 않은 이메일 주소 오류

“이메일 주소가 확인되지 않았습니다. AP-SOUTHEAST-1 지역에서 체크인에 실패한 ID는 다음과 같습니다: user@example.com.“

Amazon Cognito는 이메일 메시지를 발송하려 시도할 때 확인되지 않은 이메일 주소 오류를 수신합니다. Amazon SES 샌드박스의 계정에서 확인되지 않은 이메일 주소로 이메일 메시지를 발송하려고 하면 이 오류가 발생할 수 있습니다. 오류를 해결하려면 Amazon SES 계정을 샌드박스 밖으로 옮기거나 Amazon SES에서 수신자의 이메일 주소를 확인합니다.

사용자가 Amazon Cognito로부터 이메일 메시지를 받지 못함

사용자는 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 Cognito 사용자 풀은 Amazon SES를 사용하여 이메일 메시지를 발송합니다. Amazon SES 계정이 샌드박스에 있는지 확인합니다. 그럴 경우 Amazon SES를 샌드박스 밖으로 옮겨 확인되지 않은 ID로 이메일 메시지를 보내십시오. Amazon SES 계정이 프로덕션 상태이거나 샌드박스 모드를 벗어난 경우 Amazon SES 로그에서 이메일 전송을 확인합니다.

출력에서 COGNITO_DEFAULT 메시지를 수신하면 Amazon Cognito 사용자 풀이 기본 기능을 사용하여 이메일 메시지를 발송하는 것입니다. 이 기본 기능을 사용하면 Amazon Cognito에서 각 사용자 풀이 발송하는 이메일 메시지 수에 대해 할당량 제한이 적용됩니다.

제한 초과/예외 예외가 발생

“작업 또는 계정에 대한 일일 이메일 한도를 초과했습니다. 허용된 작업 수를 초과했습니다. 제한을 높여야 한다면 이메일 메시지 전송에 자체 Amazon SES 구성을 사용하도록 사용자 풀을 구성하십시오."

Amazon Cognito가 기본 이메일 기능으로 일일 할당량 제한이 있는 기능을 사용하여 이메일 메시지를 발송할 때 사용자에게 일일 이메일 제한 오류가 발생합니다. 오류 메시지에서 제안한 대로 Amazon SES 이메일 구성을 변경하여 이메일 메시지 전송량을 높게 설정합니다.


AWS 공식
AWS 공식업데이트됨 일 년 전