이 페이지에서는 데이터베이스 서비스를 사용하여 Google Distributed Cloud (GDC) 에어갭에서 데이터베이스를 만들고 관리하는 방법을 설명합니다.
승인 및 역할
사용자는 데이터베이스 서비스에 액세스할 수 있는 권한이 있어야 합니다. GDC 콘솔과 Distributed Cloud CLI를 모두 사용하여 데이터베이스 서비스에 액세스하려면 승인이 필요합니다.
다음 역할은 사용자에게 권한을 부여합니다.
project-viewer
- 이 역할이 있는 사용자는 GDC 콘솔에 액세스할 수 있습니다.
project-db-viewer
- 이 역할이 있는 사용자는 데이터베이스 클러스터를 볼 수 있습니다.
project-db-editor
- 이 역할을 가진 사용자는
project-db-viewer
에서 부여된 기능을 사용할 수 있으며 데이터베이스 클러스터를 수정할 수도 있습니다. project-db-admin
- 이 역할을 가진 사용자는
project-db-editor
에서 부여된 기능을 사용할 수 있으며 데이터베이스 클러스터를 만들고 삭제할 수도 있습니다. project-bucket-object-viewer
- 이 역할이 있는 사용자는 GDC 콘솔의 데이터베이스 서비스 인터페이스에서 스토리지 브라우저를 사용할 수 있습니다. 이 인터페이스는 데이터베이스 가져오기용 파일을 지정하고 데이터베이스 내보내기로 생성된 파일의 대상을 지정하는 데 사용됩니다.
project-monitoring-viewer
- 이 역할을 가진 사용자는 모니터링 인스턴스에 액세스할 수 있습니다. 데이터베이스 서비스 측정항목 관찰에 대한 자세한 내용은 측정항목 관찰을 참고하세요. 모니터링 인스턴스에 액세스해야 하는 사용자에게만 이 역할을 부여해야 합니다.
project_mp_admin
- 이 역할이 있는 사용자는
project_mp_editor
및project_mpb_editor
역할이 부여하는 기능을 모두 보유하므로 유지관리 정책과 유지관리 정책 바인딩을 모두 만들고 수정하고 삭제할 수 있습니다. project_mp_viewer
- 이 역할을 가진 사용자는 유지관리 정책을 볼 수 있습니다.
project_mp_editor
- 이 역할이 있는 사용자는
project_mp_viewer
역할에서 부여하는 기능을 사용할 수 있으며 유지관리 정책을 만들고, 수정하고, 삭제할 수도 있습니다. project_mpb_viewer
- 이 역할을 가진 사용자는 유지관리 정책 바인딩을 볼 수 있습니다.
project_mpb_editor
- 이 역할을 가진 사용자는
project_mpb_viewer
역할에서 부여하는 기능을 가지며 유지관리 정책 바인딩을 만들고, 수정하고, 삭제할 수도 있습니다.
사용 가능한 데이터베이스 엔진
GDC 환경에서 사용할 수 있는 데이터베이스 엔진은 다음과 같습니다.
데이터베이스 | 버전 |
---|---|
AlloyDB Omni | 15 |
Oracle | 19 |
PostgreSQL | 13, 14, 15 |
데이터베이스 엔진 유형을 선택하고 데이터베이스 클러스터 만들기
데이터베이스 클러스터의 백업을 사용 설정하려면 먼저 분산 Cloud Storage 버킷 또는 S3 호환 엔드포인트로 액세스할 수 있는 버킷을 만든 다음 dbs-backup-repository
라는 백업 저장소를 만드세요. Distributed Cloud 외부의 스토리지 버킷을 사용하는 경우 버킷이 적절하게 암호화되었는지 확인해야 합니다.
다음은 데이터베이스 서비스 백업을 위해 생성된 샘플 BackupRepository
커스텀 리소스입니다.
apiVersion: backup.gdc.goog/v1
kind: BackupRepository
metadata:
name: dbs-backup-repository
spec:
secretReference:
namespace: "object-storage-secret-ns"
name: "object-storage-secret"
endpoint: "https://objectstorage.google.gdch.test"
type: S3
s3Options:
bucket: "fully-qualified-bucket-name"
region: "us-east-1"
forcePathStyle: true
importPolicy: ReadWrite
프로젝트 DB 관리자 역할이 있는 사용자가 다음 단계를 수행해야 합니다. GDC 콘솔 또는 Distributed Cloud CLI를 사용하여 데이터베이스 클러스터를 만듭니다.
콘솔
- 기본 메뉴에서 데이터베이스 서비스를 선택합니다.
- 데이터베이스 클러스터 만들기를 클릭합니다.
데이터베이스 엔진 선택 대화상자에서 데이터베이스 엔진을 선택합니다.
클러스터 구성 대화상자에서 클러스터 ID, 비밀번호, 데이터베이스 버전을 지정합니다. 백업을 사용 설정하고 백업 보관 기간을 구성할 수 있습니다.
PostgreSQL 데이터베이스 엔진을 선택한 경우 데이터베이스 클러스터의 고가용성을 사용 설정할 수 있습니다. 사용 설정된 경우 데이터베이스 서비스는 장애를 방지하기 위해 기본 인스턴스와 동일한 영역에 대기 인스턴스를 프로비저닝합니다. 자세한 내용은 고가용성을 참고하세요.
기본 인스턴스 구성 대화상자에서 데이터베이스 클러스터의 기본 인스턴스의 CPU, 메모리, 스토리지 용량을 지정합니다. 가장 큰 테이블을 보관할 만큼 충분한 메모리를 선택하는 것이 좋습니다.
만들기를 클릭합니다. 데이터베이스 클러스터를 만드는 데 몇 분 정도 걸릴 수 있습니다. 클러스터 개요 페이지에서 클러스터의 상태를 확인합니다. 클러스터가 준비되면 상태가 생성 중에서 준비됨으로 변경됩니다.
gdcloud
Distributed Cloud CLI를 사용하기 전에 설치하고 초기화하세요. 그런 다음 조직으로 인증합니다.
다음 명령어를 실행하여 데이터베이스 클러스터를 만듭니다.
gdcloud database clusters create CLUSTER_NAME \ --database-version DB_VERSION \ --admin-password ADMIN_PASSWORD
다음 변수를 바꿉니다.
CLUSTER_NAME
을 새 클러스터 이름으로 바꿉니다.DB_VERSION
을 새 클러스터의 버전 문자열로 바꿉니다. 예를 들면POSTGRESQL_13
,ORACLE_19_ENTERPRISE
,ALLOYDBOMNI_15
입니다.ADMIN_PASSWORD
를 새 클러스터의 관리자 비밀번호로 바꿉니다.
데이터베이스 클러스터의 CPU, 메모리, 스토리지 리소스 구성, 백업 구성, 고가용성 사용 설정, 기타 사용 가능한 옵션에 대한 자세한 내용은 다음을 실행하세요.
gdcloud database clusters create --help
API
AlloyDB 또는 PostgreSQL 데이터베이스의 경우:
apiVersion: v1
kind: Secret
metadata:
name: db-pw-DBCLUSTER_NAME
namespace: USER_PROJECT
type: Opaque
data:
DBCLUSTER_NAME: "BASE64_PASSWORD"
---
apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1
kind: DBCluster
metadata:
name: DBCLUSTER_NAME
namespace: USER_PROJECT
spec:
primarySpec:
adminUser:
passwordRef:
name: db-pw-DBCLUSTER_NAME
version: "DB_VERSION"
resources:
memory: DB_MEMORY
cpu: DB_CPU
disks:
- name: DataDisk
size: DB_DATA_DISK
Oracle 데이터베이스의 경우:
apiVersion: v1
kind: Secret
metadata:
name: db-pw-DBCLUSTER_NAME
namespace: USER_PROJECT
type: Opaque
data:
DBCLUSTER_NAME: "BASE64_PASSWORD"
---
apiVersion: oracle.dbadmin.gdc.goog/v1
kind: DBCluster
metadata:
name: DBCLUSTER_NAME
namespace: USER_PROJECT
spec:
primarySpec:
adminUser:
passwordRef:
name: db-pw-DBCLUSTER_NAME
version: "DB_VERSION"
cdbName: GCLOUD
resources:
memory: DB_MEMORY
cpu: DB_CPU
disks:
- name: DataDisk
size: DB_DATA_DISK
- name: LogDisk
size: DB_LOG_DISK
다음 변수를 바꿉니다.
DBCLUSTER_NAME
: 데이터베이스 클러스터의 이름입니다.USER_PROJECT
: 데이터베이스 클러스터가 생성될 사용자 프로젝트의 이름입니다.BASE64_PASSWORD
: 데이터베이스 관리자 비밀번호의 base64 인코딩입니다.DBENGINE_NAME
: 데이터베이스 엔진의 이름입니다.alloydbomni
또는postgresql
중 하나입니다.DB_VERSION
: 데이터베이스 엔진의 버전입니다.DB_MEMORY
: DB 클러스터에 할당된 메모리 양입니다(예:5Gi
).DB_CPU
: DB 클러스터에 할당된 CPU 양입니다(예:2
).DB_DATA_DISK
: DB 클러스터에 할당된 공간의 양입니다(예:10 Gi
).DB_LOG_DISK
: Oracle 데이터베이스의 로그 디스크에 할당된 공간의 양입니다 (Oracle만 해당).