AWS 14-1 프론트와 고객 연락 — Amplify·AppSync·Device Farm·End User Messaging·Connect·Chime SDK
고친 사람 github-actions[bot]
지금까지 이 시리즈는 요청이 서버에 닿은 뒤의 일을 봤습니다. 코드를 어디서 돌리고, 데이터를 어디에 두고, 급하지 않은 일을 어떻게 미루는지입니다. 그런데 서비스를 내놓으면 서버 바깥에도 할 일이 생깁니다. 프론트엔드를 빌드해 올려야 하고, 화면이 새로고침 없이 바뀌어야 하고, 출시 전에 여러 기종의 폰에서 눌러 봐야 하고, 가입한 사람에게 인증 문자를 보내야 합니다. 서비스가 자라면 고객 전화를 받을 상담 창구가, 진료·과외 같은 서비스라면 애플리케이션 안의 화상 통화가 붙습니다.
이 편은 이렇게 사용자 쪽에 닿는 일을 하나씩 맡는 여섯 서비스를 봅니다. 프론트엔드를 Git 푸시로 배포하는 Amplify, 화면에 데이터를 실시간으로 밀어 주는 AppSync, AWS 가 가진 실제 폰에서 애플리케이션을 시험하는 Device Farm, 문자와 푸시를 보내는 End User Messaging, 고객센터를 빌려 쓰는 Connect, 화상 통화를 내 애플리케이션에 넣는 Chime SDK 입니다. 여섯은 함께 도는 한 벌이 아니라 저마다 따로 고르는 도구라서, 절마다 「이 일을 직접 만들 때와 견주어 무엇을 덜고 무엇을 치르나」를 봅니다. 요금과 한도는 2026-11-13 에 공식 페이지에서 확인했습니다. 이 여섯은 요금 페이지가 리전을 나눠 적지 않는 경우가 많아서, 그럴 때는 요금 블록에 그렇다고 적습니다.
지도
flowchart TD
DEV["git push"] --> AMP["Amplify<br/>빌드·호스팅"]
AMP --> SCREEN["사용자 화면<br/>브라우저·모바일 애플리케이션"]
APS["AppSync<br/>GraphQL·실시간 구독"] --> SCREEN
CH["Chime SDK<br/>화면 안 화상 통화"] --> SCREEN
DF["Device Farm<br/>실제 폰에서 미리 시험"] -.-> SCREEN
EUM["End User Messaging<br/>문자·푸시"] --> PHONE["사용자 휴대폰<br/>문자함·알림·전화"]
CON["Connect<br/>상담 전화·채팅"] --> PHONE
위쪽 넷은 내 애플리케이션 화면에서 일합니다. Amplify 가 화면을 배포하고, AppSync 가 그 화면에 바뀐 데이터를 넣고, Chime SDK 가 화면 안에 영상 통화 창을 엽니다. Device Farm 이 점선인 까닭은 사용자에게 닿기 전에 그 화면을 실제 기기에서 시험하는 단계이기 때문입니다. 아래 둘은 애플리케이션 밖에서, 사용자의 휴대폰 번호와 알림으로 닿습니다. 문자와 푸시는 End User Messaging 이, 사람이 받는 상담 전화와 채팅은 Connect 가 맡습니다. 메일은 07-1편의 SES 가, 사용자 로그인은 05-1편의 Cognito 가 맡습니다.
1. Amplify — 프론트엔드를 Git 푸시로 올린다
React·Next.js 로 만든 프론트엔드는 어디에 올릴까요? 빌드 결과가 정적 파일뿐이라면 S3 에 올리고 CloudFront 를 앞에 두면 됩니다(04-2편). 그러나 빌드를 돌릴 곳, 브랜치마다 미리보기 주소, 배포 도중 반쯤 바뀐 파일이 보이지 않게 하는 장치, 요청마다 서버에서 HTML 을 그려 보내는 서버 사이드 렌더링(SSR)까지 직접 엮으면 손이 많이 갑니다.
Amplify Hosting 은 이것을 묶은 서비스입니다. GitHub·Bitbucket·GitLab·CodeCommit 저장소를 연결하면 푸시마다 빌드해 AWS 의 CDN(Content Delivery Network)에 올립니다. 브랜치 하나가 환경 하나가 되고, 풀 리퀘스트마다 미리보기 주소가 생깁니다. 아직 공개하지 않을 브랜치에는 비밀번호를 겁니다. 배포는 파일이 전부 올라간 뒤에야 한꺼번에 바뀌는 원자적 배포(atomic deployment)라서 업로드 도중의 반쪽 화면이 나가지 않습니다. SSR 은 Next.js 같은 주요 SSR 프레임워크를 받습니다(Welcome to AWS Amplify Hosting).
Amplify 에는 백엔드를 만드는 쪽도 있습니다. Amplify Gen 2 는 저장소의 amplify/ 폴더에 TypeScript 로 데이터 모델과 로그인을 적으면, 데이터는 화면용 API 를 만드는 AppSync(다음 절)와 DynamoDB 테이블로, 로그인은 Cognito 로 만들어 줍니다. 그 아래는 CDK(08편)라서 모자란 리소스는 CDK 코드로 더합니다. 개발자마다 따로 쓰는 클라우드 샌드박스가 생기고, 운영·스테이징 같은 공유 환경은 Git 브랜치와 하나씩 짝지어집니다(Amplify Gen 2 concepts). 백엔드와 API 가 이미 ECS·Lambda 로 따로 있다면 Gen 2 는 건너뛰고 Hosting 만 씁니다.
요금은 빌드 시간, 저장한 양, 사용자에게 내보낸 양, SSR 요청으로 받습니다(AWS Amplify pricing).
Amplify Hosting · 2026-11-13
(요금 페이지에 리전 구분 없음)
빌드 Standard 분당 $0.01
(4 vCPU · 8 GB)
저장 GB-월 $0.023
전송(사용자로) GB당 $0.15
SSR 요청 100만 건당 $0.30
SSR 실행 시간 GB-시간당 $0.20
WAF 연결 애플리케이션당 월 $15
+ WAF 요금
- SSR 실행 시간의 GB-시간은 할당된 메모리(GB)에 실행 시간(시간)을 곱한 단위입니다
- 2025-07-15 이전에 가입한 계정은 첫 12개월 동안 매달 빌드 1,000분·저장 5 GB·전송 15 GB·SSR 요청 50만 건·SSR 실행 100 GB-시간이 무료입니다. 그 뒤에 가입한 계정은 이 대신 최대 $200 의 프리 티어 크레딧을 받습니다(Explore AWS services with AWS Free Tier)
- 리전마다 애플리케이션 25개(늘릴 수 있음), 애플리케이션당 브랜치 50개, 동시 빌드 5개가 기본 한도입니다. 새 계정은 이보다 낮게 시작해 쓰는 만큼 자동으로 올라갑니다(AWS Amplify endpoints and quotas)
전송 GB당 $0.15 는 04-2편에서 본 한국 CloudFront 단가(매달 1 TB 무료, 그 뒤 GB당 $0.120)보다 높고 무료 한도도 훨씬 작습니다. 그래서 Amplify 는 트래픽보다 빌드·미리보기·SSR 을 엮는 손을 덜 때 값을 합니다.
| 이럴 때 맞다 | 이럴 때 안 맞다 | 대신 치르는 것 |
|---|---|---|
| Next.js 같은 SSR 프론트를 서버 관리 없이 올릴 때 | SSR 서버를 이미 컨테이너로 돌리고 있을 때(→ ECS) | SSR 은 요청 수와 실행 시간으로 따로 받는다 |
| 브랜치·풀 리퀘스트마다 미리보기 주소가 필요할 때 | 결과물이 정적 파일뿐이고 내보내는 양이 클 때(→ S3 + CloudFront) | 전송 단가가 CloudFront 를 직접 쓸 때보다 높다 |
| 프론트 팀이 TypeScript 만으로 데이터·로그인까지 세울 때(Gen 2) | 백엔드와 API 가 이미 있을 때(→ Hosting 만) | 만들어지는 AppSync(다음 절)·DynamoDB·Cognito 를 결국 알아야 한다 |
정적 사이트를 S3·CloudFront·ACM·Route 53 으로 직접 엮는 구성은 조합 편 21(정적 사이트)에서 끝까지 따라갑니다.
2. AppSync — 화면이 새로고침 없이 바뀌게 한다
주문 상태가 「배달 중」으로 바뀌면 고객이 보고 있는 화면도 바로 바뀌어야 합니다. 화면이 몇 초마다 서버에 물어보는 폴링은 만들기 쉽지만 바뀐 것이 없어도 요청이 나갑니다. 서버가 먼저 밀어 주려면 클라이언트와 연결을 열어 두는 웹소켓 서버가 필요합니다. 수만 개의 연결을 들고 있는 그 서버는 운영하기가 어렵습니다.
AppSync 는 이 연결을 AWS 가 들고 있는 서비스입니다. 만드는 API 는 두 종류입니다. 첫째는 GraphQL API 입니다. 클라이언트가 필요한 필드만 골라 묻는 질의 언어 GraphQL 로 스키마를 적고, 필드마다 리졸버(그 필드의 값을 어디서 어떻게 가져올지 적은 짧은 JavaScript 코드)를 달아 DynamoDB·Lambda 같은 데이터 원본에 잇습니다. 데이터를 바꾸는 요청(뮤테이션)이 들어오면 그 변경을 구독한 클라이언트에게 웹소켓으로 곧바로 밀어 줍니다(What is AWS AppSync?).
둘째는 AppSync Events 입니다. 스키마 없이 채널에 이벤트를 게시하면(HTTP 나 웹소켓으로) 그 채널을 구독한 클라이언트에게 퍼뜨리는 웹소켓 게시·구독 API 로, 채팅·점수판·화면 안 알림 같은 데에 씁니다. 채널은 이름 공간으로 묶고, 이름 공간마다 게시와 구독 때 도는 처리 함수를 달아 이벤트를 고치거나 거절합니다(What is AWS AppSync Events?). 인증은 두 API 모두 API 키·IAM·Cognito·OIDC(OpenID Connect)·Lambda 인증자로 겁니다.
요금은 요청과 메시지 건수, 연결이 열려 있던 시간으로 받습니다(AWS AppSync pricing).
AppSync · 2026-11-13
(요금 페이지에 리전 구분 없음)
GraphQL
질의·뮤테이션 100만 건당 $4.00
실시간 갱신 100만 건당 $2.00
연결 시간 100만 분당 $0.08
Events
API 동작 100만 건당 $1.00
연결 시간 100만 분당 $0.08
캐시(골라 켬) cache.small 시간당 $0.044
- 실시간 메시지는 5 KB 단위로 셉니다. 8 KB 짜리 하나가 두 건입니다
- Events 의 API 동작은 게시된 메시지, 구독자에게 내보낸 메시지, 처리 함수 실행, 연결·구독·핑 요청을 각각 한 건으로 셉니다
- 캐시는 GraphQL 응답을 메모리에 담아 두는 전용 인스턴스로, 골라 켜면 시간당 붙습니다
- 2025-07-15 이전에 가입한 계정은 첫 12개월 동안 매달 질의·뮤테이션 25만 건, 실시간 갱신 25만 건, 연결 60만 분이 무료입니다. 그 뒤에 가입한 계정은 이 대신 프리 티어 크레딧을 받습니다(Explore AWS services with AWS Free Tier)
- 인증·권한 확인에 실패한 요청과 API 키가 없거나 틀린 호출은 요금을 받지 않습니다(What is AWS AppSync?)
- 요청 하나는 30초 안에 끝나야 하고, 구독으로 받는 메시지는 240 KB 까지입니다. Events 는 한 번 게시에 이벤트 5개, 1.2 MB 까지 묶습니다(AWS AppSync endpoints and quotas)
켜 둔 서버가 없으니 값은 쓴 만큼만 오릅니다. 그러니 AppSync 를 고를지는 값보다, 팀이 GraphQL 이라는 계층을 하나 더 들일 생각이 있는지와 실시간 갱신이 정말 필요한지로 갈립니다.
| 이럴 때 맞다 | 이럴 때 안 맞다 | 대신 치르는 것 |
|---|---|---|
| 화면마다 필요한 필드가 달라 GraphQL 로 한 번에 묻고 싶을 때 | API 가 REST 이고 바꿀 생각이 없을 때(→ API Gateway·ALB) | 스키마와 리졸버라는 계층을 새로 익히고 관리한다 |
| 데이터가 바뀌면 열린 화면에 바로 반영해야 할 때 | 몇 분 늦게 반영돼도 되는 화면(→ 폴링으로 충분) | 연결 시간과 메시지 건수로 요금이 쌓인다 |
| 채팅·점수판처럼 한 채널의 많은 구독자에게 퍼뜨릴 때(Events) | 서버끼리 주고받는 이벤트(→ SNS·EventBridge) | 게시 한 번에 이벤트 5개, 1.2 MB 가 한도다 |
연결만 열어 두고 메시지가 오가는 길은 직접 짜고 싶다면 04-2편의 API Gateway WebSocket API 가 대안입니다.
3. Device Farm — 실제 폰에서 시험한다
에뮬레이터에서는 멀쩡한데 어느 제조사의 어느 기종에서만 화면이 깨지는 일이 있습니다. 그렇다고 기종을 전부 사 둘 수는 없습니다.
Device Farm 은 AWS 가 가진 실제 Android·iOS 폰과 태블릿에서 애플리케이션을 시험하는 서비스입니다. 쓰는 방식은 둘입니다. 첫째인 원격 접속은 브라우저에 실제 기기 화면을 띄워 손으로 눌러 보거나, 내 컴퓨터의 Appium(모바일 UI 를 자동으로 조작하는 오픈소스 도구) 테스트를 원격 기기에 붙여 돌리는 방식입니다. 세션 하나는 150분까지입니다.
둘째인 자동 테스트는 애플리케이션과 테스트 묶음을 올리면 여러 기기에서 동시에 돌리고 로그·스크린샷·영상이 든 보고서를 내는 방식입니다. 테스트를 돌리는 호스트와 기기를 내 VPC 에 붙여 사설 주소의 서버에 닿게 할 수도 있습니다.
제약이 하나 큽니다. Device Farm 은 오레곤(us-west-2) 리전에만 있습니다(What is AWS Device Farm?).
요금은 기기를 쓴 분 단위로 받거나, 기기 한 대를 동시에 쓸 권리인 슬롯을 달마다 삽니다(AWS Device Farm pricing).
Device Farm · 오레곤(us-west-2) · 2026-11-13
실제 기기 종량제 기기-분당 $0.17
무제한 요금제 슬롯 하나에 월 $250
- 처음 한 번 무료 기기 시간을 줍니다. 기본 250분이고, 기간 한정으로 1,000분을 주기도 합니다
- 슬롯은 기종에 묶이지 않습니다. 자동 테스트용과 원격 접속용, 안드로이드와 iOS 를 나눠 삽니다
기기 10대에서 20분짜리 테스트를 한 번 돌리면 200 기기-분, $34 입니다. 같은 종류 슬롯 하나로 한 달에 약 1,470분($250 ÷ $0.17)을 넘게 쓰면 무제한 슬롯이 쌉니다.
| 이럴 때 맞다 | 이럴 때 안 맞다 | 대신 치르는 것 |
|---|---|---|
| 출시 전에 여러 제조사·기종에서 화면과 동작을 확인할 때 | 화면과 상관없는 로직 테스트(→ 에뮬레이터) | 기기-분당 $0.17 에 기기 수를 곱해 쌓인다 |
| 시험 데이터가 해외 리전에 있어도 될 때 | 시험 데이터가 국내 리전을 벗어나면 안 될 때(→ 사내 기기) | 오레곤 리전에만 있다 |
| 매일 같은 기기 묶음으로 회귀 테스트를 돌릴 때(무제한 슬롯) | 출시 직전에만 몰아서 시험할 때(→ 종량제) | 슬롯을 쓰든 안 쓰든 월 $250 이 나간다 |
시험할 기종이 몇 개뿐이거나 시험 데이터가 국내를 벗어나면 안 된다면, 로직은 에뮬레이터로 돌리고 화면은 사내에 사 둔 기기 몇 대로 확인하는 편이 맞습니다.
4. End User Messaging — 문자와 푸시를 보낸다
메일은 SES 가 보낸다면, 가입 인증 문자와 배송 알림 푸시는 무엇이 보낼까요? AWS End User Messaging 은 Amazon Pinpoint 안에 있던 SMS·MMS·음성·푸시·WhatsApp 발송 기능을 2024년 3분기에 떼어 내며 붙인 이름입니다. Pinpoint 의 나머지(고객 세그먼트·캠페인·여정·분석)는 2025-05-20 부터 새 고객을 받지 않다가 2026-10-30 에 지원이 끝났습니다. 푸시·OTP(일회용 비밀번호) 발송은 모든 계정에서 계속 돕니다. Pinpoint API 로 문자·음성을 보내는 것은 2025-05-20 전에 쓰던 기존 고객만 됩니다. 새로 시작하면 End User Messaging SMS API 를 씁니다(Amazon Pinpoint end of support). 캠페인 기능을 쓰던 곳에 AWS 가 권하는 곳은 5절의 Connect 이고, Pinpoint 가 접힌 경위는 15편(AWS 가 접은 서비스들)에서 봅니다.
지금 End User Messaging 은 채널마다 콘솔과 문서가 갈립니다. SMS 쪽은 전화번호나 발신자 ID(문자에 번호 대신 보이는 영문 이름)로 문자·MMS·음성 메시지(적은 글을 기계 음성으로 읽어 주는 전화)를 보내고, 받는 사람이 수신 거부한 번호 목록과 나라별 번호 등록을 관리합니다. Push 쪽은 애플의 APNs(Apple Push Notification service), 구글의 FCM(Firebase Cloud Messaging) 같은 푸시 알림 서비스를 거쳐 모바일 애플리케이션에 알림을 띄웁니다. WhatsApp 으로 보내는 채널도 따로 있습니다(What is AWS End User Messaging SMS? · What is AWS End User Messaging Push?).
SES 처럼 문자에도 샌드박스가 있습니다. 새 계정은 문자 발송이 월 $1 어치까지이고, 받는 번호도 미리 검증한 번호 10개까지로 묶입니다. 운영 전환은 리전마다 지원 케이스로 요청합니다. 이때 보낼 문자의 종류(OTP·거래·홍보), 수신 동의를 받는 방법, 문자 원문을 적어 냅니다. 첫 답은 24시간 안에 옵니다(SMS/MMS and Voice sandbox).
한국 사용자에게 문자를 보내면
나라별 지원 표에서 한국(+82)은 단축 번호(short code, 짧은 자리 수의 발신 전용 번호)·일반 번호(long code, 보통 전화번호 길이의 번호)·발신자 ID 가 모두 지원되지 않습니다. 답장을 받는 양방향 문자도 안 됩니다. 되는 것은 다른 나라 번호로 보내는 「국제 발송」뿐입니다. 문서는 국제 발송 메시지가 최선 노력(best effort)으로 전달되고, AWS 바깥 구간에서 공용 번호나 발신자 ID 로 바뀌어 나갈 수 있다고 적습니다(Supported countries and regions for SMS messaging). 서울 리전에서 API 를 부를 수는 있지만(SMS·음성 모두), 받는 사람 화면에 내 회사 번호가 뜨게 하는 길은 이 표 안에 없습니다. 같은 문서는 나라마다 번호를 대 주는 통신 협력사가 하나뿐이라 그쪽 장애가 곧 발송 장애가 된다며, 중요한 알림에는 WhatsApp·푸시·음성·SES 메일을 예비 길로 두라고 권합니다. 그러니 한국 사용자에게 회사 번호로 인증 문자를 보내야 한다면 AWS 밖의 국내 문자 발송 업체를 씁니다. AWS 쪽에는 같은 문서가 권한 푸시나 SES 메일을 예비 길로 둡니다.
요금은 채널마다 구조가 다릅니다. 문자는 받는 나라와 통신사마다 단가가 다르고 수시로 바뀌어서 요금 페이지가 나라별 표 파일로 내놓습니다(AWS End User Messaging pricing).
End User Messaging · 2026-11-13
SMS 받는 나라·통신사마다 다름
(나라별 표는 요금 페이지)
푸시 매달 100만 건 무료
이후 100만 건당 $1
음성(한국 휴대폰행) 분당 $0.043
음성(한국 유선행) 분당 $0.028
WhatsApp 보낸 메시지 건당 $0.005
+ Meta 요금(나라·종류별)
샌드박스 SMS 월 $1 어치 한도
- 전화번호 임대료는 나라와 번호 종류마다 달마다 붙습니다(미국 수신자 부담 번호 월 $2 등)
- 음성을 보내려면 음성용 전용 번호(long code)를 하나 이상 임대해야 합니다
푸시만 필요하다면 07-1편의 SNS 로도 모바일 푸시를 보냅니다. 같은 알림을 토픽 구독자에게 한꺼번에 뿌리는 구조면 SNS 가 맞습니다. 알림 문구를 템플릿(값만 바꿔 끼우는 문구 틀)으로 저장해 두고 사용자마다 보내려면 End User Messaging Push 가 맞습니다.
| 이럴 때 맞다 | 이럴 때 안 맞다 | 대신 치르는 것 |
|---|---|---|
| 해외 사용자에게 인증·알림 문자를 보낼 때 | 한국 사용자에게 회사 번호로 문자를 보내야 할 때(→ 국내 문자 발송 업체) | 나라마다 번호·발신자 ID 등록 규정을 따로 챙긴다 |
| iOS·안드로이드 애플리케이션에 푸시를 보낼 때 | 같은 알림을 토픽 구독자에게 한꺼번에 뿌릴 때(→ SNS 모바일 푸시) | APNs·FCM 인증 정보를 등록하고 만료 전에 갈아 끼운다 |
| 인증 문자를 푸시·WhatsApp 으로도 보낼 예비 길을 둘 때 | 문자 하나만 쓰면서 끊김 없는 전달을 기대할 때 | 통신 협력사가 나라마다 하나라 그쪽 장애가 곧 발송 장애다 |
5. Connect — 고객센터를 빌린다
고객센터 전화번호 하나를 열려면 전화 회선, 「1번을 누르세요」 하는 자동 응답, 상담원에게 차례로 전화를 나눠 주는 대기열, 상담원이 쓸 화면, 녹음이 필요합니다. 예전에는 이것을 장비와 소프트웨어로 사서 들여놓았습니다.
Connect 는 이것을 클라우드로 빌려 쓰는 콘택트 센터(고객 문의를 전화·채팅·메일로 받아 상담원에게 나눠 주는 시스템) 서비스입니다. 지금 「Amazon Connect」는 업무별 AI 도구 여럿을 묶은 이름입니다. 이 편이 다루는 원래 서비스는 이제 Amazon Connect Customer 라고 부릅니다(What is Connect Customer?).
관리자는 흐름(flow)이라는 순서도를 시각 편집기로 그려 「인사 → 메뉴 고르기 → 상담원 대기열」 같은 길을 짭니다. 상담원은 브라우저의 상담원 화면에서 전화와 채팅을 받습니다. 흐름 안에서 Lambda 함수를 불러 주문 조회 같은 내 시스템의 데이터를 끼웁니다. Amazon Lex 챗봇으로 고객의 말을 알아듣게 할 수도 있습니다. 녹음과 대화 분석, 대량 발신 캠페인도 붙습니다(Connect Customer feature overview).
상담 중 목소리로 본인을 확인하던 Connect Customer Voice ID 는 2026-05-20 에 완전히 종료됐습니다(Services in Full Shutdown).
Connect Customer 는 서울 리전에서 돌고(Connect Customer endpoints and quotas), 한국 번호도 받을 수 있지만 서류가 필요합니다. 070 인터넷 전화 번호, 15xx·16xx 대표 번호, 080 수신자 부담 번호를 주문할 수 있습니다. 셋 다 사업자등록증 사본을 지원 케이스로 내야 합니다. 02 같은 지역 번호는 다른 통신사에서 쓰던 번호를 옮겨 오는 방식으로 들입니다. 문서는 한국 번호의 주문과 이전이 규제 기관 심사와 한국어 절차 때문에 다른 나라보다 오래 걸린다고 적습니다(Region requirements for ordering and porting phone numbers).
요금은 상담원 수가 아니라 채널마다 쓴 분과 건수로 받습니다(Amazon Connect pricing).
Connect Customer · 2026-11-13
(요금 페이지에 리전 구분 없음.
리전·통신 종류에 따라 다를 수 있다고 적힘)
음성 분당 $0.038 + 통신 요금
채팅 주고받은 메시지 건당 $0.010
메일 주고받은 메일 건당 $0.080
SMS 주고받은 메시지 건당 $0.014
- 통신 요금은 전화 회선 값으로, 번호 종류(일반·수신자 부담)와 나라마다 분당으로 더 붙습니다. 요금 페이지 본문은 「표준 통신 요금이 붙는다」고만 적고, 나라별 단가는 같은 페이지의 부록 표에 둡니다
- 상담원 수로 받는 좌석 라이선스가 없고 최소 약정도 없습니다. 무료 한도는 요금 페이지에 적혀 있지 않습니다
그래서 상담원이 늘고 주는 대로 값이 따라가지만, 통화 분마다 받으므로 긴 통화가 많을수록 쌓입니다.
| 이럴 때 맞다 | 이럴 때 안 맞다 | 대신 치르는 것 |
|---|---|---|
| 상담원 여럿이 전화·채팅을 받는 고객센터를 새로 열 때 | 상담원 없이 알림 문자·음성만 자동으로 보낼 때(→ End User Messaging) | 흐름·대기열·상담원 화면을 새로 익힌다 |
| 문의량이 철마다 크게 출렁여 상담원 수가 자주 바뀔 때 | 통화가 길고 하루 내내 이어지는 대형 센터 | 음성은 분당 $0.038 에 통신 요금이 더해진다 |
| 사업자 서류를 갖춰 한국 대표 번호를 열 때 | 오늘 당장 한국 대표 번호가 필요할 때 | 한국 번호는 사업자등록증 심사를 거쳐 오래 걸린다 |
통화가 길고 하루 내내 이어지는 대형 센터라면 분당 요금이 끝없이 쌓이므로, 상담원 좌석 단위로 계약하는 콘택트 센터 제품과 한 달 값을 견주어 보고 고릅니다.
6. Chime SDK — 화상 통화를 내 애플리케이션에 넣는다
원격 진료·과외·상담 서비스를 만들면 애플리케이션 안에서 얼굴을 보며 이야기하는 창이 필요합니다. 두세 명이 넘으면 각자의 음성과 영상을 받아 나눠 주는 미디어 서버가 있어야 하고, 그 서버를 사용자 가까이에 띄우고 늘리는 일이 이 일의 무거운 부분입니다.
이름이 비슷한 Amazon Chime(완성품 화상 회의 애플리케이션)은 2026-02-20 에 완전히 종료됐습니다(Services in Full Shutdown). Chime SDK 는 그와 따로, 회의 기능을 부품으로 가져다 내 애플리케이션에 넣는 개발 도구이고 계속 운영됩니다.
내 서버가 AWS SDK 로 CreateMeeting·CreateAttendee 를 불러 회의와 참가자를 만들고, 참가자마다 받은 참가 토큰을 그 참가자의 클라이언트에 넘깁니다. 클라이언트는 JavaScript·iOS·Android 용 클라이언트 라이브러리로 그 토큰을 들고 미디어 서버에 붙습니다. 미디어 서버는 음성을 섞어서 돌려줍니다. 영상은 받은 흐름을 골라 전달하는 SFU(Selective Forwarding Unit) 방식으로 나눠 줍니다. 한 회의에 동시에 켤 수 있는 영상은 25개입니다(Using the Amazon Chime SDK).
리전은 두 갈래로 고릅니다. 회의를 만들고 지우는 API 가 있는 컨트롤 리전과 실제 음성·영상이 오가는 미디어 리전은 서로 다릅니다. 서울은 둘 다 됩니다. 미디어 리전을 참가자 가까이에 두면 지연이 줄어듭니다. 다만 Chime SDK 의 채팅용 메시징은 버지니아 북부와 프랑크푸르트에만 있어서, 회의에 채팅을 붙이면 그 내용은 미국이나 유럽 리전에 남습니다(Available AWS Regions for the Amazon Chime SDK).
Chime SDK 에는 일반 전화망(PSTN, Public Switched Telephone Network)과 잇는 PSTN Audio 도 있습니다. 전화로 회의에 들어오거나 전화 응답 흐름을 Lambda 로 짜는 기능입니다. 2026-09-29 에 유지보수 단계에 들어갔고, 2026-10-29 부터 새 고객을 받지 않습니다. 회의 전화 참가처럼 Chime SDK 회의에만 쓰는 경우는 지원 케이스로 예외를 요청할 수 있습니다. AWS 는 새 전화 업무를 5절의 Connect Customer 로 하라고 권합니다(Amazon Chime SDK SIP media applications availability change). Chime SDK 안의 기능 둘, Proxy Sessions(2026-04-07)와 Carrier Voice Focus(2026-06-30)는 이미 완전히 종료됐습니다(Services in Full Shutdown).
회의 요금은 참가자가 붙어 있던 시간으로 받습니다(Amazon Chime SDK pricing).
Chime SDK · 2026-11-13
(요금 페이지에 리전 구분 없음)
회의 참가자-분 $0.0017
(6초 단위, 최소 6초)
메시징 보낸 메시지 건당 $0.0007
+ 전달 건당 $0.00001
+ 저장 GB-월 $5
1:1 화상 상담 30분을 하루 100건, 30일 연다고 해 봅니다.
1:1 화상 상담 · 30분 × 하루 100건 × 30일
참가자-분 2명 × 30분 × 100건 × 30일
= 180,000
요금 180,000 × $0.0017 = $306.00
상담이 없는 날은 0원이고, 미디어 서버를 띄우거나 늘릴 일이 없습니다. 대신 회의 화면과 장치 처리는 클라이언트 라이브러리 위에 내가 짭니다.
| 이럴 때 맞다 | 이럴 때 안 맞다 | 대신 치르는 것 |
|---|---|---|
| 진료·과외처럼 애플리케이션 안에 1:1·소규모 영상 통화를 넣을 때 | 사내 회의만 필요할 때(→ Zoom·Google Meet·Microsoft Teams 같은 완성품 화상 회의 서비스) | 회의 화면과 장치 처리 코드를 직접 짠다 |
| 영상을 켜는 사람이 25명 이하인 회의 | 수십 명이 모두 영상을 켜는 큰 회의 | 한 회의의 동시 영상은 25개가 한도다 |
| 애플리케이션 안 통화만 필요할 때 | 전화번호로 걸고 받는 새 전화 서비스(→ Connect Customer) | PSTN Audio 는 새로 시작하려면 예외 요청이 필요하다 |
사내 회의만 필요하다면 SDK 로 화면을 짤 까닭이 없습니다. Zoom·Google Meet·Microsoft Teams 같은 완성품 서비스를 쓰고, 전화번호로 걸고 받는 일은 Connect Customer 로 보냅니다.
이럴 땐 무엇
화면 쪽은 켜 둔 서버 없이 쓴 만큼 받습니다. 휴대폰 쪽은 나라별 번호 규정이 먼저 판단을 가릅니다.
| 상황 | 서비스 | 이유 |
|---|---|---|
| Next.js 프론트를 브랜치별 미리보기와 함께 배포한다 | Amplify Hosting | 저장소 연결만으로 빌드·SSR·미리보기 |
| 내보내는 양이 큰 정적 사이트 | S3 + CloudFront | 전송 단가와 무료 한도가 Amplify 보다 유리하다 |
| 주문 상태를 열린 화면에 바로 반영한다 | AppSync GraphQL | 뮤테이션이 구독한 화면으로 곧바로 밀린다 |
| 채팅방·실시간 점수판 | AppSync Events | 스키마 없이 채널 게시·구독 |
| 출시 전 여러 기종에서 시험한다 | Device Farm | 실제 기기, 기기-분당 $0.17. 오레곤에만 있다 |
| 해외 사용자에게 인증 문자를 보낸다 | End User Messaging SMS | 나라별 번호·발신자 ID 등록을 한곳에서 |
| 한국 사용자에게 회사 번호로 인증 문자를 보낸다 | 국내 문자 발송 업체(+ 푸시·SES 메일을 예비 길로) | End User Messaging 은 한국 번호·발신자 ID 를 지원하지 않는다 |
| 모바일 애플리케이션 푸시 | End User Messaging Push 또는 SNS | 문구 템플릿을 쓰면 End User Messaging Push, 토픽 구독이면 SNS |
| 고객센터 전화·채팅을 연다 | Connect Customer | 좌석 요금 없이 분·건마다. 한국 번호는 서류 심사 |
| 애플리케이션 안 1:1 화상 상담 | Chime SDK | 참가자-분당 $0.0017, 서울 미디어 리전 |
자주 붙는 서비스는 Cognito(로그인)·DynamoDB·Lambda(AppSync 데이터 원본)·CloudFront·SES(메일)·Amazon Lex(Connect 챗봇)입니다.
한 장 요약
이 편의 여섯은 사용자에게 닿는 일을 하나씩 맡아 직접 만들 수고를 덜어 주는 도구입니다. 한국에서는 문자 발신 번호를 고를 수 없습니다. Connect 의 한국 전화번호는 사업자 서류를 거칩니다. Device Farm 은 오레곤에만 있습니다. Pinpoint·Chime 애플리케이션은 이미 끝났고, Chime SDK 의 PSTN Audio 는 새 고객을 받지 않습니다.
관련 항목
이 편의 여섯 서비스
AWS Amplify · AWS AppSync · AWS Device Farm · AWS End User Messaging · Amazon Connect · Amazon Chime SDK
프론트엔드를 내보내는 방식
서버 사이드 렌더링 · 클라이언트 사이드 렌더링 · CDN · 원자적 배포 · 미리보기 배포 · Next.js · React
화면에 실시간으로 밀어 주는 장치
GraphQL · GraphQL 구독 · 리졸버 · 웹소켓 · 게시·구독 · 폴링
모바일 애플리케이션을 시험하는 도구
Appium · 에뮬레이터 · 실기기 테스트 · 회귀 테스트 · Android · iOS
휴대폰으로 닿는 메시지
SMS · 발신자 ID · OTP · 푸시 알림 · APNs · Firebase Cloud Messaging · WhatsApp
고객센터와 전화망
콘택트 센터 · IVR · PSTN · SIP · 번호 이동 · Amazon Lex
영상 통화를 이루는 장치
WebRTC · SFU · Opus · DTLS · 시뮬캐스트
앞 편에서 본 이웃 서비스
AWS 04-2 밖에서 들어오는 길 — Route 53·CloudFront·Global Accelerator·ELB·API Gateway · AWS 05-1 누가 무엇을 할 수 있나 — IAM·IAM Identity Center·Cognito·Verified Permissions · AWS 07-1 큐와 알림 — SQS·SNS·SES·Amazon MQ · AWS 08 빌드·배포 자동화 — ECR·CodeBuild·CodePipeline·CodeDeploy·CloudFormation·CDK
끝났거나 접히는 중인 것
Amazon Pinpoint · Amazon Chime · Amazon Connect Customer Voice ID · Chime SDK PSTN Audio · AWS 서비스 수명 주기