내부 데이터 플랫폼 구축사업의 일환으로 데이터 웨어하우스 구축과 데이터 마트 구축을 진행하고 있습니다. 데이터 웨어하우스에 구축된 데이터들을 분석용 데이터로 변환하고 데이터마트로 적재하기 위해서 AWS Glue를 도입하게 되었습니다.
AWS Glue와 RDS를 연결하기 위해서는 connection을 추가해주어야 합니다.. Data Catalog 탭에서 Connections 메뉴로 들어가면 connection을 추가해줄 수 있습니다.
(AWS RDS는 생성이 되어있다고 가정합니다.)
Connection이 생성되면 Test Connection을 통해서 연결테스트를 할 수 있는데, 이때 나올 수 있는 관련 에러들에 대해 공유해보겠습니다.
- AWS Glue에서 커넥션 생성 후 테스트를 할 때 Glue 관련 IAM 설정이 필요합니다.
- RDS에대한 접근권한과 S3에 대한 접근권한이 필요하여 해당 권한을 추가해주었습니다.
- 이유는 명확하게 알 수 없지만, VPC에 S3 endpoint가 설정이 되어야 테스트가 가능합니다.
- Gateway 유형의 S3 Endpoint를 생성하여 VPC에 추가해주었습니다.
가용영역(AZ) 관련 에러
- Connection 생성 시 Network Option에서 Subnet을 설정할 수 있는데 이 때 가용영역이 아닌 영역을 선택하면 에러가 발생합니다.
- 저같은 경우는 a,b,c,d 중에 d를 선택했을 때 a,b,c 중에 하나를 선택하라고 해서 변경했습니다.
- 제일 원인 파악이 어려웠던 에러입니다. (너무너무 화가 나더라구요)
- 저의 경우 PostgreSQL 14버전을 사용해서 초기 DB세팅을 하였는데, 위의 에러를 모두 해결했음에도 불구하고 계속 연결이 실패되었습니다.
- DB버전을 15로 올려보았으나 에러가 역시나 발생되었고, 결국엔 13버전으로 다시 세팅하여 연결하였더니 정상적으로 연결이 되었습니다.
DB Connection 테스트 시 관련 로그는 CloudWatch에 모두 저장됩니다.
이런식으로 error, output 로그가 모두 쌓이는데 output로그를 보셔야 명확한 원인 파악이 되니 output 로그를 적극적으로 활용하시기 바랍니다.
감사합니다.