워크로드 관리자를 사용하여 업계 표준 및 Google Cloud 권장사항에 따라 워크로드를 스캔하는 자동 평가를 만들고 실행할 수 있습니다. 평가를 정기적으로 실행하면 프로젝트 전반에서 구성 드리프트와 아키텍처 위험을 조기에 감지하여 워크로드 안정성, 보안, 성능을 개선할 수 있습니다.
Google Cloud 콘솔 또는 워크로드 관리자 API를 사용하여 워크로드 평가를 만들고 실행할 수 있습니다. 평가 작동 방식에 대한 개념 정보는 워크로드 관리자 평가 정보를 참조하세요.
제한사항
워크로드 관리자는 프로젝트당 1시간마다 최대 25개의 평가를 동시에 실행할 수 있습니다. 프로젝트에 평가가 25개 이상 있는 경우 시간당 평가를 25개로 제한하거나 평가 일정을 6시간마다 또는 그보다 적게 실행하도록 설정합니다.
시작하기 전에
워크로드 평가를 만들고 실행하기 전에 다음 기본 요건을 완료하세요.
평가하려는 Google Cloud 리소스가 대상 프로젝트에 이미 생성되어 있는지 확인합니다. 지원되는 리소스 및 규칙 목록은 Google Cloud 권장사항 참조를 확인하세요.
평가를 만들고 실행하는 Google Cloud 소비자 프로젝트에서 필요한 API를 사용 설정합니다.
커스텀 규칙 또는 권장사항에 따라 워크로드를 평가하는 경우 Cloud Asset API 및 Cloud Monitoring API를 사용 설정합니다.
애플리케이션 또는 데이터베이스 워크로드를 평가하는 경우 워크로드를 실행하는 모든 컴퓨팅 인스턴스 또는 클러스터에 필요한 에이전트 또는 연산자를 설정했는지 확인합니다.
선택사항: 기본 제공되는 Google Cloud 권장사항 외에 커스텀 규칙을 포함하려면
GoogleCloudPlatform/workload-managerGitHub 저장소에서 최상위 수준에/lib및/rules폴더가 포함된 Cloud Storage 버킷에 샘플 규칙을 업로드합니다. 커스텀 규칙 업로드에 대한 자세한 내용은 Rego를 사용하여 커스텀 규칙 작성을 참조하세요.평가를 만들고 실행하려면 필요한 역할 및 권한이 있는지 확인합니다.
워크로드 관리자 API를 사용하여 평가를 만드는 경우 소비자 프로젝트에서 워크로드 관리자 서비스 에이전트를 수동으로 만들고 다음 역할을 부여합니다.
대상 프로젝트의 워크로드 관리자 서비스 에이전트(
roles/workloadmanager.serviceAgent)평가 일정을 설정하면 소비자 프로젝트의 워크로드 관리자 작업자(
roles/workloadmanager.worker)가 실행됩니다.
Google Cloud 콘솔을 사용하면 워크로드 관리자가 서비스 에이전트를 자동으로 만듭니다. 서비스 에이전트 구성에 대한 자세한 내용은 워크로드 관리자 서비스 에이전트를 참조하세요.
필요한 역할
워크로드 평가를 만들고 실행하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.
-
평가 만들기 및 실행: 소비자 프로젝트의 워크로드 관리자 평가 관리자(
roles/workloadmanager.evaluationAdmin) -
서비스 에이전트 만들기(첫 번째 평가만 해당): 소비자 및 대상 프로젝트에 대한 프로젝트 IAM 관리자(
roles/resourcemanager.projectIamAdmin) 역할 -
Cloud 애셋 인벤토리 데이터 읽기(커스텀 규칙 및 권장사항): 소비자 프로젝트의 Cloud 애셋 소유자(
roles/cloudasset.owner) -
Cloud Storage 버킷에서 커스텀 규칙 읽기(선택사항): 소비자 프로젝트의 스토리지 객체 뷰어(
roles/storage.objectViewer) -
알림 만들기(선택사항): 소비자 프로젝트에 대한 Monitoring 측정항목 작성자(
roles/monitoring.metricWriter) -
평가 결과를 BigQuery로 내보내기(선택사항): 소비자 프로젝트에 대한 BigQuery 관리자(
roles/bigquery.admin)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이러한 사전 정의된 역할에는 워크로드 평가를 만들고 실행하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
워크로드 평가를 만들고 실행하려면 다음 권한이 필요합니다.
-
평가 만들기 및 실행:
-
소비자 프로젝트에 대한
workloadmanager.evaluations.create권한 -
소비자 프로젝트에 대한
workloadmanager.evaluations.run권한
-
소비자 프로젝트에 대한
-
서비스 에이전트 만들기(첫 번째 평가만 해당): 소비자 및 대상 프로젝트에 대한
resourcemanager.projects.setIamPolicy -
Cloud 애셋 인벤토리 데이터 읽기(커스텀 규칙 및 권장사항): 소비자 프로젝트의
cloudasset.assets.searchAllResources -
Cloud Storage 버킷에서 커스텀 규칙 읽기(선택사항):
-
소비자 프로젝트에 대한
storage.objects.get권한 -
소비자 프로젝트에 대한
storage.objects.list권한
-
소비자 프로젝트에 대한
-
알림 생성(선택사항): 소비자 프로젝트에 대한
monitoring.timeSeries.create권한 -
BigQuery로 평가 결과 내보내기(선택사항):
-
소비자 프로젝트에 대한
bigquery.datasets.get권한 -
소비자 프로젝트에 대한
bigquery.tables.create권한 -
소비자 프로젝트에 대한
bigquery.tables.updateData권한
-
소비자 프로젝트에 대한
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
소비자 및 대상 프로젝트의 역할에 대한 자세한 내용은 평가를 위한 소비자 및 대상 프로젝트의 IAM 역할 및 워크로드 관리자 IAM 역할 및 권한을 참조하세요.
워크로드 평가 만들기
Google Cloud 콘솔 또는 Workload Manager API를 사용하여 워크로드 평가를 만들 수 있습니다. 커스텀 규칙을 사용하는 평가를 만들려면 커스텀 규칙을 사용하여 워크로드 평가를 참조하세요.
콘솔
Google Cloud 콘솔에서 워크로드 평가를 만들려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 워크로드 관리자 페이지로 이동합니다.
평가를 저장하고 실행할 Google Cloud 소비자 프로젝트를 선택합니다.
워크로드 관리자에 필요한 API를 사용 설정하라는 메시지가 표시되면 사용 설정을 클릭합니다.
새 평가를 클릭합니다.
이름 및 규칙 창에서 평가 세부정보를 구성하고 평가할 규칙을 선택합니다.
평가 이름에 워크로드 평가 이름을 입력합니다.
(선택사항) 설명에 워크로드 평가에 대한 설명을 입력합니다.
워크로드 유형 필드에서 지원되는 워크로드 유형 중 하나를 선택합니다.
SAP
SQL Server
MySQL
Redis
OpenShift
커스텀
커스텀을 선택하면 Google Cloud 권장사항 또는 Cloud Storage에 저장된 커스텀 규칙에 따라 워크로드를 평가할 수 있습니다.
규칙 테이블에서 워크로드 평가에 포함할 권장사항 규칙을 선택합니다. 각 규칙에 대한 자세한 내용은 Google Cloud 권장사항 참조를 확인하세요.
계속을 클릭합니다.
범위 및 필터 창에서 평가할 대상 프로젝트와 리소스 필터를 지정합니다.
평가 범위 섹션에서 평가할 리소스가 포함된 대상 프로젝트를 추가하려면 프로젝트 찾아보기를 클릭합니다.
선택사항: 대상 프로젝트 간에 규칙 발견 항목을 공유하려면 발견 항목 공유 체크박스를 선택합니다. 자세한 내용은 평가 결과 공유를 참고하세요.
선택사항: 리소스에 필터 적용 섹션에서 대상 프로젝트의 특정 리소스를 선택하려면 필터 추가를 클릭한 후 다음 필터 유형 중 하나를 사용합니다.
서비스 계정: 연결된 서비스 계정으로 Compute Engine 인스턴스를 필터링합니다.
라벨: 키-값 라벨 쌍으로 리소스를 필터링합니다.
이름: 리소스 ID 패턴으로 리소스를 필터링합니다.
동일한 필터 유형 내의 여러 필터는
OR로직을 사용합니다. 여러 필터 유형의 필터는AND로직을 사용합니다.메시지가 표시되면 워크로드 관리자가 평가 데이터를 저장할 리전을 선택합니다.
계속을 클릭합니다.
빈도 및 알림 창에서 평가 일정, 내보내기 대상, 알림을 구성합니다.
예약 섹션에서 평가를 실행할 빈도를 선택합니다.
선택사항: 평가와 동일한 리전의 리전별 BigQuery 데이터 세트로 평가 결과를 내보내려면 BigQuery 데이터 세트에 저장을 선택하고 데이터 세트를 지정합니다. 평가를 위한 별도의 테이블을 만들려면 이 평가를 위한 새 결과 테이블 만들기를 선택합니다.
선택사항: 알림 섹션에서 알림을 받을 이벤트를 선택한 다음 알림 채널을 선택합니다.
계속을 클릭합니다.
검토 창에서 워크로드 평가 설정을 검토합니다. 설정을 수정하려면 왼쪽 탐색 메뉴에서 창 이름을 클릭합니다.
만들기를 클릭합니다.
REST
워크로드 관리자 API를 사용하여 워크로드 평가를 만들려면 다음 단계를 따르세요.
선택사항: 워크로드 유형에 사용할 수 있는 규칙 이름 목록을 가져오려면
GET요청을projects.locations.rules.list메서드로 전송합니다.curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "X-Goog-User-Project: CONSUMER_PROJECT_ID" \ "https://workloadmanager.googleapis.com/v1/projects/CONSUMER_PROJECT_ID/locations/LOCATION_ID/rules?evaluationType=EVALUATION_TYPE"다음을 바꿉니다.
CONSUMER_PROJECT_ID: 평가를 실행하는 소비자 프로젝트의 IDLOCATION_ID: 평가에 지원되는 리전입니다(예:us-central1).EVALUATION_TYPE: 워크로드 평가 유형(예:SAP,SQL_SERVER,MYSQL,REDIS,OPENSHIFT,OTHER)
평가를 만들려면
POST요청을projects.locations.evaluations.create메서드에 보냅니다.curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -H "X-Goog-User-Project: CONSUMER_PROJECT_ID" \ -d '{ "description": "DESCRIPTION", "evaluationType": "EVALUATION_TYPE", "ruleNames": [ "RULE_NAMES" ], "resourceFilter": { "scopes": [ "projects/TARGET_PROJECT_ID" ], "resourceIdPatterns": [ "RESOURCE_ID_PATTERNS" ], "inclusionLabels": { "LABEL_KEY": "LABEL_VALUE" }, "gceInstanceFilter": { "serviceAccounts": [ "SERVICE_ACCOUNT_EMAIL" ] } }, "schedule": "SCHEDULE", "bigQueryDestination": { "destinationDataset": "projects/BQ_PROJECT_ID/datasets/BQ_DATASET_ID", "createNewResultsTable": true } }' \ "https://workloadmanager.googleapis.com/v1/projects/CONSUMER_PROJECT_ID/locations/LOCATION_ID/evaluations?evaluationId=EVALUATION_ID"다음을 바꿉니다.
CONSUMER_PROJECT_ID: 평가를 만드는 소비자 프로젝트의 IDLOCATION_ID: 워크로드 관리자가 평가를 저장하는 지원되는 지역(예:us-central1)EVALUATION_ID: 평가의 고유 IDDESCRIPTION: 평가에 대한 설명EVALUATION_TYPE: 워크로드 평가 유형(예:SAP,SQL_SERVER,MYSQL,REDIS,OPENSHIFT,OTHER)RULE_NAMES: 평가에 포함할 규칙 ID의 쉼표로 구분된 목록입니다.TARGET_PROJECT_ID: 평가할 리소스가 포함된 대상 프로젝트의 프로젝트 ID 또는 프로젝트 번호RESOURCE_ID_PATTERNS: 평가된 리소스를 필터링하는 선택적 리소스 이름 패턴(예://compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance*)LABEL_KEY및LABEL_VALUE: 리소스를 필터링하는 선택적 키-값 라벨 쌍SERVICE_ACCOUNT_EMAIL: Compute Engine 인스턴스를 필터링하는 선택적 서비스 계정 이메일 주소SCHEDULE: 반복 평가 실행을 위한 UTC의 선택적 크론 표현식(예: 6시간마다 실행하는0 */6 * * *)BQ_PROJECT_ID및BQ_DATASET_ID: 평가 결과를 내보내기 위한 선택적 프로젝트 ID 및 리전 BigQuery 데이터 세트 ID
지원되는 필드에 대한 자세한 내용은
Evaluation리소스 참조를 확인하세요.
워크로드 평가 실행
반복 일정에 따라 평가를 실행하는 것 외에도 Google Cloud 콘솔 또는 워크로드 관리자 API를 사용하여 언제든지 기존 워크로드 평가를 주문형으로 실행할 수 있습니다.
콘솔
Google Cloud 콘솔에서 워크로드 평가를 실행하려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 워크로드 관리자 페이지로 이동합니다.
실행하려는 평가의 이름을 클릭합니다.
평가 정보 페이지에서 실행을 클릭합니다.
워크로드 평가를 완료하는 데 몇 분 정도 걸립니다. 최신 결과를 보기 전에 평가 실행이 완료될 때까지 기다립니다.
REST
Workload Manager API를 사용하여 워크로드 평가를 실행하려면 projects.locations.evaluations.executions.run 메서드에 POST 요청을 보냅니다.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-H "X-Goog-User-Project: CONSUMER_PROJECT_ID" \
-d '{
"executionId": "EXECUTION_ID"
}' \
"https://workloadmanager.googleapis.com/v1/projects/CONSUMER_PROJECT_ID/locations/LOCATION_ID/evaluations/EVALUATION_ID/executions:run"
다음을 바꿉니다.
CONSUMER_PROJECT_ID: 평가를 저장하는 소비자 프로젝트의 ID입니다.LOCATION_ID: 평가 리전입니다(예:us-central1).EVALUATION_ID: 실행하려는 평가의 ID입니다.EXECUTION_ID: 이 실행의 선택적 고유 ID입니다. 워크로드 관리자가 ID를 자동으로 생성하도록 하려면 이 필드를 생략합니다.
요청은 장기 실행 Operation을 반환합니다. 실행 상태를 확인하거나 결과를 나열하려면 projects.locations.evaluations.executions.get 및 projects.locations.evaluations.executions.results.list 메서드를 사용합니다.
평가 결과 공유
평가 발견 항목을 공유하면 대상 프로젝트의 리소스 소유자가 로컬 프로젝트 콘솔과 Compute Engine과 같은 통합 페이지에서 구성 발견 항목을 볼 수 있습니다. 이 기능은 소비자 프로젝트에 대한 직접 IAM 액세스가 필요하지 않습니다.
평가를 수정하여 발견 사항 공유
기존 평가에 대한 발견 항목 공유를 사용 설정하거나 중지하려면 다음 단계를 따르세요.
Google Cloud 콘솔에서 워크로드 관리자 페이지로 이동합니다.
수정하려는 평가의 이름을 클릭합니다.
수정을 클릭합니다.
범위 및 필터 섹션에서 발견 항목 공유 체크박스를 선택하거나 선택 해제합니다.
저장을 클릭합니다.
공유된 발견 사항의 공개 상태
발견 항목 공유를 사용 설정하면 워크로드 관리자가 평가 범위에 지정된 모든 대상 프로젝트에 규칙 발견 항목을 전파합니다. 발견 항목은 규칙 발견 항목 탭과 Compute Engine 개요 페이지와 같은 통합 페이지에 표시됩니다.
발견 항목 공유를 사용 중지하면 워크로드 관리자가 규칙 발견 항목을 대상 프로젝트에 전파하는 것을 중지하고 발견 항목은 소비자 프로젝트 내에서만 표시됩니다.
평가 알림 설정
평가에서 새로운 발견 항목을 감지하거나 실행에 실패하는 등 특정 평가 이벤트가 발생할 때 워크로드 관리자가 선택한 알림 채널에 알림을 전송하도록 알림을 구성할 수 있습니다. 평가를 만들 때 알림을 구성하지 않은 경우 다음 단계에 따라 Google Cloud 콘솔에서 기존 평가에 알림을 추가하거나 업데이트할 수 있습니다.
Google Cloud 콘솔에서 워크로드 관리자 페이지로 이동합니다.
알림을 사용 설정할 평가의 이름을 클릭합니다.
수정을 클릭합니다.
알림 섹션을 선택합니다.
알림을 수신하려는 이벤트를 선택한 다음 알림 채널을 선택합니다.
저장을 클릭합니다.