사용하게 된 계기
- 기존 docker를 사용하여 springboot를 띄웠던 테스트가 있었는데 그 땐 docker로 띄우기 위한 목적성이 강하여 ec2 서버에 db를 붙이지 않고 해서 잘 되었다.
왜 이런 문제가 났는지 생각해보니 지금 존재하는 yml파일에 db 설정은 localhost로 되어 있어서 그런 것 같았다.- 알고보니 그런 문제가 아니고 EC2 서버에 db가 존재하지 않아서 문제였다,,,ec2 서버에서도 db가 존재하고 거기서 연다고 하면 EC2 서버 자체가 localhost가 되니 상관이 없었다,,,
- 그래서 ec2 서버에 db를 설치하고 ip를 설정해서 연결해줄 것이다.
AWS EC2에 DB 적용하는 2가지 방법
- AWS RDS를 사용하여 설치하는 방법
- 장점으로는 관리성이 용이, 자동 소프트웨어 패치, 탁월한 확장성, 높은 가용성 및 내구성, 뛰어난 보안성 등이 존재하고 있다. → 블로그 참조
- AWS EC2 서버 자체에 설치하는 방법
- 장점으로는 EC2 서버 자체에 설치하여 DB가 어떤 아키텍처를 가지고 동작하는 지 확인이 가능하다. 그리고 처음에는 툴을 사용하는 것 보단 직접 설치도 연결도 다 경험해보는 것이 좋다고 한다. → 회사 매니저님 피셜
- 따라서 나는 2번째 방법인 WS EC2 서버 자체에 설치하기로 하였다.
- 하지만 1번을 안 하겠다는 건 아니다. 나중에 우리 프로젝트의 Scale up or V 2.0 등 크게 바꿔야 할 사항이 온다면 RDS를 사용해 보도록 하겠다.
AWS EC2 자체에 DB 설치
- sudo -su 명령어를 입력하여 root 권한에서 진행한다.
- sudo 권한으로 mariadb를 실행한다.
sudo systemctl start mariadb
- mariadb를 시킨다.
mysql -u root -p
- 데이터 베이스를 만들어야 하므로 create 명령어를 입력한다.
CREATE DATABASE mkc;
- 이제 접속하기 위해서는 AWS EC2 보안설정이 필요하다.
- 해당 EC2에 보안 그룹 → 인바운드 규칙 편집에 접속한다.
- 규칙 추가 버튼을 누르고 mariadb를 추가해준다.
- 유형 → MYSQL/Aurora
- 포트 범위 → 3306
- 소스 → 전체 허용(0.0.0.0/0)
- 설명 → 나중에 왜 이걸 사용했는지 표시해두기 위해 mariadb로 둠 (선택사항)
- 이제 db tool에서 접속이 가능한지 확인해보자.
- db tool로는 Dbeaver를 사용했고 connection settings은 밑과 같이 하였다.
- Server Host → EC2의 퍼블릭 IPv4 주소
- Port → mariadb 기본 포트인 3306
- Username → root
- Password → 위에선 따로 안 올렸지만 나는 따로 설정을 하여 비밀번호를 입력하였다. 따로 설정하지 않았으면 공백으로 넘어가도 된다.
Uploaded by N2T
'DevOps' 카테고리의 다른 글
AWS CM, ELB, Nginx use HTTPS server building (0) | 2023.01.25 |
---|---|
__AWS Route 53 DNS and EC2 linkage__ (0) | 2023.01.25 |
SpringBoot __& Docker & DockerHub & EC2 & GitHub & JenkinsCI/CD__ (0) | 2023.01.25 |
Jenkins CI/CD with Github (2) | 2023.01.25 |
Docker AWS EC2 deploy (0) | 2023.01.25 |