본문 바로가기
Amazon Web Services/AWS Glue

[AWS Glue] #1 Glue Add connection (JDBC)

by 데이터현 2021. 10. 5.

처음 회사 입사하고 시작했던 게 AWS Glue 서비스를 활용하는 것 이었는데, 아무것도 모르는 상태에서 하려니깐 처음에 엄청 고생을 했다.

혹시 나 처럼 고생하실 분들이 있으실까봐 Glue 포스팅을 시간 날 때마다 해보겠다.

 

오늘은 DB와 Connection 하는 방법을 포스팅 하겠다. 많이 사용하는 JDBC 방식으로 진행하겠다.

 

그럼 AWS 콘솔에 접속하여 Glue Service에 들어가자.

좌측 Connections Tab 을 클릭해서 들어가자.
Add connection 클릭

Connection name은 이름이고 편하신 것 적어주시면 된다. PostgreSQL connection을 해볼거라 PostgreSQL로 하겠다.

Connection type은 JDBC 선택

AWS RDS를 써도 JDBC로 Connection 해도 된다.

하단에 SSL connection 할거면 체크해도 된다 난 안했다. Next 클릭

 

data store에 접속하기 위해 JDBC에서 사용할 정보를 입력해야 한다.

https://docs.aws.amazon.com/glue/latest/dg/connection-defining.html

 

AWS Glue Connection Properties - AWS Glue

Currently, an ETL job can use JDBC connections within only one subnet. If you have multiple data stores in a job, they must be on the same subnet.

docs.aws.amazon.com

JDBC URL은 각자의 DB에 맞는 형태로 작성해야 한다.

상단 링크를 들어가면, 중간쯤에 아래와 같은 내용이 있다.

형태를 잘 보고 작성

기본 형태 : jdbc:protocol://host:port/db_name

나는 PostgreSQL 이기 때문에 jdbc:postgresql://xxx-cluster.cluster-xxx.us-east-1.rds.amazonaws.com:5432/employee 의 형태로 작성해야 한다.

1. jdbc:postgresql:// -> postgresql이기 떄문에 그대로 작성

2. 중간에 xxx-cluster ... 에 적는 것이 AWS RDS에 있는 Endpoint이다.

3. Endpoint 이후 5432는 postgresql 고정 포트이다(그렇게 하기로 약속)

4. employee는 database 이름이다.

 

Endpoint 는 만약 AWS RDS를 사용하는 경우 그 EndPoint를 적으면 되고, 아닐 경우 Host Ip주소를 입력하면 된다.

 

그럼 AWS RDS에서 Endpoint를 찾아보자.

먼저 amazon web service에 콘솔로 로그인하고, RDS를 검색해서 서비스에 접속하자.

RDS 클릭
해당하는 database 클릭
Endpoint에 적혀있는 주소를 입력하면 된다.

JDBC URL을 각자에 맞게 잘 적고

Username과 Password를 적으면 된다.

참고로 Username은  Configuration 탭을 클릭하면 중간에 있는 Master username이다.

Master username

포스팅이 너무 길어질 것 같아 여기까지 하고, 다음 포스팅에서 VPC, Subnet, Security groups에 대해 마저 다루고 Test Connection 까지 포스팅 하겠다.

댓글