개요
[Python] Flask 리눅스 서버 구동(1) AWS EC2 인스턴스 생성
[Python] Flask 리눅스 서버 구동(2) 웹 서버 환경 구현
위 게시글을 통해 우분투 환경의 AWS EC2 인스턴스를 생성했다.
리눅스 환경에서 Flask 서버 구현을 위해 필요한 패키지를 설치했고 실제 구동 테스트 까지 하였다.
현재 MySQL서버는 로컬 환경에서만 동작하므로 이제 DB관련 설정을 변경해 주어야 한다.
이는 굉장히 쉽다! 그저 딸깍으로 구현할 수 있다.
bind-address
우선 MySQL 워크벤치로 들어가 준다.
Local instance MySQL80으로 이동한다.
좌측 Navigator의 Options File탭에 들어가 준다.
Networking탭으로 이동 후 하단의 General을 확인한다.
bind-address부분이 * 혹은 0.0.0.0으로 되어있는지 체크한다.
만약 127.0.0.1로 되어 있다면 로컬 환경에서만 인바운드가 가능한 상태이다.
*혹은 0.0.0.0로 변경해 주면 해당 DB서버에 타 IP가 접근할 수 있게 된다.
사용자 추가
리눅스 환경에서의 Flask 웹 서버가 DB에 접근할 수 있도록 사용자를 추가해 준다.
CREATE USER 'flaskuser'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON exampledb.* TO 'flaskuser'@'%';
FLUSH PRIVILEGES;
'%'가 의미하는 것은 모든 IP를 허용한다는 것이다.
따라서 현재는 토이 프로젝트를 진행하는 것이지만, 특정 IP만 해당 유저를 사용할 수 있게 만들 수 있다.
AWS EC2 의 퍼블릭 IP를 해당 위치에 삽입하게 되면 해당 IP만 flaskuser를 사용할 수 있다.
이후 GRANT ALL PRIVILEGES를 통해 exampledb의 모든 테이블에 모든 권한을 부여한다.
이제 로컬 환경이 아닌 다른 IP로 부터의 DB접근이 가능해졌다.
하지만, 로컬 환경에서 MySQL Server를 사용하는 것이므로, 로컬 컴퓨터에서 해당 앱이 켜져있어야 한다.
그게 아닐 경우 AWS, Docker등을 통해 DB서버를 구동하여 항상 SQL 서버가 켜져 있도록 관리해야 한다.
config.py 수정
Flask 웹 서버는 더 이상 로컬 환경에서 구동하고 있지 않다.
따라서 로컬환경의 MySQL 서버에 접근하기 위해선 나의 IP주소를 명시해 주어야 한다.
먼저 로컬 PC의 IP주소를 얻어온다.
curl ifconfig.me
해당 명령어를 통해 나온 IP주소를 복사하고, 리눅스 환경의 config.py 파일을 수정해준다.
여기에 입력! 이라고 되어 있는 곳에 본인의 IP를 입력한다.
이제 AWS환경에서 로컬 환경의 MySQL 서버로 접근할 준비가 끝났다.
'웹(WEB) > 파이썬(Python)' 카테고리의 다른 글
[Python] Flask 리눅스 서버 구동(4) 클라이언트 설정 (0) | 2025.01.02 |
---|---|
[Python] Flask 리눅스 서버 구동(2) 웹 서버 환경 구현 (1) | 2025.01.02 |
[Python] Flask 리눅스 서버 구동(1) AWS EC2 인스턴스 생성 (0) | 2025.01.02 |
[Python] Flask 클라이언트 PUT, DELETE 요청 처리 (0) | 2025.01.02 |
[Python] Flask 클라이언트 POST 요청 처리 (0) | 2025.01.02 |