Amazon Pinpoint SMS 및 Voice v2 API에 대한 Amazon Pinpoint 음성 메시지에 대한 로깅을 설정하려면 어떻게 해야 하나요?
Amazon Pinpoint를 통해 전송하는 음성 메시지의 상태를 모니터링하고 싶습니다. 어떻게 설정해야 하나요?
해결 방법
Amazon Pinpoint 음성 메시지의 상태를 로그하려면 구성 세트와 이벤트 대상을 구성해야 합니다. 이벤트 대상을 설정한 후에는 구성 세트에 매핑해야 합니다. 이렇게 하면 Amazon Pinpoint를 통해 보내는 음성 메시지에 대한 응답 정보를 받을 수 있습니다.
다음 AWS 리소스 중 하나를 Amazon Pinpoint 음성 이벤트 대상으로 구성할 수 있습니다.
- Amazon Simple Notification Service(Amazon SNS) 주제
- Amazon CloudWatch Logs
- Amazon Kinesis Data Firehose 스트림
이벤트 대상을 구성하려면 Amazon Pinpoint SMS 및 음성 메시징 v2 API 또는 AWS SDK 중 하나를 사용하세요.
참고: 다음 해결 방법은 Amazon Pinpoint SMS 및 Voice v2 API에만 적용됩니다. Amazon Pinpoint SMS 및 Voice v1 API의 경우 Amazon Pinpoint SMS 및 Voice v1 API의 Amazon Pinpoint 음성 메시지에 대한 로깅을 설정하려면 어떻게 해야 합니까?를 참조하세요.
Amazon SNS 주제를 Amazon Pinpoint 음성 이벤트 대상으로 구성하려면 다음을 수행합니다.
1. 다음 create-configuration-set(pinpoint-sms-voice v2) AWS CLI 명령을 실행하여 구성 세트를 생성합니다.
참고: VoiceSNS를 구성 세트의 이름으로 바꿀 수 있습니다.
aws pinpoint-sms-voice-v2 create-configuration-set —configuration-set-name VoiceSNS
2. Amazon SNS 주제에 대한 음성 메시지 로그를 수신하려는 엔드포인트를 구독합니다. SNS 주제는 새 주제이거나 기존 주제일 수 있습니다. 지침은 엔드포인트를 Amazon SNS 주제에 구독하기 단원을 참조하세요.
참고: AWS CLI를 사용하여 새 Amazon SNS 주제를 생성하려면 다음 create-topic 명령을 실행합니다.
aws sns create-topic --name pinpointsmsvoice
3. SNS 주제 액세스 정책에서 다음 권한이 있어야 합니다. 이를 통해 Amazon Pinpoint SMS 음성 서비스는 다음과 같은 로그를 전송할 수 있습니다.
중요: 을(를) AWS 리전으로 바꿉니다. 을(를) AWS 계정 ID로 바꿉니다. pinpointsmsvoice를 SNS 주제의 이름으로 바꿉니다.
{ "Sid": "pinpointsmsvoice", "Effect": "Allow", "Principal": { "Service": "sms-voice.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:<region>:<AccountID>:pinpointsmsvoice" }
4. 텍스트 편집기에서 MatchingEventTypes에 대해 matching.json이라는 입력 요청 파일을 만듭니다. 수신할 이벤트를 지정하거나 'ALL'을 지정하여 아래와 같이 모든 이벤트를 수신합니다.
[ "ALL" ]
5. 다음create-event-destination 명령을 실행하여 이벤트 대상을configuration-set-name에 매핑합니다.
중요: 을(를) AWS 리전으로 바꿉니다. 을(를) AWS 계정 ID로 바꿉니다. pinpointsmsvoice를 Amazon SNS 주제의 이름으로 바꿉니다.
aws pinpoint-sms-voice-v2 create-event-destination —configuration-set-name VoiceSNS —event-destination-name VoiceSNS —matching-event-types file://matching.json —sns-destination TopicArn=arn:aws:sns:<region>:<AccountId>:pinpointsmsvoice
6. SendVoiceMessage v2 API 작업을 사용하여 Amazon Pinpoint 음성 메시지를 전송하는 방법으로 설정을 테스트합니다. 몇 분 후 SNS 주제를 구독하는 엔드포인트에 이벤트가 표시됩니다.
CloudWatch 로그를 Amazon Pinpoint 음성 이벤트 대상으로 구성
1. 다음 create-configuration-set (pinpoint-sms-voice v2) AWS CLI 명령을 실행하여 구성 세트를 생성합니다.
참고: VoiceCW를 구성 세트의 이름으로 바꿀 수 있습니다.
aws pinpoint-sms-voice-v2 create-configuration-set —configuration-set-name VoiceCW
2. 다음 create-log-group 명령을 실행하여, 음성 메시지 로그를 수신할 새 CloudWatch 로그 그룹을 생성합니다.
aws logs create-log-group —log-group-name /aws/pinpoint/voice
-또는-
기존 CloudWatch 로그 그룹을 사용하여 다음 단계를 완료합니다.
3. 다음을 수행하여 CloudWatch 로그 그룹의 ARN을 가져옵니다.
CloudWatch 콘솔을 엽니다.
왼쪽 탐색 창에서 **Logs(로그)**를 선택합니다. 그런 다음 **Log groups(로그 그룹)**를 선택합니다.
로그 그룹(Log group) 열에서 로그 그룹의 이름을 선택합니다.
로그 그룹 세부 정보(Log group details) 창에서 ARN 값을 복사합니다. 이 값은 로그 그룹의 ARN입니다.
4. Amazon Pinpoint 서비스가 수임할 새 AWS Identity and Access Management(IAM) 역할을 생성합니다. 지침은 AWS 서비스 (콘솔)에 대한 역할 생성 또는 서비스 (AWS CLI)에 대한 역할 생성을 참조하세요. 역할을 구성할 때 정책의 주요 섹션에 다음 권한 문을 포함하도록 역할의 신뢰 정책을 수정합니다.
참고: 이 권한 문을 사용하면 sms-voice 서비스가 IAM 역할을 수임할 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sms-voice.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
5. 다음 권한 문을 포함하도록 IAM 역할의 권한 정책을 수정합니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:CreateLogGroup", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:*" } ] }
참고: 이 권한 문은 특정 CloudWatch Logs API 작업을 호출할 수 있는 권한을 부여합니다. 자세한 내용은 CloudWatch Logs 권한 참조를 참조하세요.
6. 텍스트 편집기에서 CloudWatchDestination.json이라는 입력 요청 파일을 생성합니다. 그리고 다음 대상 파라미터를 복사하여 파일에 붙여 넣습니다.
중요:
을(를) AWS 리전으로 바꿉니다. 을(를) AWS 계정 ID로 바꿉니다. 을(를) IAM 역할의 이름으로 바꿉니다.
{ "IamRoleArn": "arn:aws:iam::<AccountID>:role/<IAM role name>", "LogGroupArn": "arn:aws:logs:<region>:<AccountID>:log-group:pinpointsmsvoice:" }
7. 텍스트 편집기에서 MatchingEventTypes에 대해 matching.json이라는 입력 요청 파일을 생성합니다. 수신할 이벤트를 지정하거나 'ALL'을 지정하여 아래와 같이 모든 이벤트를 수신합니다.
[ "ALL" ]
중요: VoiceCW를 구성 세트의 이름으로 바꿔야 합니다.
8. 다음 create-event-destination 명령을 실행하여 이벤트 대상을 configuration-set-name에 매핑합니다.
aws pinpoint-sms-voice-v2 create-event-destination —configuration-set-name VoiceCW —event-destination-name CloudWatch_Destination —matching-event-types file://matching.json --cloud-watch-logs-destination file://CloudWatchDestination.json
9. SendVoiceMessage v2 API 작업을 사용하여 Amazon Pinpoint 음성 메시지를 전송하는 방법으로 설정을 테스트합니다. 몇 분 후 Amazon SNS 주제를 구독하는 엔드포인트에 이벤트가 표시됩니다.
Kinesis Data Firehose 스트림을 Amazon Pinpoint 음성 이벤트 대상으로 구성하려면 다음을 수행합니다.
1. 다음 create-configuration-set (pinpoint-sms-voice v2) AWS CLI 명령을 실행하여 구성 세트를 생성합니다.
참고: VoiceKinesis를 구성 세트의 이름으로 바꿀 수 있습니다.
aws pinpoint-sms-voice-v2 create-configuration-set —configuration-set-name VoiceKinesis
2. Kinesis Data Firehose 전송 스트림을 생성합니다. 대상 설정에서 **Amazon Simple Storage Service(S3)**를 선택합니다.
중요: 기본 IAM 서비스 역할을 사용합니다. 그런 다음 IAM 서비스 역할의 이름을 클립보드에 복사합니다. 다음 단계를 수행하려면 역할 이름이 필요합니다.
3. 정책의 주요 섹션에 다음 권한 문을 포함하도록 기본 IAM 역할의 권한 정책을 수정합니다.
참고: 이 권한 문을 사용하면 sms-voice 서비스가 IAM 역할을 수임할 수 있습니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "firehose.amazonaws.com", "sms-voice.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

관련 콘텐츠
- 질문됨 6달 전lg...
- 질문됨 4달 전lg...
- 질문됨 한 달 전lg...
- 질문됨 4달 전lg...
- AWS 공식업데이트됨 일 년 전
- AWS 공식업데이트됨 2년 전