session manager를 이용해서 RDS 서비스로 터널링 기능을 간단하게 스크립트로 구현해보았다.
설명은... 지금은 귀찮아서 나중에 업데이트하겠고
github에 스크립트 및 설치 파일 올려두었으니 참고하시길
(windows는 지원 안된다 쏘리!.. 귀찮...)
가이드
Requirement
- ssm manager를 통한 연결을 위한 설정
- 현재 linux와 mac OS만 지원
Install
$ sudo ./install_for_macNlinux.sh
Menual
-
터미널을 열고 명령어 실행
$ aws-rds-tunnel {ec2 instance id} {az} {local port} {RDS DNS address} {RDS Port}
- ec2 instance id : 터널링을 할 인스턴스의 ID
- az : 인스턴스가 속한 가용영역
- local port : Local PC에서 터널링할 Port
- RDS DNS address : RDS 서비스의 DNS 주소
- RDS Port : RDS 서비스의 Port 번호
# result $ tunnel-rds aws-rds-tunnel i-example ap-northeast-2a 3306 ex-database.ap-northeast-2.rds.amazonaws.com 3306 Warning: Permanently added 'i-example' (ECDSA) to the list of known hosts. [connect by cli] mysql -h127.0.0.1 -uUSERID -pPASSWORD Press any key to close session.
🚦위 스크립트는 로컬의 3306 포트를 i-example 인스턴스를 통하여 ex-database.ap-northeast-2.rds.amazonaws.com의 3306 포트로 포워딩 하는 명령어 입니다.
-
다른 터미널 열기 후 아래 명령어로 데이터 베이스 접속 확인
$ mysql -h127.0.0.1 -uUSERID -pPASSWORD
- 기존 터미널에서 아무 키 입력 시 터널 종료
git hub
github.com/minemanemo/aws-rds-tunnel
참고
nullsweep.com/a-better-way-to-ssh-in-aws/
'Knowledge > Cloud' 카테고리의 다른 글
[AWS] Codebuild에서 사설 레포지토리에 방화벽에 등록할 IP 찾기 (0) | 2021.03.02 |
---|---|
AWS Auto Scaling / Scale Up/Out/In 용어 두줄 정리 (0) | 2021.02.10 |
[AWS] 세션 매니저를 통하여 인스턴스에 SSH 접속하기 (0) | 2021.02.04 |
[AWS] Private subnet에 속한 EC2 인스턴스에 session manager 서비스를 이용하여 SSH 접속 방법 (0) | 2021.02.04 |
[Google Cloud] API 사용 설정 방법 (adminSDK) (1) | 2020.02.13 |
댓글