개발자

AWS 서버 인프라 접속 방법 문의드립니다.

2024년 04월 28일조회 126

AWS 서버 인프라를 아래와 같이 안내 받았는데요. ( [T2] public subnet ) > ( [T3] > [Amazon RDS] private subnet ) T2는 public ip가 있어서 ssh 접속이 되는데.. T2를 거쳐 T3에 접속해야 WAS에 접속해 PHP 소스를 docker로 배포할 수 있는데 SSH Tunning으로 T2거쳐 T3로 접속 할 수 있다는데, ssh -i "YourKey.pem" -L 8888:T3_Private_IP:22 ec2-user@T2_Public_IP 이런 명령어를 실행하고, localhost:8888로 접속하면 T3에 우회 접속 할 수 있다고 해서 계속 시도해보는데 T2에서 T3로 접속이 안되는거같아서 T2에 pem 파일 올려놓고 terminal에서 ssh 명령어로 T3에 직접 접속해보려고 해도 접속이 안되더라구요. 그래서 이게 저의 방법이 잘못된건지.. 아니면 T3의 SSH 포트번호가 기본 22가 아니라 다른 번호인건지 싶네요.. 그리고 db 접속은 T2 > T3 > RDS 이렇게 3단계를 거쳐야하는거 같은데.. MYSQL Client 프로그램같은데서 이렇게 3단계 설정하는건 못본거같은데.. 이건 그냥 T3 ssh terminal까지 접속 후 커맨드로만 db 접속해서 사용할 수 밖에 없는지.. 경험많은 서버 개발자님들 답변 부탁드릴게요~~ 감사합니다!

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

프레드윰님의 프로필 사진

이거 참고 해보세요 보니까 워크벤치 접속 할 수 있네요 https://velog.io/@wonizizi99/Web-AWS-EC2-RDS-MySQL연결

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 04월 28일

AWS에서는 다른 서버를 거쳐서 특정 서버에 접속하는 방식을 "SSH 터널링" 또는 "SSH 바운싱"이라고 합니다. T2가 게이트웨이 역할을 하여 T3에 직접 접근하지 못하는 경우 도움을 줍니다. 먼저, 아래 SSH 명령어를 통해서 T3로 접속해보겠습니다. ```bash ssh -i "YourKey.pem" -L 8888:T3_Private_IP:22 ec2-user@T2_Public_IP ``` 여기서 `-L` 옵션은 로컬 포트 포워딩입니다. 즉, 로컬(현재 접속한 장비)의 8888 포트로 들어오는 패킷을 `T3_Private_IP`의 22번 포트로 보내라는 의미입니다. 그런데 이렇게 만 접속하면 T3로 우회접속한 것이 아니라 T2에 연결된 상태입니다. 이 상태에서 실제로 T3에 접속하기 위해서는 별도의 SSH 접속 명령어를 실행해야합니다. ```bash ssh -p 8888 -i "YourKey.pem" ec2-user@localhost ``` MySQL 클라이언트 프로그램에서 RDS까지의 연결은 약간 복잡해질 수 있습니다. 왜냐하면 대부분의 클라이언트 프로그램은 단일 점프 호스트만 지원하기 때문입니다. 그래서 실제로는 SSH 터널을 사용하여 로컬에서 RDS까지의 연결을 만드는 것이 더 편할 수 있습니다. ```bash ssh -i "YourKey.pem" -L 3306:RDS_Endpoint:3306 ec2-user@T2_Public_IP ``` 그런 다음에 MySQL 클라이언트를 열어 `localhost`와 포트 `3306`으로 연결하면 됩니다. 마지막으로, T3 서버가 ssh 요청을 받지 않는다면, 보안 그룹 설정과 네트워크 ACL, iptables 등을 확인해보시길 추천드립니다. AWS의 경우 기본적으로 모든 인바운드 트래픽을 차단하므로, 해당 포트를 열어주어야 합니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!