Amazon Pinpoint SMS 및 Voice v2 API용 Amazon Pinpoint 음성 메시지에 대해 로깅을 설정하려면 어떻게 하나요?

6분 분량
0

Amazon Pinpoint를 통해 보내는 음성 메시지의 상태를 모니터링하고 싶습니다.

해결 방법

Amazon Pinpoint 음성 메시지의 상태를 로깅하려면 구성 세트이벤트 대상을 구성해야 합니다. 이벤트 대상을 설정한 후 구성 세트에 매핑합니다. 이렇게 하면 Amazon Pinpoint를 통해 보내는 음성 메시지에 대한 응답 정보를 받을 수 있습니다.

다음 AWS 리소스 중 하나를 Amazon Pinpoint 음성 이벤트 대상으로 구성할 수 있습니다.

이벤트 대상을 구성하려면 Amazon Pinpoint SMS 및 Voice messaging 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 명령을 실행합니다.

aws pinpoint-sms-voice-v2 create-configuration-set --configuration-set-name VoiceSNS

참고: VoiceSNS는 원하는 구성 세트의 이름으로 바꿀 수 있습니다.

2.    Amazon SNS 토픽에 음성 메시지를 기록하려는 엔드포인트를 구독합니다. SNS 토픽은 새 토픽이거나 기존 토픽일 수 있습니다. 지침은 Amazon SNS 토픽에 엔드포인트를 구독하려면을 참조하세요.

참고: AWS CLI를 사용하여 새로운 Amazon SNS 토픽을 생성하려면 다음 create-topic 명령을 실행합니다.

aws sns create-topic --name pinpointsmsvoice

3.    SNS 토픽 액세스 정책에는 다음 권한이 있어야 합니다. 이를 통해 Amazon Pinpoint SMS 음성 서비스가 로그를 전달할 수 있습니다.

`{   "Sid": "pinpointsmsvoice",   "Effect": "Allow",   "Principal": {     "Service": "sms-voice.amazonaws.com"   },   "Action": "SNS:Publish",   "Resource": "arn:aws:sns:us-east-1:ACCOUNT_ID:`pinpointsmsvoice`" }`

참고: us-east-1은 원하는 AWS 리전으로 바꾸세요. ACCOUNT_ID는 원하는 AWS 계정 ID로 바꾸세요. pinpointsmsvoice는 원하는 SNS 토픽으로 바꾸세요.

4.    텍스트 편집기에서 MatchingEventTypes에 대해 matching.json이라는 입력 요청 파일을 생성합니다. 수신하려는 이벤트를 지정하거나 모든 이벤트를 수신하려면 "모두"를 지정합니다.

[
"ALL"
]

5.    이벤트 대상을 configuration-set-name으로 매핑하려면 다음 create-event-destination 명령을 실행합니다.

`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:`us-east-1:ACCOUNT\_ID:pinpointsmsvoice

참고: us-east-1은 원하는 리전으로 바꾸세요. ACCOUNT_ID는 원하는 AWS 계정 ID로 바꾸세요. pinpointsmsvoice는 원하는 SNS 토픽으로 바꾸세요.

6.    설정을 테스트하려면 SendVoiceMessage v2 API 작업을 사용하여 Amazon Pinpoint 음성 메시지를 전송합니다. 몇 분 후 SNS 토픽을 구독하는 엔드포인트에 이벤트가 나타납니다.

CloudWatch Logs를 Amazon Pinpoint 음성 이벤트 대상으로 구성

1.    구성 세트를 생성하려면 다음 create-configuration-set(pinpoint-sms-voice v2) AWS CLI 명령을 실행합니다.

aws pinpoint-sms-voice-v2 create-configuration-set --configuration-set-name VoiceCW

참고: VoiceCW는 원하는 구성 세트 이름으로 바꿀 수 있습니다.

2.    음성 메시지 로그를 수신하는 새로운 CloudWatch 로그 그룹을 생성합니다. 다음 create-log-group을 실행합니다.

aws logs create-log-group --log-group-name /aws/pinpoint/voice

-또는-

기존 CloudWatch 로그 그룹을 사용하여 다음 단계를 완료합니다.

3.    CloudWatch 로그 그룹의 Amazon 리소스 이름(ARN)을 가져옵니다. CloudWatch 콘솔을 엽니다. 왼쪽 탐색 창에서 로그를 선택합니다. 그런 다음 로그 그룹을 선택합니다. 로그 그룹 열에서 로그 그룹 이름을 선택합니다. 로그 그룹 세부 정보 창에서 ARN 값을 복사합니다. 이는 로그 그룹의 ARN입니다.

4.    Amazon Pinpoint 서비스가 맡을 새 AWS Identity and Access Management(AWS IAM) 역할을 생성합니다. 지침은 AWS 서비스를 위한 역할 생성(콘솔) 또는 AWS 서비스를 위한 역할 생성(AWS CLI)을 참조하세요. 역할을 구성할 때 정책의 principal 섹션에 다음 권한 문이 포함되도록 역할의 신뢰 정책을 수정하세요.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sms-voice.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

참고: 이 권한 문을 통해 sms-voice 서비스가 IAM 역할을 맡을 수 있습니다.

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 로그 권한 참조를 참조하세요.

6.    텍스트 편집기에서 CloudWatchDestination.json이라는 입력 요청 파일을 생성합니다. 그런 다음 파일에 다음 대상 파라미터를 입력합니다.

`{   "IamRoleArn": "arn:aws:iam::ACCOUNT_ID:role/IAM_ROLE",   "LogGroupArn": "arn:aws:logs:us-east-1:ACCOUNT_ID:LOG_GROUP:`pinpointsmsvoice`:" }`

참고: IamRoleArn의 값은 IAM 역할 ARN으로 바꾸세요. LogGroupArn의 값은 로그 그룹 ARN 및 SNS 토픽 이름으로 바꾸세요.

7.    텍스트 편집기에서 MatchingEventTypes에 대해 matching.json이라는 입력 요청 파일을 생성합니다. 수신하려는 이벤트를 지정하거나 모든 이벤트를 수신하려면 "모두"를 지정합니다.

[
"ALL"
]

중요: VoiceCW는 원하는 구성 세트 이름으로 바꿔야 합니다.

8.    이벤트 대상을 configuration-set-name에 매핑합니다. 이렇게 하려면 다음 create-event-destination 명령을 실행합니다.

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 명령을 실행합니다.

aws pinpoint-sms-voice-v2 create-configuration-set --configuration-set-name VoiceKinesis

참고: VoiceKinesis는 원하는 구성 집합의 이름으로 바꿀 수 있습니다.

2.    Kinesis Data Firehose 전송 스트림을 생성합니다. 대상 설정에 **Amazon Simple Storage Service(Amazon S3)**를 선택합니다.

중요: 기본 IAM 서비스 역할을 수락합니다. 그런 다음 IAM 서비스 역할의 이름을 클립보드에 복사합니다. 다음 단계를 수행하려면 역할 이름이 필요합니다.

3.    정책의 principal 섹션에 다음 권한 문이 포함되도록 IAM 역할의 권한 정책을 수정합니다.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "firehose.amazonaws.com",
          "sms-voice.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

이 권한 문을 통해 sms-voice 서비스가 IAM 역할을 맡을 수 있습니다.

4.    다음 권한 문을 포함하도록 IAM 서비스 역할의 권한 정책을 수정합니다.

중요: IAM 서비스 역할의 기본 권한 문을 제거하지 마세요.

{
     "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": "firehose:*",
      "Resource": "*"
}

5.    텍스트 편집기에서 KinesisFirehoseDestination.json이라는 입력 요청 파일을 생성합니다. 그런 다음 파일에 다음 대상 파라미터를 복사하고 붙여 넣습니다.

{

  "IamRoleArn": "arn:aws:iam::191418023309:role/IAM_ROLE",
  "DeliveryStreamArn": "arn:aws:firehose:us-east-1:ACCOUNT_ID:deliverystream/KINESIS_FIREHOSE_NAME"
}

참고: us-east-1은 원하는 리전으로 바꾸세요. ACCOUNT_ID는 원하는 AWS 계정 ID로 바꾸세요. KINESIS_FIREHOSE_NAME은 Kinesis Data Firehose 스트림의 이름으로 바꾸세요. IAM_ROLE은 IAM 역할의 이름으로 바꾸세요.

6.    이벤트 대상을 configuration-set-name으로 매핑하려면 입력 요청 파일을 사용하여 create-event-destination 명령을 실행합니다.

텍스트 편집기에서 MatchingEventTypes에 대해 matching.json이라는 입력 요청 파일을 생성합니다. 수신하려는 이벤트를 지정하거나 모든 이벤트를 수신하려면 모두를 지정합니다.

[
"ALL"
]

그런 다음 create-event-destination 명령을 실행합니다.

aws pinpoint-sms-voice-v2 create-event-destination --configuration-set-name VoiceKinesis --event-destination-name KinesisFirehose_Destination --matching-event-types file://matching.json --kinesis-firehose-destination file://KinesisFirehoseDestination.json

중요: VoiceKinesis는 구성 세트 이름으로 바꿔야 합니다.

7.    설정을 테스트하려면 SendVoiceMessage v2 API 작업을 사용하여 Amazon Pinpoint 음성 메시지를 전송합니다. 몇 분 후, Kinesis Data Firehose 스트림을 생성할 때 구성한 Amazon S3 버킷에 이벤트가 나타납니다.

AWS 공식
AWS 공식업데이트됨 일 년 전
댓글 없음