목차
- 배경
- Private Connectivity 구성
- Cloudformation을 통한 리소스 생성
- Amazon Data Firehose 구성
- 테스트
배경
Amazon Data Firehose에서 데이터베이스 변경 사항을 캡처하고 Amazon S3의 Apache Iceberg 테이블에 복제할 수 있게 되었습니다(평가판). 이 기능을 통해 MySQL 및 PostgreSQL 데이터베이스의 실시간 데이터를 Apache Iceberg 테이블로 손쉽게 직접 스트리밍할 수 있습니다.
Amazon Data Firehose supports continuous replication of database changes to Apache Iceberg Tables in Amazon S3 - AWS
Amazon Data Firehose가 데이터베이스에 접근하여 데이터베이스의 변경 사항을 캡처하고 Apache Iceberg로 전달하기 위해 사전 요구사항 작업들이 있습니다. 이 자료는 여러 사전 요구사항 중 Amazon Data Firehose가 고객의 Database에 접근 할 수 있도록 필요한 Private Connectivity 구성에 초점을 맞추고 설명하며, CloudFormation을 통해 Private Connectivity 구성에 필요한 리소스를 프로비저닝하여 이 기능을 빠르게 도입 및 테스트 할 수 있도록 돕습니다.
Prerequisites to use database as a source - Amazon Data Firehose
Private Connectivity 구성

- AWS Secret Manager에서 접속하려는 Database의 User/Password 정보를 저장합니다. 저장된 Secret 정보를 Amazon Data Firehoes에서 Database 접근 시 이를 활용합니다.
- RDS, Aurora, Self-Managed Database는 VPC 내의 리소스입니다. Amazon Data Firehose가 VPC 내 리소스에 접근 할 수 있도록 VPC Endpoint Service를 통해 접근합니다. VPC Endpoint Service는 Network Load Balancer나 Gateway Load Balancer가 필요합니다.
- Network Load Balancer에서 Target Group의 IP를 기반으로 접근합니다. Target Group은 Primary 인스턴스에 해당하며 만약 Aurora라면 Writer(Primary) 인스턴스의 IP를 통해 접근하게 됩니다.
- Amazon Data Firehose는 Aurora에서 읽은 Binlog 데이터들을 기반으로 S3기반의 Apache Iceberg에 기록하게 됩니다.