[알토르] #4 AWS EC2에 Mysql을 다운받아 python으로 웹크롤링 한 데이터를 저장하고 Sequel Ace로 확인하기

Hyungjun·2024년 5월 15일
0

알토르

목록 보기
5/23

Mission

  1. mysql 외부 remote 연결하기
  2. sequel ace에서 aws ip 입력하고 연결하기
  3. 기존에 로컬에 연결했던 것을 aws 서버 mysql에 연결하여 데이터 저장하기

배경지식

저번 시간에는 개인 컴퓨터에 mysql을 다운받아 sequel ace로 크롤링한 데이터 값이 잘 저장되어있는지 보는 시간을 가졌다.
https://velog.io/@aut7410/0%EC%A3%BC%EC%B0%A8-mysql

그래서 mysql은 이미 깔려있으니까 원격 연결 시켜야지~ 생각했다. 하지만 하다보니 잘 안되었는데 과제에 대한 전체적인 이해를 잘못하고 있었다.

-> 오해했던 부분의 답은... AWS EC2를 만들었으면 거기다가 데이터 베이스를 올려야 했던 것!!

실습

#1 : mysql 외부 remote(원격) 연결하기

  1. ssh를 이용해 ec2에 연결한다.
$ ssh jun
-> ubuntu@ip0-0-0-0~$ 가 뜨면 정상적으로 ec2에 연결된것
  1. mysql을 다운받는다. -> 즉, 내 컴퓨터에 깔려있던거 말고 AWS 서버컴퓨터에 새로운 mysql이 생기는 것
$ sudo apt update
$ sudo apt install mysql-server
$ mysql --version // 성공적으로 다운되었으면 버전이 뜸
  1. mysql에 로그인한다.
sudo mysql -u root -p
  1. root 비번 고친다.
uses mysql //mysql database 에서만 새로운 user을 만들 수 있으니 주의!
alter user 'root'@'localhost' identified with mysql_native_password by '비밀번호'; //root의 비번 변경
FLUSH PRIVILEGES;
exit
  1. 새로운 user를 만들고 권한을 부여한다 : localhost 뿐 아니라 외부연결도 허용하기 위해
$ CREATE USER 'test'@'%' IDENTIFIED BY '비밀번호';
$ GRANT ALL PRIVILEGES ON *.* TO test@'%';
  1. 외부 접속 허용을 위한 mysqld.cnf 파일 수정
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf


위 그림과 같이 bind-address를 0.0.0.0으로 고쳐준다. i를 눌리면 입력모드, 나올때는 esc를 누르고 :wq로 저장하며 닫기.
7. 서버 재시작

$ service mysql restart
mysql -u root -p

#2 : sequel ace에서 aws ip 입력하고 연결하기

  1. sequel Ace로 ec2에 있는 mysql을 연결하기

    *여기서 주의할점
    ec2 인스턴스안에 보안 그룹이 있다. 보안그룹은 ec2에 허가된 포트의 서비스만 요청받기 위해서 방화벽으로 막아두었다. 그래서 보안그룹에 가서 인바운드 규칙에 mysql 포트인 3306포트를 추가해주어야 외부인 sequel Ace에서 연결이 가능해진다.
  • 여기서 0.0.0.0 ip주소의 의미는 어떤 서버 주소에서도 다 연결이 되겠금 열겠다는 뜻이다.

#3 : 기존에 로컬에 연결했던 것을 aws 서버 mysql에 연결하여 데이터 저장하기

  1. 기존에 nba 팀의 순위와 승률을 크롤링했던 파이썬 코드에서 port 번호와 ec2의 ipv4 정보를 추가해주면 파이썬도 연결이 가능해진다.

  1. 파이썬으로 크롤링한 값이 ec2안의 mysql에 저장되고 그것을 sequel Ace로 시각화 해서 볼 수 있게 되었다. 끝!

출처
https://blog.jagaldol.com/development/remote-mysql/
https://woojin.tistory.com/37
https://inpa.tistory.com/entry/AWS-%F0%9F%93%9A-VPC-%EA%B0%9C%EB%85%90-%EC%82%AC%EC%9A%A9-%EB%B3%B4%EC%95%88-%EC%84%A4%EC%A0%95-Security-Group-NACL

profile
Cloud Security Expert

0개의 댓글