DevOps

[Oracle] Oracle Cloud MySQL HeatWave Always Free로 무료 MySQL DB 만들기

랑 이 2026. 6. 17. 19:57
반응형

개인 프로젝트를 운영하다 보면 MySQL 데이터베이스를 주로 사용하게 되는데요 

AWS의 RDS를 사용했지만 프리티어가 끝나서 최근 Oracle로 클라우드를 옮기고 있습니다

 

기존에 AWS의 RDS에서 Oracle의 MySQL HeatWave으로 이전하는 작업을 통해 Oracle에서는 DB를 어떻게 구성하는지 정리하려고 합니다

MySQL HeatWave란?

Oracle Cloud의 MySQL HeatWave는 Oracle에서 제공하는 완전 관리형 MySQL 데이터베이스 서비스입니다

직접 서버에 MySQL을 설치하고 관리하는 방식이 아니라 클라우드에서 DB 인스턴스를 생성하면 Oracle이 데이터베이스 운영에 필요한 인프라를 관리해 주는 방식입니다

 

AWS의 RDS와 비슷한 역할을 하는 서비스라고 볼 수 있습니다

Oracle Cloud MySQL HeatWave Always Free

 

Always Free Resources

200 GB total of combined boot volume and block volume Always Free Block Volume storage in the home region. Five total volume backups (boot volume and block volume combined) in home region. When you create a compute instance, the default boot volume size fo

docs.oracle.com

Oracle 공식 문서 기준으로 프리티어 계정은 홈 리전에 독립형 MySQL HeatWave DB 시스템 1개, 50GB 스토리지, 50GB 백업 스토리지를 제공합니다

Oracle MySQL HeatWave와 AWS RDS 비교

항목 Oracle MySQL HeatWave Always Free AWS RDS for MySQL
서비스 형태 관리형 MySQL DB 관리형 MySQL DB
무료 정책 Always Free 리소스 제공 신규 계정 Free Tier 및 크레딧 기반
무료 사용 기간 조건 내에서 지속 사용 가능 계정/정책에 따라 제한 존재
스토리지 50GB 제공 RDS MySQL Free Tier는 조건에 따라 무료 사용 가능
백업 스토리지 50GB 제공 Free Tier/크레딧 범위 내 사용
접근 방식 기본적으로 VCN 내부 private endpoint 중심 퍼블릭 접근 설정 가능
사용 난이도 네트워크 설정 이해 필요 상대적으로 자료가 많고 접근 쉬움
장점 장기 무료 DB로 활용하기 좋음 AWS 생태계와 연동이 편함
단점 외부 접속 구성이 다소 번거로움 무료 기간 이후 비용 발생 가능

1. MySQL HeatWave DB 시스템 생성하기

먼저 Oracle Cloud 콘솔에 접속한 뒤 왼쪽 메뉴에서 다음 경로로 이동합니다

데이터베이스 → MySQL HeatWave → 개요

MySQL HeatWave 시작 화면에서 DB 시스템 생성 버튼을 클릭합니다

DB 시스템 생성 화면에 접속하면 템플릿을 선택해야 합니다

무료로 사용할 목적이라면 반드시 상시 무료를 템플릿을 선택해야 합니다

상시 무료 템플릿은 독립형 DB 시스템으로 생성되며, 고가용성이나 HeatWave 클러스터 노드 구성은 제한됩니다
개인 프로젝트, 테스트 서버, 포트폴리오용 서비스 DB로 사용하기에는 충분한 구성이지만 대규모 트래픽이 발생하는 운영 서비스에는 적합하지 않을 수 있습니다

다음으로 MySQL 관리자 계정을 생성합니다

  • 사용자 이름 
  • 비밀번호
  • 비밀번호 확인

입력한 계정은 나중에 MySQL에 접속할 때 사용하는 관리자 계정으로 정확히 입력해줘야 합니다

관리자 계정 설정 아래쪽에 DB 시스템 설정은 무료 템플릿에서는 독립형 템플릿만 지원하고 있습니다

Oracle Cloud의 MySQL HeatWave DB 시스템은 기본적으로 프라이빗 IP 주소를 사용합니다

인터넷에서 바로 DB에 접속하는 구조가 아닌 Oracle Cloud 내부의 VCN(Virtual Cloud Network)서브넷에 연결되는 방식입니다

 

쉽게 말하면 클라우드 내부에서 서버, 데이터베이스, 로드밸런서 같은 리소스들이 서로 통신할 수 있도록 만들어주는 가상의 네트워크 공간입니다

 

인스턴스를 생성할 때 같이 만들었던 VCN을 선택합니다

기본적으로 MySQL HeatWave DB 시스템은 private IP를 사용하기 때문에 로컬 PC에서 바로 접속하기 어렵습니다
로컬 PC에서 접속하려면 보통 다음 방법 중 하나를 사용합니다

1. Oracle Cloud Compute 인스턴스에 SSH 접속 후 mysql 명령어로 접속
2. SSH 터널링을 사용해서 로컬 MySQL Workbench에서 접속

Oracle 공식 블로그에서도 HeatWave MySQL DB 시스템에 안전하게 접속하기 위해 Compute 인스턴스를 jump host처럼 사용하는 SSH 터널링 방식을 설명하고 있습니다

Oracle MySQL HeatWave DB 시스템은 기본적으로 private IP를 사용하기 때문에 인터넷에서 직접 접근할 수 없습니다


따라서 로컬 PC의 MySQL Workbench에서 접속하려면 같은 VCN 안에 있는 Oracle Cloud Compute 인스턴스를 경유해서 접속해야 합니다

 

MySQL Workbench SSH 터널링 접속방법

 

[CI/CD] GitHub Actions와 Docker로 AWS EC2서버 CI/CD 구축 (우분투 서버 세팅 및 RDS 연결)

이전 포스팅에서 CI/CD 구축을 위해서 AWS 프리티어 EC2 서버를 만들어서 SSH로 접속까지 진행했습니다 이번에는 EC2 서버에 필요한 세팅과 RDS를 만들어서 인스턴스와 연동해 보겠습니다 CI/CD 배포

white63ser.tistory.com

 

하드웨어 구성에서 HeatWave 클러스터 사용 옵션은 무료로 사용할 경우 옵션은 비활성화 하고 진행합니다

일반적인 프로젝트 환경의 MySQL DB를 사용할 목적이면 기본 시스템만 사용해도 충분합니다

구성 선택 화면에서는 MySQL DB의 사양을 확인 할 수 있습니다 상시 무료 적격이 있는지 확인해 줍니다

생각보다 DB 사양은 괜찮은 것으로 보입니다 개인 프로젝트에서는 충분히 사용 가능할 것 같네요

다음으로 스토리지 크기와 백업 계획 구성입니다 

스토리지 크기는 기본적으로 50GB로 설정됩니다 자동 스토리지 확장은 비활성화되어 있어 그대로 진행합니다

백업 계획 구성 또한 상시 무료는 비활성화 되어 해당 서비스는 사용 불가한 것으로 보입니다

암호화 키 관리에서는 기본적으로 오라클 관리 키를 사용하여 암호화를 선택하면 됩니다

직접 OCI Vault를 사용해서 고객 관리 키를 구성할 수도 있지만 개인 프로젝트나 학습 목적에서는 기본 오라클 관리 키를 사용하는 것이 가장 간단해 보입니다

접속 설정에서는 DB 시스템의 기본 끝점을 설정합니다

일반적인 MySQL 접속은 3306 포트를 사용합니다 하지만 네트워킹 구성을 완료했기 때문에 생략하겠습니다

일반적인 서비스 DB로 사용할 것이므로 읽기/쓰기를 선택합니다

 

읽기/쓰기 모드는 SELECT뿐만 아니라 INSERT, UPDATE, DELETE 같은 쓰기 작업도 가능합니다

Spring Boot 애플리케이션에서 JPA를 통해 데이터를 저장하고 수정하려면 반드시 읽기/쓰기 모드로 설정해야 합니다

마지막으로 리소스 할당 정보를 확인합니다

여기서 상시 무료 표시가 붙어 있는지 반드시 확인해야 합니다

 

이 설정이 맞다면 DB 시스템을 생성

생성 후 MySQL 접속하기

MySQL HeatWave DB 시스템은 기본적으로 프라이빗 IP를 사용하기 때문에 접속 방식은 크게 두 가지로 나눌 수 있습니다

  • 같은 VCN에 위치한 Oracle Cloud Compute 인스턴스 터미널에서 MySQL 서버에 접속하는 방법
  • 로컬 PC의 MySQL Workbench에서 SSH 터널링을 통해 접속하는 방법

같은 VCN에 위치한 Compute 인스턴스에서는 MySQL HeatWave의 프라이빗 IP로 바로 접근할 수 있습니다

따라서 인스턴스에 SSH로 접속한 뒤 터미널에서 MySQL 클라이언트를 실행하고, DB 생성 시 설정한 사용자 계정과 비밀번호를 입력하면 MySQL 서버에 접속할 수 있습니다

 

반면 로컬 PC에서는 MySQL HeatWave의 프라이빗 IP에 직접 접근할 수 없기 때문에 MySQL Workbench의 Standard TCP/IP over SSH 방식을 사용합니다.

이 방식은 먼저 Oracle Cloud Compute 인스턴스에 SSH 키로 접속한 뒤 해당 인스턴스를 경유하여 내부 네트워크에 있는 MySQL HeatWave DB로 연결하는 방식입니다.

반응형