OCI MySQL 가이드-01.프로비저닝
OCI MySQL Database(이하 OMD)는 Oracle Cloud Infrastructure(이하 OCI)가 제공하는 완전 관리형 MySQL 서비스입니다. OMD는 MySQL 배포, 백업, 패치 등 관리 작업 자동화 및 OCI 최적화 구성을 제공합니다. 또한 이 서비스는 오라클 MySQL 팀의 엔터프라이즈 서포트를 포함합니다. 특히 OMD는 OLTP를 넘어 OLAP 확장을 위한 MySQL Extension(OCI MySQL ANALYTICS)이 포함돼있습니다.
이 문서에서 다루는 내용은 OCI Free Trial에서 실습 가능합니다.
이번 문서에서는 OCI MySQL Database 프로비저닝 과정을 소개합니다.
MySQL Database Service 기본 가이드
이번 문서는 OMD 기본 가이드 1편입니다. OMD 기본 가이드는 다음과 같이 구성됩니다.
- OCI MySQL 가이드-01.프로비저닝
- OCI MySQL 가이드-02.데이터베이스 접속: MySQL Shell & MySQL Client
- OCI MySQL 가이드-03: workbench 구성
- OCI MySQL 가이드-04: 데이터 로딩
OMD 프로비저닝 사전 준비
이번 튜토리얼은 OCI Free Trial 계정에서 진행됩니다. 다음과 같은 계정 및 자원을 사용합니다.
환경 유형 | 자원 | 역할 |
---|---|---|
OCI IAM 계정 | admin | 권한설정, Policy 지정 |
OCI IAM 계정 | developer01 | MySQL 프로비저닝 |
Compartment | demo | |
VCN | demovcn | MySQL 인스턴스 배포 VCN |
위 환경이 준비 안 된 상태라면 다음 문서를 참조하여 환경을 구성해야 합니다.
OCI MySQL Database 프로비저닝
OCI MySQL Database 프로비저닝 절차는 다음과 같습니다.
- OCI IAM Policy 구성
- VCN Security Rule 설정
- MySQL 인스턴스 생성
OCI IAM Policy 구성
OCI IAM 사용자 admin(OCI 관리자 계정)으로 OCI Console에 로그인하여 Policy를 구성합니다. MySQL Database를 프로비저닝할 컴파트먼트에 적용할 Policy 문 패턴은 다음과 같습니다.
Allow group <GROUP_NAME> to manage mysql-family in compartment <COMPARTMENT_NAME>
Allow service mysql to use all-resources in compartment <COMPARTMENT_NAME>
OCI Console에서 위 Policy를 생성하기 위해서 아래 메뉴 패스로 이동합니다.
- OCI 콘솔 왼쪽 위 햄버그 버튼 >> Identity >> Policies
MySQL Database를 생성할 IAM 사용자 ID는 developer01이고, 이 ID는 developers 그룹에 소속됩니다. 그리고 MySQL Database가 프로비저닝될 컴파트먼트는 demo입니다. 따라서 위 Policy 패턴은 다음과 같이 완성됩니다.
Allow group developers to manage mysql-family in compartment demo
Allow service mysql to use all-resources in compartment demo
Policy 관리 페이지에서 위 Policy 문으로 다음과 같은 Policy를 생성합니다.
OCI Network 보안 설정
OCI MySQL Database 인스턴스는 demovcn의 private subnet에 만들어집니다. demovcn의 public subnet의 VM이 접근할 수 있도록 Security List에 보안 규칙을 설정해야 합니다. 대상 포트는 3306과 33060입니다.
이 설정은 OCI Console에 developer01 계정으로 로그인 상태에서 진행합니다. 보안 규칙을 만들기 위해서 다음 메뉴 패스로 이동합니다.
- OCI 콘솔 왼쪽 위 햄버그 버튼 >> Networking >> Virtual Cloud Networks
Virtual Cloud Networks 관리 페이지에서 Compartment에 demo를 지정하고 demovcn 링크를 클릭합니다.
demovcn 상세 페이지에서 공용 서브넷(public subnet)의 CIDR Block을 확인하고 Security List를 클릭합니다.
전용 서브넷-demovcn의 보안 목록 링크를 클릭합니다.
Add Ingress Rules 버튼을 클릭하고 다음 항목을 보안 규칙 생성 폼에 설정합니다.
항목 | 설정값 | 설명 |
---|---|---|
Stateless | 체크하지 않음 | |
Source Type | CIDR | |
Source CIDR | 10.0.0.0/24 | public subnet의 CIDR Block |
IP Protocol | TCP | |
Source Port Range | All | |
Destination Port Range | 3306,33060 |
위 항목을 모두 설정하고 Add Ingress Rules 버튼을 클릭합니다.
OCI MySQL Database 인스턴스 생성
OCI MySQL Database 인스턴스 생성하기 위해서 OCI Console에 developer01 계정으로 로그인한 다음에 아래 메뉴 패스로 이동합니다.
- OCI 콘솔 왼쪽 위 햄버그 버튼 >> MySQL >> DB Systems
MySQL Database 관리 페이지에서 Create MySQL DB System버튼을 클릭합니다.
MySQL 인스턴스 생성은 3단계로 진행됩니다. 다음 화면은 1단계이며 빨간색은 별도 설정한 항목입니다. 데이터베이스 이름으로 mysql_demo_01을 설정하고, 사용할 컴파트먼트로 demo 를 지정합니다. 추가로 데이터베이스 사이즈와 관리 작업 스케줄을 설정합니다. AD, Fault Domain, Shape은 기본값을 사용했습니다. 필요에 따라 변경도 가능합니다. 설정을 마쳤으면 Next버튼을 클릭합니다.
설정 항목 | 설정 값 | 비고 |
---|---|---|
Name | mysql_demo_01 | |
Description | demo mysql instance | |
Compartment | demo | |
Data Storage Size | 100 | 단위 GB |
Maintenance Window Start Time | Sunday 05:45 | 선택적 설정 항목 |
2단계에서 관리자 명, 패스워드를 설정합니다. 네트워크 설정에서 앞에서 만든 demovcn을 선택합니다. subnet의 경우 private 서브넷(전용 서브넷) 타입을 지정합니다. 공개 IP(Public IP)가 할당되는 Public 서브넷을 사용하면 안 됩니다.
OCI MySQL Database 인스턴스는 Private Subnet에 생성되도록 강제합니다. 보안 측면을 고려하여 Public Subnet 사용을 금지하고 있습니다.
MySQL 포트는 기본 설정 값인 3306과 33060을 사용했습니다.
백업 설정을 완료하고 Create 버튼을 클릭합니다.
MySQL Database 인스턴스 생성에 약 10분 정도 걸립니다. 인스턴스가 생성되면 다음과 같은 페이지가 출력됩니다. MySQL 인스턴스 상세 페이지에서 인스턴스 시작, 종료, 재시작, 삭제, 백업 설정, 클러스터 구성 설정을 할 수 있습니다.
MySQL 인스턴스 상세 페이지에서 데이터베이스 메트릭 정보를 확인할 수 있습니다. 제공하는 메트릭 정보는 다음과 같습니다.
- Current Connections
- Active Connections
- Statement Count
- Statement Latency
- CPU Utilization
- Memory Utilization
- Disk Read Operations
- Disk Write Operations
- Disk Read Bytes
- Disk Write Bytes
MySQL 인스턴스 상세 페이지에서 아래 그림과 같이 Backup을 클릭하면 인스턴스 백업 목록이 출력됩니다. 이 백업 목록으로 새로운 MySQL 인스턴스를 생성할 수 있습니다.
요약 & Next..
MySQL Databas 인스턴스를 프로비저닝하기 위해서 보안 설정, 포트 오픈 설정 및 인스턴스 생성 절차를 살펴봤습니다.
다음 문서에서는 demovcn의 Public Subnet에 Bastion VM을 만들고 MySQL Database에 접속하는 과정을 알아보겠습니다. Bastion 서버에 MySQL Client와 MySQL Shell을 설치하고 데이터베이스에 접속하는 과정을 소개합니다.