TIL 2021.04.28 [AWS/EC2/배포]

kyukim·2021년 4월 28일
0

TIL

목록 보기
108/322

EC2 배포

EC2 인스턴스 생성하고 우분투에 mysql 설치까진 문제가 거의 없었다.

mysql workbench ssh 터널링 연결

로컬에있는 mysql워크벤치로 SSH 통해서 접속하려고 하는데 계속 실패했다.
aws 보안 설정에 잘못이있는건지 mysql 서버 버전도 바꿔보고 워크벤치도 버전별로 바꿔보고 엄청 많이 시도해본결과 mysql 탓은 아닌것같았다.

aws 보안 그룹에는 일단 문제가 없이 모든 포트가 열려있었고

오히려 3306 포트는 열어주면 안된다는 피드백을 받기도 했다.

지금 생각해보니 ssh 터널링해서 ec2 서버 내에서 mysql에 접속하는 거기때문에 3306 여는거랑 관계가 없는거 같았다.

어쨋든 찾아보니

  1. 처음에 나온게 /etc/ssh/sshd_config 에서 AllowTCPForwarding no -> yes로 변경

-> 안되더라.
또 다른 시도는

  1. /etc/mysql/mysql.conf.d/mysqld.cnf 에서 bind address를 0.0.0.0 으로 수정하고 시도했는데

-> 이것도 안되더라

도대체 이유가 뭘까 생각하다가 이런 복잡한 사정때문에 되지않는게 아니라 뭔가 내가 놓치고 있는게 있을거라고 생각했다.

그러다가 ssh 로그 확인을 할 수 있는 명령어를 발견하게 되었다.
EC2 인스턴스가 실행중이고, 워크벤치로 테스트 커넥션을 눌러봤다.
여전히 똑같이 안되었지만 로그에는 뭔가 떴다!

스샷을 안찍어놔서 정확히 기억은 안나지만 아예 내가 가진 .pem 으로 접속자체가 디나이 되었다고 했었다.

이말은 즉슨 애초에 내가 SSH Hostname 혹은 SSH Username 을 잘못 입력하고 있단 뜻이었다.

가만보니 Username이 kyu로 되어있었는데 바보같이 ec2-user 를 입력하라고했는데 aws 서비스자체의 로그인했던 사용자명을 적었던 것이다. 우분투로 EC2를 만들면 자동으로 ubuntu로 생성이 되는듯했다. 아니면 ec2 생성하면서 설정에서 내가 못보고 지나쳤나보다...

여튼 ubuntu로 바꿔서하니까 로그에서도 접속이 되었다고 나왔고, 다만 mysql에 들어갈떄 root로는 못들어간다고 나와서 권한 설정한 새로운 mysql 사용자를 넣어주고 성공적으로 접속했다!
Successfully....라는 단어가 나왓을때 얼마나 기분좋던지ㅋㅋㅋ

배운점..

뭐든지 중요한건 아무래도 로그인거 같다. 알수없는 오류가 나면 로그를 확인해야겠다. 뭐든지 로그가 있는거같다.
심지어 쉘에 입력했던 명령어들도 history를 확인할수있으니 말이다.
디버깅이라는 용어도 해부해보면 결국 한땀한땀 로그를 살피는것이라고 할수있지않나?

$ tail -n300 /var/log/auth.log | grep ssh 를 통해서 로그 체크

삽질하면서 알게된 여러 명령어들..아까우니까 블로그에 일단 저장


배포하면서 느낀거

깃헙에서 서버로 클론해서 작업하는게 아니라
서버로는 무조건 jar 만 넘기고
로컬에서 다 작업하고 테스트 코드도 작동안하면 컴파일이 안되니까 최종 마무리하고
scp 로 jar만 넘긴다. 그게 맞는거같다.
게다가 사양이 좋지않은 서버에서 작업하니까 너무느림
그리고 다 만들고 배포하는게 아니라
중간중간에 배포해주는게 협업하는데 좋은듯.


낼 마무리할거

깃헙 Oauth
Ngnix

0개의 댓글