추천 평가 만들기

데이터베이스 센터의 평가를 사용하여 프로덕션 데이터베이스에 적용하기 전에 데이터베이스 추천의 성능 영향을 평가하고 테스트합니다.

추천을 평가하기 위해 평가는 다음 작업을 실행합니다.

  • 데이터베이스 인스턴스를 클론합니다.

  • 클론에서 벤치마킹 시뮬레이션 테스트를 실행합니다.

  • 추천 구성 변경사항을 적용한 후의 성능과 클론의 기준 성능을 비교합니다.

지원되는 제품 및 추천

데이터베이스 센터 평가는 PostgreSQL용 Cloud SQL 인스턴스에만 사용할 수 있습니다.

다음 유형의 추천을 평가할 수 있습니다.

시작하기 전에

추천 평가를 실행하기 전에 다음 요구사항을 충족하는지 확인하세요.

  • API 사용 설정: 다음 API를 사용 설정합니다.

    API를 사용 설정하려면 API 사용 설정 및 중지를 참조하세요.

  • 데이터베이스 연결 사용자 인증 정보: 대상 데이터베이스 이름과 데이터베이스 사용자 이름을 제공해야 합니다.

  • Secret Manager 보안 비밀: 전역 Secret Manager 보안 비밀에 데이터베이스 사용자 이름의 비밀번호를 저장하고 보안 비밀 선택기에서 검색할 수 있도록 보안 비밀 이름을 알고 있어야 합니다. 보안 비밀이 목록에 표시되지 않는 경우에만 전체 보안 비밀 경로가 필요합니다. 보안 비밀 만들기에 대한 자세한 내용은 보안 비밀 만들기 및 액세스를 참조하세요.

  • 서비스 계정: 환경의 Identity and Access Management (IAM) 서비스 계정을 구성하여 기준 성능을 벤치마킹하고 추천 변경사항과 비교합니다. 이 서비스 계정에는 Secret Manager에서 데이터베이스 사용자 인증 정보 보안 비밀을 읽고 Cloud Run에서 벤치마킹 작업을 조정할 수 있는 권한이 필요합니다. 서비스 계정을 구성하려면 서비스 계정 만들기를 참조하세요.

  • IAM 권한: 테스트 프로세스를 시작하고 관리하려면 필요한 IAM 권한이 있어야 합니다. 자세한 내용은 필수 IAM 권한을 참조하세요.

추천 평가

추천을 평가하고 테스트하려면 다음 단계를 따르세요.

  1. 콘솔에서 데이터베이스 센터 페이지로 이동합니다. Google Cloud

    데이터베이스 센터로 이동

  2. 탐색 메뉴에서 평가 를 클릭합니다.

  3. PostgreSQL용 Cloud SQL 인스턴스에 지원되는 추천을 찾습니다.

  4. 해당 추천의 영향 열에서 영향 평가 를 클릭합니다.

    필요한 API를 사용 설정하지 않은 경우 패널의 안내에 따라 사용 설정합니다.

  5. 평가 세부정보 페이지의 구성 패널에서 다음 연결 세부정보를 입력합니다.

    1. 데이터베이스에 데이터베이스 이름을 입력합니다. 유효한 옵션은 Cloud SQL 인스턴스의 데이터베이스 페이지에 나열된 데이터베이스에 해당합니다.

    2. 사용자 이름에 데이터베이스 사용자 이름을 입력합니다.

    3. **비밀번호 보안 비밀** 에서 데이터베이스 사용자 비밀번호가 포함된 Secret Manager 보안 비밀을 선택합니다.

      보안 비밀이 목록에 표시되지 않으면 보안 비밀 경로를 다음 형식으로 수동으로 입력합니다. projects/PROJECT_ID/secrets/SECRET_NAME PROJECT_ID를 프로젝트 ID로 바꾸고 SECRET_NAME을 보안 비밀 이름으로 바꿉니다. 기본적으로 데이터베이스 센터는 최신 버전의 보안 비밀을 사용합니다. 선택적으로 경로에 /versions/VERSION을 추가하여 버전을 지정할 수 있습니다. VERSION을 보안 비밀 버전으로 바꿉니다.

    4. 서비스 계정에서 벤치마킹 작업을 실행하는 데 사용할 서비스 계정을 선택합니다.

  6. 테스트 계획 생성 을 클릭합니다. 계획을 생성하는 데 몇 분 정도 걸립니다.

    데이터베이스 센터는 데이터베이스 클론, pgbench 워크로드 실행, 추천 적용, 성능 분석 단계를 보여주는 테스트 계획 미리보기를 생성합니다.

    데이터베이스 센터는 계획을 생성할 때 평가 페이지에 세션을 나열합니다. 페이지에서 안전하게 이동했다가 나중에 세션으로 돌아갈 수 있습니다.

  7. 테스트 계획을 구체화하려면 테스트 안내 필드에 안내 (예: Change the benchmark duration to 60 seconds)를 입력한 후 테스트 계획 업데이트를 클릭합니다.

  8. 평가 시작 을 클릭합니다. 확인 대화상자에서 결제 알림을 검토합니다. 클론된 인스턴스를 프로비저닝하고 벤치마크 작업을 실행하는 것은 청구 가능합니다.

    평가 세션은 48시간 동안 사용할 수 있습니다. 데이터베이스 센터는 평가가 완료되면 클론된 인스턴스를 자동으로 삭제합니다. 평가가 실패하면 클론된 인스턴스 가 자동으로 삭제되지 않으므로 수동으로 삭제해야 합니다.

  9. 확인 을 클릭하여 평가를 시작합니다. 평가 프로세스를 완료하는 데 시간이 걸립니다.

    데이터베이스 센터에 평가 진행 상황이 표시됩니다. 세션이 백그라운드에서 실행되는 동안 페이지에서 안전하게 이동할 수 있습니다.

평가 기록 및 보고서 보기

평가 세션을 추적하여 평가를 관리하고 성능 비교 보고서를 검토합니다. 데이터베이스 센터는 세션 보고서와 메타데이터를 48시간 동안 보관하고 각 세션의 만료 카운트다운을 표시합니다.

  1. 콘솔 Google Cloud 에서 데이터베이스 센터 페이지로 이동합니다.

    데이터베이스 센터로 이동

  2. 탐색 메뉴에서 평가 를 클릭합니다.

  3. 세션 목록에서 세션의 세션 ID 를 클릭하여 세부정보를 확인합니다.

    다음 표에서는 평가 세션 상태, 각 상태에 표시되는 정보, 사용 가능한 작업을 설명합니다.

    상태 표시된 정보 사용 가능한 작업
    계획 단계 테스트 계획 세부정보 및 미리보기 테스트 안내 필드를 사용하여 테스트 계획 미리보기를 구체화하거나 평가 시작을 클릭하여 평가를 시작합니다.
    평가 단계 평가 진행 상황 및 평가에서 사용한 테스트 계획 취소 를 클릭하여 평가를 취소합니다.
    완료됨 추천을 적용하기 전후의 데이터베이스 성능을 비교하는 요약 없음
    취소됨 취소되기 전의 평가 진행 상황 없음
    생성 실패 테스트 계획 생성이 실패했습니다. 데이터베이스 이름 및 보안 비밀 이름과 같은 테스트 계획 세부정보 및 구성 필드를 확인하여 테스트 계획 생성을 다시 시도할 수 있습니다. 데이터베이스 이름 및 사용자 이름과 같은 평가 구성 설정을 업데이트하고 테스트 계획 생성을 다시 시도합니다.
    평가 실패 추천 평가가 실패했습니다. 실패하기 전에 오류 메시지와 평가 진행 상황을 볼 수 있습니다. 없음

세션 취소 또는 실패한 세션 정리

진행 중인 평가 세션을 취소하거나 실행이 실패하면 모든 임시 리소스가 삭제되었는지 확인합니다. 데이터베이스 센터는 실패 또는 취소 후 정리가 성공했는지 확인할 수 없으므로 실패하고 취소된 모든 세션의 나머지 데이터베이스 클론 인스턴스를 확인하고 삭제합니다.

  • 세션 취소: 평가 페이지에서 취소할 평가의 세션 ID를 클릭한 후 취소를 클릭합니다. 세션을 취소하려면 세션 ID의 상태가 평가 단계 여야 합니다.

  • 클론된 리소스 정리:

    클론된 인스턴스를 수동으로 삭제하려면 다음 단계를 따르세요.

    1. Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.

      Cloud SQL 인스턴스로 이동

    2. 인스턴스 목록에서 클론된 인스턴스를 찾습니다. 세션 세부정보 페이지에 표시된 리소스 링크를 사용하여 클론을 식별할 수 있습니다.

    3. 클론된 인스턴스 옆에 있는 작업 더보기 를 클릭한 후 삭제를 클릭합니다.

    4. 확인 대화상자에서 클론 인스턴스 이름을 입력하고 삭제 를 클릭합니다.

필수 IAM 권한

테스트 프로세스를 시작하고 관리하려면 특정 권한이 필요합니다. 사전 정의된 역할을 할당하거나 개별 권한으로 커스텀 역할을 만들어 이러한 권한을 얻습니다.

액세스를 관리하고 역할을 이해하려면 IAM으로 액세스 제어를 참조하세요.

최종 사용자 권한

다음 표에는 사용자 계정에 필요한 권한과 권한이 포함된 사전 정의된 역할이 나열되어 있습니다.

필수 권한 사전 정의된 역할
cloudsql.instances.patch
cloudsql.instances.clone
cloudsql.instances.delete
cloudsql.instances.get
cloudsql.instances.createTestingAgentSession
cloudsql.instances.getAgentSession
cloudsql.instances.listAgentSessions
cloudsql.instances.cancelAgentSession
roles/cloudsql.admin
run.jobs.create
run.jobs.run
roles/run.developer
logging.logEntries.list roles/logging.viewer
secretmanager.secrets.list roles/secretmanager.viewer
serviceusage.services.use roles/serviceusage.serviceUsageConsumer
monitoring.monitoredResourceDescriptors.list (선택사항) roles/monitoring.viewer 또는 roles/viewer

평가 결과 페이지에서 차트 데이터를 보려면 사용자 계정에 monitoring.monitoredResourceDescriptors.list 권한이 있어야 합니다. 이 권한은 권장되지만 추천 평가를 실행하는 데는 필요하지 않습니다.

평가를 시작하는 사용자에게는 선택한 서비스 계정에 서비스 계정 사용자 역할 (roles/iam.serviceAccountUser) 또는 iam.serviceAccounts.actAs 권한도 있어야 합니다.

Cloud Run 서비스 계정 권한

다음 표에는 Cloud Run 작업에서 사용하는 서비스 계정에 필요한 권한과 권한이 포함된 사전 정의된 역할이 나열되어 있습니다.

필수 권한 사전 정의된 역할
cloudsql.instances.connect roles/cloudsql.client
cloudsql.instances.login roles/cloudsql.instanceUser
secretmanager.versions.access roles/secretmanager.secretAccessor

제한사항

추천 평가를 사용할 때는 다음과 같은 제한사항을 고려하세요.

  • 정보 보고서만 해당: 평가는 프로덕션 데이터베이스에 변경사항을 적용하지 않습니다. 벤치마킹 결과가 승인되면 PostgreSQL용 Cloud SQL 콘솔 또는 PostgreSQL용 Cloud SQL API를 사용하여 추천을 수동으로 적용합니다.

  • 48시간 만료: 데이터베이스 센터는 세션 저장소에 세션 보고서와 메타데이터를 48시간 동안만 보관한 후 삭제합니다.

  • 단일 사용자 격리: 유효성 검사 세션을 만든 사용자만 볼 수 있습니다. 프로젝트의 다른 보안 주체는 세션 기록 또는 결과를 볼 수 없습니다.

  • 전역 보안 비밀 위치: 데이터베이스 비밀번호가 포함된 Secret Manager 보안 비밀 은 전역 보안 비밀이어야 합니다. 리전 보안 비밀은 지원되지 않습니다.

결제

추천 평가는 평가 중에 사용하는 리소스에 대한 요금을 발생시킵니다. 시스템은 프로젝트에서 데이터베이스 인스턴스의 클론을 만들고 이 클론에 대한 요금을 지불합니다. 데이터베이스 센터는 평가가 완료되면 클론을 자동으로 삭제합니다. 평가가 실패하거나 취소되면 요금이 계속 청구되지 않도록 클론을 수동으로 삭제해야 합니다.

또한 데이터베이스 에이전트는 다음과 같은 비용이 발생할 수 있는 다른 Google Cloud 인프라를 사용합니다.

  • Cloud SQL: 클론된 인스턴스의 경우. 자세한 내용은 Cloud SQL 가격 책정을 참조하세요.
  • Cloud Run: 평가 에이전트를 실행합니다. 자세한 내용은 Cloud Run 가격 책정을 참조하세요.
  • 기타 서비스: 평가를 조정하는 데 사용되는 기타 서비스에 대한 소액의 요금.

평가가 실행되는 시간에 대해서만 비용을 지불하면 됩니다.

다음 단계

  • 상태 문제 및 추천을 보고 필터링하는 방법 알아보기

  • Gemini를 사용하여 데이터베이스 플릿 상태를 분석하는 방법 알아보기

  • 데이터베이스 플릿 뷰를 맞춤설정하는 방법 알아보기.