AWS 밖에서 DynamoDB를 쓸 수 있나요?
예. DynamoDB는 HTTPS로 어디서든 닿을 수 있습니다 — 여러분의 코드가 AWS 위에서 돌 필요는 없습니다. AWS 자격 증명을 가진 애플리케이션이라면 노트북에서 돌든, 온프레미스 서버에서 돌든, 다른 클라우드에서 돌든 SDK나 서명된 요청으로 리전 endpoint를 호출할 수 있습니다. AWS 안에 있는 것은 데이터베이스뿐입니다.
접근 방식
DynamoDB는 여러분이 호스팅하는 소켓이 아니라 API입니다. 클라이언트는 AWS 자격 증명으로 서명하고 IAM으로 인가된 요청을 리전 HTTPS endpoint에 보냅니다. AWS SDK(JavaScript, Python, Java, Go 등), CLI, 콘솔 모두 같은 공개 API를 사용하며, 어느 것도 자기가 어디서 도는지 신경 쓰지 않습니다.
AWS 계정 없이 curl만으로도 확인할 수 있습니다. 어느 리전의 endpoint에 빈 ListTables 본문을 POST하면 이렇게 답합니다:
{
"__type": "com.amazon.coral.service#MissingAuthenticationTokenException",
"message": "Request is missing Authentication Token"
}거절된 요청이지만, AWS 위에 있지도 않은 노트북에서 보낸 요청을 서비스가 받고, 파싱하고, 답했습니다. SigV4 서명을 더하면 같은 호출이 성공합니다.
네트워크가 물리는 비용
endpoint는 어디서든 닿을 수 있지만, 지연 시간은 어디서나 같지 않습니다. 2026-07-28에 스페인의 가정용 회선에서 측정했습니다. 리전마다 하나의 재사용된 HTTPS 연결로 서명되지 않은 ListTables를 열 번 POST하고 curl의 time_starttransfer를 읽었습니다.
| 리전 | 첫 요청(TCP + TLS) | 워밍업 후 중앙값 |
|---|---|---|
eu-central-1 (프랑크푸르트) | 232 ms | 50 ms |
eu-west-1 (아일랜드) | 204 ms | 59 ms |
us-east-1 (북버지니아) | 456 ms | 118 ms |
us-west-2 (오리건) | 577 ms | 182 ms |
sa-east-1 (상파울루) | 743 ms | 247 ms |
ap-northeast-1 (도쿄) | 905 ms | 263 ms |
머신 하나, 하루, 경로 하나이므로 절대적인 밀리초보다 비율을 읽으세요.
DynamoDB는 서버 쪽에서 한 자릿수 밀리초로 답합니다. 스페인에서 도쿄까지는 네트워크가 그 위에 대략 250 ms를 더하며, 이는 데이터베이스가 하는 일의 25~50배입니다. 리전 안에서는 즉각적으로 느껴지던 읽기 루프가 밖에서는 프로그램에서 가장 느린 것이 됩니다.
첫 요청은 워밍업된 요청의 서너 배가 들고 전부 TCP와 TLS 설정입니다. 오래 사는 프로세스는 그것을 한 번만 냅니다. 짧게 사는 것 — cron 작업, CLI 스크립트, 호출마다 새 클라이언트를 만드는 함수 — 은 매번 냅니다. 클라이언트를 재사용하세요.
AWS 밖에서 달라지는 그 밖의 것
- 데이터 전송 — AWS를 떠나는 트래픽에는 데이터 전송 요금이 붙고, 무료 허용량은 서비스별이 아니라 공유됩니다: "AWS customers receive 100 GB of free data transfer out to the internet free each month, aggregated across all AWS Services and Regions (except China and GovCloud)."
- 자격 증명 — AWS 밖의 코드는 인스턴스 역할을 쓸 수 없으므로 액세스 키나 페더레이션 자격 증명을 명시적으로 관리해야 합니다.
AWS 없이 개발하기
개발에는 AWS 계정조차 필요 없습니다. DynamoDB Local이 여러분의 컴퓨터에서 오프라인으로, 무료로 API를 실행합니다. 준비가 되면 endpoint만 바꾸면 같은 코드가 웹 서비스를 겨눕니다.
더 알아보기
데스크톱 클라이언트가 이것의 일상적인 증거입니다. DynoTable은 여러분의 Mac이나 PC에서 — 완전히 AWS 밖에서 — 실행되며 AWS 리전과 로컬 endpoint 양쪽에 연결합니다. 그것이 보내는 쿼리는 표현식 빌더로 만드세요.
참고 자료
- What is Amazon DynamoDB? — Amazon DynamoDB Developer Guide
- Accessing DynamoDB — Amazon DynamoDB Developer Guide
- Setting up DynamoDB local (downloadable version) — Amazon DynamoDB Developer Guide
- Amazon DynamoDB on-demand pricing
위에 링크된 공식 AWS 문서를 기준으로 2026-07-13에 마지막으로 검증했습니다.
지연 시간은 2026-07-28에 스페인의 가정용 회선에서, 리전마다 하나의 재사용된 연결로 열 번씩 요청해 측정했습니다. 여러분의 수치는 다를 것입니다. 요점은 리전 간의 격차입니다.