본문 바로가기

프로젝트 설정/AWS|GCP

[GCP/DB] GCP Cloud SQL - DB Server 생성하기 (feat. mysql)

반응형

1. 인스턴스 만들기

https://console.cloud.google.com/sql/instances

1. 인스턴스 만들기 클릭

2. database 선택

3.인스턴스 생성

3-1. 인스턴스 이름 설정

소문자, 숫자, 하이픈을 사용하세요. 영문자로 시작해야 합니다.

3-2. database root 사용자 비밀번호

- 옵션 1 : 비밀번호 없음

- 옵션 2 : 비밀번호 정책

3-3. 데이터 베이스 버전 선택

Cloud SQL 버전에 따라서 선택할 수 있는 버전이 다르다

Cloud SQL 버전 Enterpise Plus는 8.0만 선택 가능하다.

옵션 : 마이너 버전 선택

3-4. Cloud SQL 버전 선택

  • Enterpise Plus, Enterprise
  • 프로덕션, 개발,  샌드박스

프로덕션 기준 Enterpise와 Plus의 가격차이가 대략 2배정도 차이가 난다.

서비스 규모와 지갑 사정을 생각하여 선택하도록 하자.

공부 등을 위해서라면 enterprise - 개발 or 샌드박스를 추천한다.

 

버전 사전설정 비교를 통하여 사양 및 서비스 비교가 가능하니 참고하자

 

https://cloud.google.com/sql/docs/editions-intro?hl=ko

 

  • Cloud SQL Enterprise 버전: Cloud SQL의 모든 핵심 기능을 제공하며 성능, 가용성, 비용의 균형을 요구하는 애플리케이션에 적합합니다.
  • Cloud SQL Enterprise Plus 버전: Cloud SQL Enterprise 버전 기능은 물론 가장 높은 수준의 가용성 및 성능이 필요한 애플리케이션을 실행하기 위한 최고의 성능과 가용성을 제공합니다.

3-5. 리전 및 영역 가용성 선택

  • 리전 : 실질적으로 database 서버가 설치되어있는 위치라고 생각하면 쉽다.
  • 가용성 : 장애가 생겼을 때 서브로 돌아가는 서버를 운영할것인가라고 생각하면 쉬울것 같다.
    • 가용성은 서버를 하나 더 운영하는거라고 생각하면 되어 영역이 늘어날수록 가격도 x서버수 된다고 생각하면 된다.

3-6. 인스턴스 맞춤설정

  • 3-6-1. 머신 구성
    • 전용 코어, 공유 코어
    • cpu 갯수 선택
  • 3-6-2. 저장용량
    • SSD, HDD
    • 저장용량
    • 저장용량 자동 증가 사용 설정
    • 고급 암호화 옵션
  • 3-6-3. 연결
    • https://cloud.google.com/sql/docs/mysql/connect-overview?hl=ko 
    • 비공개 IP, 공개 IP
    • 우리집에서 database에 접근하고 싶다. (heidisql, dbeaver 등 tool을 이용해서 접근) > 공개 IP
    • google cloud 내부 서비스를 이용한 접근 > 비공개 IP
      • gcp내 서비스 (cloud VPN, Bastion Host) 등을 사용하고, 여러 설정을 하면 비공개 IP로도 접근이 가능하나 많은 설정이 필요하다.
  • 3-6-4. 데이터 보호
    • 자동 백업 및 point-in-time recovery 최소 비용으로 데이터가 손실되지 않도록 보호해 보세요.
    • 스토리지에서 보관 중인 자동 백업 및 로그 보관 일수를 지원할 수 있는지 확인하세요.
    • 백업일수, 시간, 로그일수
    • 삭제 보호 사용 설정
  • 3-6-5. 유지보수
    • 관리형 서비스인 Cloud SQL은 기본 하드웨어, 운영체제, 데이터베이스 엔진의 안정성, 성능, 보안, 최신 업데이트 상태를 보장하기 위해 인스턴스를 자동으로 업데이트합니다. 이러한 업데이트 대부분은 Cloud SQL 인스턴스가 실행되는 동안 수행됩니다. 그러나 특정 시스템 업데이트를 수행하려면 짧은 서비스 중단이 필요합니다. 이러한 업데이트를 유지보수라고 합니다.
  • ★3-6-6. 플래그 ★
    • 데이터베이스 플래그는 MySQL 매개변수 조정, 옵션 조정, 인스턴스 구성 및 조정을 포함한 여러 작업에 사용합니다.
    • 예를 들어 로그 onoff, 캐릭터셋 등 여기서 설정합니다.
    • https://cloud.google.com/sql/docs/mysql/flags


  • 3-6-7. 쿼리 통계
  • 3-6-8. 라벨

완료하면 생성 완료

 

  • 서울 리전 기준 버전별 가격 (2024.06.12)
더보기

리전 서울 기준 Enterprise Plus 가격


리전 서울 기준 Enterprise 가격

 

 

2. 사용자 생성

조금 시간이 지나면 인스턴스가 생성되는데 Cloud SQL Studio에서 바로 접속 가능하다

하지만 기본적으로 생성되어있는 root@%으로는 접속 할 수 없어 사용자를 생성해주어야 한다.

Cloud SQL > 사용자

1. 사용자 계정 추가 클릭

2. 인증방식 선택

인증방식은 기본제공되는 인증과 Cloud IAM(이메일에 접근 권한 제공)이 있는데 그냥 툴을 이용해서 접속하고자 하는 경우 기본 제공되는 인증으로 진행한다.

  • 기본 제공되는 인증

3. 접속 확인

이제 다시 cloud sql studio에 가면 계정이 만들어져 있는것을 확인할 수 있다.

접속이 되는지 확인하자.

들어가면 기본적인 database 스키마들만 보인다.

gui로 database를 만들거나 조회하거나 수정 등이 가능하다.

4. 외부접속해보기

gcp에서 제공해주는 gui가 잘 되어있지만 툴을 사용하고 싶다면 외부접속을 뚫어야한다.

사용자 접속 ip 확인

아까 사용자 만들때 호스트 이름을 %이나 ip주소를 잘 써놨어야한다.

안되었다면 사용자 메뉴가서 사용자 계정을 다시 추가하도록 하자.

접속가능한 네트워크ip 추가

그리고 바로 될줄 알았는데 안된다 아까봐놓고 까먹었다.

공개ip인 경우 승인한 ip만 접속이 가능하다고 한다. 아까 연결의 네트워킹 탭에서 네트워크를 추가해주자.

본인 ip 확인하기

본인 ip를 모를 경우 인터넷에서 본인 ip 확인하기 또는 cmd 창에서 ipconfig하면 나온다.

그런데 공유기나 그런걸로 설정이 되었을 경우 아래처럼 나와서 확인이 불가능하다.

그럴땐 cmd나 powershell에 아래 명령어를 치면 나온다.

curl ifconfig.me

추가하면 이렇게 나오고 아직 저장되지 않았다고 뜬다.

적용끝나면 이 안내문자와 저장되지않았다는 설명도 없어진다.

접속 ip확인

개요 > 이 인스턴스에 연결 > 공개 ip주소 또는 연결 > 요약 > 네트워킹 > 공개ip연결 > 공개 ip주소 에서 ip를 확인한다.

접속하기

이제 확인한 ip로 접속해보자.ㅇㅇ

잘된다!

반응형