문의 주신 내용에 맞는 전문 컨설턴트 배정 후 연락드리겠습니다.
Amazon Connect는 사용하기 쉬운 옴니 채널 기반의 클라우드 컨택센터 서비스이며, 큰 규모의 비즈니스로 쉽게 확장 가능합니다. 고객 데이터 및 상담사(에이전트)의 고객 상담 데이터의 수집과 활용이 손쉬워 시스템 운영 및 상담 업무 운영 두 가지 측면에서 동시에 이점을 가져갈 수 있는 서비스입니다. 이번 포스팅에서는 Amazon Connect와 연계하여 컨택센터의 통계 대시보드를 구현하고, AWS IAM Identity Center를 통해 싱글 사인온으로 Amazon Connect 콘솔에 접근할 수 있는 방안을 제공합니다.
Amazon Connect는 connect instance 콘솔에서 아래와 같이 데이터 스트리밍 기능을 제공하고 있습니다.
연락처 추적 레코드(CTR)는 Amazon Kinesis Data Firehose 혹은 Kinesis Data Stream, 상담원 이벤트(agent event)는 Amazon Kinesis Data Stream을 통해 스트리밍할 수 있게 제공하고 있습니다.
- CTR logs : 통화 개수, CTR(날짜별), 평균 통화 유지 시간 등을 로깅
- Agent logs : 평균 ACW(After Call Work), 상담원 수, 상담원 상태 등을 로깅
CTR을 위한 Kinesis Data Firehose에서 위와 같이 OpenSearch(ElasticSearch) Service를 대상으로 지정할 수 있으며, 특정 인덱스 prefix를 대상으로 레코드가 drop되도록 할 수 있습니다. 또한 Index rotation 주기 설정을 통해 작은 샤드가 과하지 않게 생성되도록 설정이 가능합니다.
OpenSearch에 적절한 레코드를 삽입할 수 있도록 위와 같은 IAM Policy를 Kinesis Access IAM Role에 연결합니다. 해당 Role은 Agent event를 위한 IAM Role로도 동시에 활용됩니다.
Agent event는 Kinesis Data Stream으로만 스트림이 가능한데, Kinesis Data Stream의 경우 OpenSearch로 바로 인덱스를 삽입할 수 없기 때문에, Kinesis Data Stream 생성 이후 Kinesis Data Fiehose를 추가로 생성하여 연결해 주어야 합니다. Kinesis Data Firehose의 소스를 Kinesis Data Streams로 지정함으로써 둘 간의 연결이 가능합니다. CTR log를 구현한 것과 같이 식별 가능한 인덱스와 rotation 주기를 설정합니다.
CTR logs와 Agent logs만으로도 충분히 유용한 월간 통계 대시보드 구성이 가능합니다. 여기에 더하여, 컨택센터 관리자는 현재 콜 대기열(Call Queue)가 얼마나 쌓여 있는지, 현재 대기열에서 실시간으로 대기 중인 통화 수를 확인하고 싶어 할 수 있습니다. Amazon EventBridge는 AWS 서비스 내에서 발생한 이벤트를 캡처하여 특정 작업을 수행할 수 있도록 할 수 있으며, Amazon Connect의 콜 발생 이벤트 또한 AWS 서비스 이벤트로 분류됩니다. 콜이 발생했다는 이벤트인 Contact events 규칙에 매치될 경우 Lambda 함수를 실행할 수 있게 됩니다. Lambda는 기존에 존재하는 OpenSearch Index를 삭제하고, 현재 대기열에 남아 있는 콜 수로 갱신하는 로직을 작동합니다. 이때, Amazon Connect API 중 get_current_metric_data 를 호출하여 실시간 메트릭을 받아올 수 있습니다. 결괏값은 Connect Console에서 확인 가능한 대기열 내 통화 수(CONTACTS_IN_QUEUE)와 예약된 통화 수(CONTACTS_SCHEDULED)를 더한 값인 실시간 메트릭 값과 동일한 값을 반환합니다.
대시보드는 OpenSearch 및 Kibana(OpenSearch Dashboard)를 통해 구현합니다. 대시보드의 각 지표들은 다음과 같은 정보를 담고 있습니다.
- Number of Call : Unique한 ContactID를 카운트합니다.
- CTRs(Contact Trace Records) : Unique한 ContactID를 Daily Timestamp(일간)에 따라 막대그래프로 시각화합니다.
- Average ACW(After Contact Work) : 통화 작업 후 평균 시간을 명시합니다. (발신 연락처 제외)
- Calls per Day : Unique한 ContactID를 Daily Timestamp(일간)에 따라 테이블 형식으로 시각화합니다.
- Average Call Duration(Agent Interaction Duration) : 평균 에이전트 상호 작용 시간을 카운트합니다. (발신 연락처 제외)
- Number of Agent : 지정한 기간 중 에이전트 수를 명시합니다. (Connect 콘솔 내 Historical - Agent 열 개수)
- Number of Call in Queue : Connect 콘솔 내 Realtime Metric의 In Queue + Scheduled 통화 수를 명시합니다.
다음은 Amazon Connect와 AWS IAM Identity Center를 연동하는 실습입니다.
AWS IAM Identity Center(SSO)에서 Connect 애플리케이션을 생성 후 me
모든 작업이 끝난 이후, Amazon Connect 인스턴스 콘솔에서 IAM Identity Center에서 생성한 사용자 이름과 동일한 이름의 상담원(Agent)를 생성하면 싱글사인온 기반으로 Amazon Connnect 콘솔에 접속할 수 있게 됩니다.
Amazon Connect로 컨택센터를 운용하며 일어나는 이벤트와 지표를 모두 취합하기 위해 Kinesis Services를 통해 월간 대시보드를 구현하였으며, Amazon EventBridge를 통해 실시간 대기열 수를 구현하는 솔루션을 공유하였습니다. 더하여 AWS IAM Identity Center와 연동함으로써 싱글 사인온 기반으로 효과적으로 접근제어하는 방식을 공유하였습니다. Amazon Connect는 원클릭만으로 쉽게 컨택센터를 구축할 수 있는 강력한 솔루션입니다. 고객과의 상담 데이터를 실시간&배치 기반으로 분석하여 향상된 고객 경험(CX)를 제공할 수 있으며, 더 나아가서 모든 고객 경험을 개인화하고 맥락화할 수 있을 것으로 기대합니다.