데이터베이스 클러스터 만들기

이 페이지에서는 데이터베이스 서비스를 사용하여 Google Distributed Cloud (GDC) 에어 갭에서 데이터베이스를 만들고 관리하는 방법을 설명합니다.

승인 및 역할

사용자는 데이터베이스 서비스에 액세스할 수 있는 권한이 있어야 합니다. GDC 콘솔과 Distributed Cloud CLI 모두에서 데이터베이스 서비스에 액세스하려면 승인이 필요합니다.

다음 역할은 사용자에게 권한을 부여합니다.

프로젝트 뷰어 (project-viewer)
이 역할이 있는 사용자는 GDC 콘솔 및 Distributed Cloud CLI에 액세스할 수 있습니다.
프로젝트 DB 뷰어(project-db-viewer)
이 역할이 있는 사용자는 데이터베이스 클러스터를 볼 수 있습니다.
프로젝트 DB 편집자 (project-db-editor)
이 역할이 있는 사용자는 project-db-viewer에서 부여하는 기능을 보유하며 데이터베이스 클러스터를 수정할 수도 있습니다.
프로젝트 DB 관리자 (project-db-admin)
이 역할이 있는 사용자는 project-db-editor에서 부여하는 기능을 보유하며 데이터베이스 클러스터를 만들고 삭제할 수도 있습니다.
프로젝트 버킷 객체 뷰어 (project-bucket-object-viewer)
이 역할이 있는 사용자는 GDC 콘솔의 데이터베이스 서비스 인터페이스에서 스토리지 브라우저를 사용할 수 있습니다. 이 인터페이스는 데이터베이스 가져오기를 위한 파일을 지정하고 데이터베이스 내보내기로 생성된 파일의 대상을 지정하는 데 사용됩니다.
프로젝트 모니터링 뷰어 (project-monitoring-viewer)
이 역할이 있는 사용자는 모니터링 인스턴스에 액세스할 수 있습니다. 데이터베이스 서비스 측정항목을 관찰하는 방법에 대한 자세한 내용은 측정항목 관찰을 참조하세요. 모니터링 인스턴스에 액세스해야 하는 사용자에게만 이 역할을 부여해야 합니다.
프로젝트 유지보수 정책 관리자 (project-mp-admin)
이 역할이 있는 사용자는 project_mp_editorproject_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

데이터베이스 엔진 유형 선택 및 데이터베이스 클러스터 만들기

프로젝트 DB 관리자 역할이 있는 사용자는 다음 단계를 수행해야 합니다. GDC 콘솔 또는 Distributed Cloud CLI를 사용하여 데이터베이스 클러스터를 만듭니다.

콘솔

  1. 기본 메뉴에서 데이터베이스 서비스 를 선택합니다.
  2. 데이터베이스 클러스터 만들기 를 클릭합니다.
  3. 데이터베이스 엔진 선택 대화상자에서 데이터베이스 엔진을 선택합니다.

  4. 클러스터 구성 대화상자에서 클러스터 ID, 비밀번호, 데이터베이스 버전을 지정합니다. 백업을 사용 설정하고 백업 보관 기간을 구성할 수 있습니다.

  5. PostgreSQL 데이터베이스 엔진을 선택한 경우 데이터베이스 클러스터에 고가용성을 사용 설정할 수 있습니다. 사용 설정된 경우 데이터베이스 서비스는 장애로부터 보호하기 위해 기본 인스턴스와 동일한 영역에 대기 인스턴스를 프로비저닝합니다. 자세한 내용은 고가용성 을 참조하세요.

  6. 기본 인스턴스 구성 대화상자에서 데이터베이스 클러스터의 기본 인스턴스의 CPU, 메모리, 스토리지 용량을 지정합니다. 가장 큰 테이블을 보관할 수 있는 충분한 메모리를 선택하는 것이 좋습니다.

  7. 만들기 를 클릭합니다. 데이터베이스 클러스터를 만드는 데 몇 분 정도 걸릴 수 있습니다. 클러스터 개요 페이지에서 클러스터의 상태를 확인합니다. 클러스터가 준비되면 상태가 만드는 중 에서 준비됨 으로 변경됩니다.

gdcloud

  1. Distributed Cloud CLI를 사용하기 전에, 설치하고 초기화합니다. 그런 다음 조직으로 인증합니다.

  2. 다음 명령어를 실행하여 데이터베이스 클러스터를 만듭니다.

    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 를 새 클러스터의 관리자 비밀번호로 바꿉니다.
  3. 데이터베이스 클러스터의 CPU, 메모리, 스토리지 리소스 구성, 백업 구성, 고가용성 사용 설정, 기타 사용 가능한 옵션에 대한 자세한 내용은 다음을 실행하세요.

    gdcloud database clusters create --help
    

API

  1. 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만 해당).
  2. 동일한 네임스페이스에 DBS BackupPlan 리소스를 만들어 백업을 사용 설정합니다.