AWS/SSH (2) 썸네일형 리스트형 [ssh] 터널링하여 DB 접속 - 2 1. 문제 정의 터널링 후 pymysql을 통해 여러개의 execution을 실행하고자 하였는데, tunnel이 닫혔다는(already closed) 오류 메시지를 확인. 혹은 connection이 종료되었다는 오류 메시지 확인 airflow를 활용하는 경우에도 여러 건의 execution을 동시에 처리하는 경우 처리가 필요 2. 해결 방향 1) python스러운 with절을 활용하지 않고, 순서에 따라 작성하였고, tunnel 생성 → conn 생성 → cur 생성 이후 아래와 같이 역순으로 종료하여야 문제가 없음 2) try, except 구문으로 rollback 기능까지 포함 tunnel 생성(시작) ㄴ tunnel 시작 ㄴ conn 생성 (시작) ㄴ cursor 생성(시작) ㄴ 하위에서 메인코드 .. [ssh] 터널링하여 DB 접속 1. 환경 회사 DB는 real-db(실제 워킹)와 dev-db(백업용)로 나누어져 있고, 보안을 위해 real-db는 별도의 EC2 서버 내에 구성되어 있음. 이러한 이유로, 동일 AWS VPC가 아니고 외부에서 접속하는 경우 바로 DB에 접근할 수 없고, 해당 EC2 서버를 거쳐서(tunneling하여) DB에 접속해야 함. 2. 구성 환경 - 윈도우11/리눅스(우분투20.04) - 아직까지 정확한 이유는 모르겠으나, 윈도우에서 파이썬으로 구현할 때와 리눅스에서 구현할 때 상이한 부분이 있어 기록을 남겨둠. - 활용 라이브러리 : sshtunnel, pymysql 3. 구현 코드 with절로 tunneling한 채로 pymysql을 통해 접속한다. import pymysql from sshtunnel.. 이전 1 다음