들어가며
일반적으로 애플리케이션에서 Redshift에 SQL을 실행하려면 JDBC나 ODBC 드라이버를 이용하여 데이터베이스와 연결(Connection)을 생성해야 합니다. 하지만 서버리스 환경이나 Lambda와 같이 짧은 시간 동안 실행되는 서비스에서는 매번 데이터베이스 연결을 생성하고 관리하는 것이 번거롭고 비효율적일 수 있습니다.
이를 해결하기 위해 AWS에서는 Amazon Redshift Data API를 제공합니다. Redshift Data API는 HTTP 기반 API를 통해 데이터베이스 연결 없이 Redshift에서 SQL을 실행할 수 있는 기능입니다.
1. Redshift Data API란?

Redshift Data API는 HTTP 요청만으로 Amazon Redshift에 SQL을 실행할 수 있도록 지원하는 서비스입니다.
기존에는 애플리케이션이 Redshift와 직접 연결(Connection)을 생성한 후 SQL을 실행해야 했습니다.
1-1) 작동 예시

반면 Data API를 사용하면 HTTP API를 호출하는 것만으로 SQL을 실행할 수 있습니다.
즉, 데이터베이스 연결을 직접 관리하지 않아도 SQL을 실행할 수 있는 것이 가장 큰 특징입니다.
2. Data API의 특징
| 기능 | 설명 |
| HTTP 기반 | REST API로 SQL 실행 |
| Connection 관리 불필요 | JDBC/ODBC 연결 생성 없이 사용 |
| 비동기 실행 | SQL 실행 후 결과를 나중에 조회 가능 |
| Provisioned / Serverless 지원 | 두 환경 모두 사용 가능 |
| AWS SDK 지원 | Python, Java, JavaScript 등 다양한 언어 지원 |
특히 Lambda와 같은 서버리스 환경에서 많이 활용됩니다.
3. JDBC와 Data API의 차이
| 항목 | JDBC / ODBC | Redshift Data API |
| 연결(Connection) | 필요 | 불필요 |
| 프로토콜 | TCP | HTTPS |
| 드라이버 | 필요 | 불필요 |
| Lambda 활용 | 연결 관리 필요 | 바로 호출 가능 |
| 추천 환경 | 장시간 연결 | 서버리스, API 기반 |
- JDBC는 데이터베이스에 직접 접속
- Data API는 AWS API를 통해 SQL을 실행
4. 인증 방식

Data API는 비밀번호를 API에 직접 전달하지 않습니다.
대신 다음과 같은 인증 방식을 사용합니다.
- AWS Secrets Manager
- IAM Role
- Temporary Credentials
따라서 데이터베이스 계정 정보를 코드에 직접 작성하지 않아도 됩니다.
5. 자주 사용하는 API
| API | 역할 |
| ExecuteStatement | SQL 실행 |
| BatchExecuteStatement | 여러 SQL 실행 |
| DescribeStatement | 실행 상태 확인 |
| GetStatementResult | 결과 조회 |
| CancelStatement | SQL 실행 취소 |
가장 많이 사용하는 API는 ExecuteStatement입니다.
6. Data API 사용 시 알아둘 점
Data API를 사용할 때는 다음과 같은 제한 사항이 있습니다.
| 항목 | 내용 |
| 최대 실행 시간 | 24시간 |
| 최대 활성 쿼리 | 500개 |
| 결과 보관 시간 | 24시간 |
| SQL 문 크기 | 최대 100KB |
| 응답 크기 | 제한 있음 |
대량의 데이터를 지속적으로 조회하는 환경보다는 애플리케이션 연동이나 서버리스 환경에 적합합니다.
7. 언제 JDBC를 사용할까?
Data API가 항상 더 좋은 것은 아닙니다. 다음과 같은 경우에는 JDBC를 많이 사용합니다.
- BI Tool 연결
- ETL 도구
- 장시간 연결이 필요한 애플리케이션
- 대용량 데이터 조회
실시간으로 지속적인 데이터베이스 연결이 필요한 환경은 JDBC가 더 적합합니다.
8. 마치며
이번 글를 정리하며 Redshift Data API는 단순히 SQL을 실행하는 API가 아니라, 데이터베이스 연결을 직접 관리하지 않고도 Redshift를 사용할 수 있도록 지원하는 서비스라는 점을 이해할 수 있었습니다.
특히 Lambda, EventBridge, Step Functions와 같은 AWS 서비스와 쉽게 연동할 수 있어 서버리스 환경에서 매우 유용하며, JDBC나 ODBC 연결을 생성하지 않아도 HTTPS 기반 API만으로 SQL을 실행할 수 있다는 것이 가장 큰 장점입니다.
반면 BI 도구나 장시간 연결이 필요한 환경에서는 기존 JDBC 방식이 더 적합할 수 있으므로, 서비스의 특성과 사용 환경에 맞게 적절한 방식을 선택하는 것이 중요하다는 것을 알수 있었습니다.
'Data Engineering > AWS' 카테고리의 다른 글
| AWS DataSync 란 (0) | 2026.07.06 |
|---|---|
| AWS DMS(Database Migration Service)란 (0) | 2026.07.06 |
| Amazon Redshift - Materialized View, Data Sharing, Lambda UDF (0) | 2026.07.03 |
| Amazon Redshift Serverless란 (0) | 2026.07.02 |
| Amazon Redshift - WLM, VACUUM, SQA (0) | 2026.07.02 |