데이터베이스 관리

GDC 샌드박스는 데이터베이스 클러스터를 테스트하고 관리하는 데이터베이스 서비스를 제공합니다.

데이터베이스 클러스터를 만들려면 데이터베이스 엔진 유형 선택 및 데이터베이스 클러스터 만들기를 참고하세요.

데이터베이스에 연결

기본적으로 데이터베이스 클러스터는 사용자 클러스터 및 동일한 프로젝트 내에서의 연결만 허용합니다.

다른 프로젝트에서 프로젝트의 모든 데이터베이스 클러스터에 연결을 사용 설정하려면 프로젝트 간 연결 사용 설정을 참고하세요.

GDC 샌드박스 조직 외부의 IP 주소에서 데이터베이스에 연결하려면 DB에 연결의 안내에 따라 외부 연결을 사용 설정하세요.

sshuttle를 사용하여 psql와 같은 로컬 데이터베이스 클라이언트로 데이터베이스에 연결할 수 있습니다.

  1. 데이터베이스 클러스터의 데이터베이스 서비스 페이지에 있는 연결 섹션으로 이동합니다. 이 페이지에는 다음이 포함되어 있습니다.

    • 관리자 계정의 비밀번호 (사용자 이름은 dbsadmin)
    • 데이터베이스 클러스터의 기본 엔드포인트의 호스트 이름 및 포트 번호
    • 클러스터에 연결하는 psql 명령어 (PostgreSQL 및 AlloyDB Omni 데이터베이스 클러스터용)
    • 데이터베이스 클러스터의 인증 기관 (CA) 인증서를 다운로드할 수 있는 링크
  2. 데이터베이스 클러스터의 데이터베이스 서비스 페이지에 있는 연결 섹션의 GDC 콘솔에서 CA 인증서를 다운로드합니다.

  3. CA 인증서를 사용하여 데이터베이스를 확인하도록 클라이언트를 구성합니다. psql 클라이언트의 경우 PGSSLROOTCERT 환경 변수를 인증서 파일의 경로로 설정하고 PGSSLMODE 환경 변수를 원하는 대로 설정합니다.

        export PGSSLROOTCERT=path/to/accounts_cert.pem
        export PGSSLMODE="verify-full"
    
  4. 보안 터널을 시작합니다. 인스턴스에 연결에 설명된 대로 sshuttle 인스턴스가 실행 중인 경우 해당 프로세스를 종료합니다.

        sshuttle -r zone1-org-1-data@GDC_SANDBOX_INSTANCE_NAME --no-latency-control \
        --ssh-cmd 'gcloud compute ssh --project PROJECT_NAME --zone ZONE --tunnel-through-iap' \
        10.200.0.0/16 --dns
    

    다음을 GDC 샌드박스팀에서 제공한 값으로 바꿉니다.

    • GDC_SANDBOX_INSTANCE_NAME: GDC Sandbox 인스턴스의 이름입니다.
    • PROJECT_NAME: GDC 샌드박스 환경이 포함된 프로젝트입니다.
    • ZONE: GDC 샌드박스 환경이 포함된 영역입니다.
  5. 터널이 활성 상태인 동안 다른 터미널에서 psql를 사용하여 명령어를 실행합니다.

        PGPASSWORD=DB_PASSWORD psql -h DB_HOSTNAME -p PORT -U USERNAME -d postgres
    

    다음 변수를 바꿉니다.

    • path/to/: accounts_cert.pem 인증서의 경로입니다.
    • DB_PASSWORD: 콘솔 UI의 비밀번호입니다.
    • DB_HOSTNAME: 콘솔의 데이터베이스 호스트 이름입니다.
    • DB_PORT: 콘솔의 데이터베이스 포트 번호입니다.
    • DB_USERNAME: 콘솔의 데이터베이스 사용자 이름입니다.