AWS EC2 mariadb download

devty·2023년 6월 8일
1

DevOps

목록 보기
5/11
post-thumbnail

사용하게 된 계기

  • 기존 docker를 사용하여 springboot를 띄웠던 테스트가 있었는데 그 땐 docker로 띄우기 위한 목적성이 강하여 ec2 서버에 db를 붙이지 않고 해서 잘 되었다.

  • 근데 우리 프로젝트를 docker로 실행했는데 도커 실행이 되자마자 끝나는 것이였다.

  • 그래서 무엇이 문제인지 고민하다 docker를 실행한 log를 확인해보니 db에 접속이 안 되는 문제가 발생한 것이다.

  • 왜 이런 문제가 났는지 생각해보니 지금 존재하는 yml파일에 db 설정은 localhost로 되어 있어서 그런 것 같았다.

    • 알고보니 그런 문제가 아니고 EC2 서버에 db가 존재하지 않아서 문제였다,,,ec2 서버에서도 db가 존재하고 거기서 연다고 하면 EC2 서버 자체가 localhost가 되니 상관이 없었다,,,
  • 그래서 ec2 서버에 db를 설치하고 ip를 설정해서 연결해줄 것이다.

AWS EC2에 DB 적용하는 2가지 방법

  1. AWS RDS를 사용하여 설치하는 방법
    • 장점으로는 관리성이 용이, 자동 소프트웨어 패치, 탁월한 확장성, 높은 가용성 및 내구성, 뛰어난 보안성 등이 존재하고 있다.
      → 블로그 참조
  2. AWS EC2 서버 자체에 설치하는 방법
    • 장점으로는 EC2 서버 자체에 설치하여 DB가 어떤 아키텍처를 가지고 동작하는 지 확인이 가능하다. 그리고 처음에는 툴을 사용하는 것 보단 직접 설치도 연결도 다 경험해보는 것이 좋다고 한다.
      → 회사 매니저님 피셜
  • 따라서 나는 2번째 방법인 WS EC2 서버 자체에 설치하기로 하였다.
  • 하지만 1번을 안 하겠다는 건 아니다. 나중에 우리 프로젝트의 Scale up or V 2.0 등 크게 바꿔야 할 사항이 온다면 RDS를 사용해 보도록 하겠다.

AWS EC2 자체에 DB 설치

  1. sudo -su 명령어를 입력하여 root 권한에서 진행한다.

  2. AMI Linux를 프리티어로 이용중이기 때문에 설치 명령어로 yum을 이용했다.

    sudo yum install mariadb-server
  3. sudo 권한으로 mariadb를 실행한다.

    sudo systemctl start mariadb
  4. mariadb를 시킨다.

    mysql -u root -p
    • 실행하게 되면 비밀번호를 입력하라는 곳이 나오는데 초기 설치 후엔 비밀번호가 존재하지 않으므로 enter 후 넘어가면 접속이 완료된다.
  1. 데이터 베이스를 만들어야 하므로 create 명령어를 입력한다.

    CREATE DATABASE mkc;
    • 위 명령어를 입력하고 show databases; 를 입력하게 되면 존재하는 database를 띄어준다.

      • 우리가 만든 mkc가 존재하는 것으로 보여진다.
  2. 이제 접속하기 위해서는 AWS EC2 보안설정이 필요하다.

  3. 해당 EC2에 보안 그룹 → 인바운드 규칙 편집에 접속한다.

  4. 규칙 추가 버튼을 누르고 mariadb를 추가해준다.

    • 유형 → MYSQL/Aurora
    • 포트 범위 → 3306
    • 소스 → 전체 허용(0.0.0.0/0)
    • 설명 → 나중에 왜 이걸 사용했는지 표시해두기 위해 mariadb로 둠 (선택사항)
  5. 이제 db tool에서 접속이 가능한지 확인해보자.

  6. db tool로는 Dbeaver를 사용했고 connection settings은 밑과 같이 하였다.

    • Server Host → EC2의 퍼블릭 IPv4 주소
    • Port → mariadb 기본 포트인 3306
    • Username → root
    • Password → 위에선 따로 안 올렸지만 나는 따로 설정을 하여 비밀번호를 입력하였다. 따로 설정하지 않았으면 공백으로 넘어가도 된다.
  7. 이로서 접속이 완료가 되었다.

profile
지나가는 개발자

0개의 댓글