권장사항

추천자

추천자는 Cloud 리소스에 대한 사용 권장사항을 제공하는 Google Cloud의 서비스입니다. 추천자는 단일 Google Cloud 제품 및 리소스 유형에만 해당합니다. 제품 하나에 여러 추천자가 있을 수 있으며, 각 추천자는 다른 리소스에 대해 다른 유형의 권장사항을 제공합니다.

각 추천자에는 서비스를 내부적으로 식별하는 고유한 추천자 ID가 있습니다. 추천자 gcloud 명령어 또는 REST 또는 RPC API를 사용하여 권장사항과 상호작용할 때 추천자 ID를 사용합니다.

자세한 내용은 추천자를 참조하세요.

권장사항

권장사항은 Cloud 리소스 사용을 최적화하기 위한 머신 생성 제안입니다. 권장사항에 필요한 조치를 취하는 데 필요한 단계가 포함됩니다. 추천자는 머신러닝 또는 휴리스틱을 사용하여 리소스 사용에 따라 권장사항을 제공합니다. 추천자는 Recommendation 항목을 사용하여 권장사항을 내부적으로 저장합니다.

권장사항에는 다음과 같은 핵심 속성이 있습니다.

이름

권장사항 이름은 Recommendation 항목의 name 필드에 저장됩니다. 이 이름은 다음 형식의 추천 이름입니다.

projects/TARGET_PROJECT_ID/locations/LOCATION/recommenders/RECOMMENDER_ID/recommendations/RECOMMENDATION_ID

각 매개변수는 다음과 같습니다.

  • TARGET_PROJECT_ID는 권장사항이 추천된 프로젝트의 ID입니다.
  • LOCATION는 권장사항과 관련된 리소스가 있는 Google Cloud 위치입니다(예: global 또는 us-central1-a).
  • RECOMMENDER_ID는 정규화된 추천자 ID입니다(예: google.compute.instance.MachineTypeRecommender).
  • RECOMMENDATION_ID는 추천의 고유 ID입니다.

설명

권장사항 설명은 Recommendation 항목의 description 필드에 저장됩니다. 이 기능은 영어로만 지원됩니다. 사람이 읽을 수 있는 권장사항을 설명하는 텍스트입니다. Google Cloud Console에서 추가 권장사항 세부정보 보기를 클릭하면 설명이 표시됩니다.

추천자 하위유형

추천자에는 특정 종류의 권장사항에 대한 하위유형이 있을 수 있습니다. 예를 들어 ID 및 액세스 관리 역할 추천자에는 REPLACE_ROLEREMOVE_ROLE 하위유형이 있습니다. recommendation.content 또는 recommendation.primary_impact.category의 중요 변경사항이 이전 버전과 호환되는 방식으로 도입되어야 할 때 새 하위유형이 도입될 수 있습니다. 지정된 추천자의 하위유형 목록을 보려면 추천자 섹션을 참조하세요.

영향

권장사항에는 항상 제공되는 기본과 선택사항인 추가라는 두 가지 영향이 있습니다.

주요 영향은 Recommendation 항목의 primaryImpact 필드에 저장됩니다. 이는 권장사항을 적용할 때 얻을 수 있는 이점을 나타냅니다.

추가 영향은 additionalImpact 필드에 저장됩니다. 이러한 결과는 권장사항의 적용으로 인해 발생할 수 있는 추가 결과(긍정적, 부정적)를 나타냅니다. 영향의 예시로는 증가된 비용 또는 보안 고려사항입니다.

예를 들어 기본 영향 PERFORMANCE로 권장사항을 적용할 경우 권장사항이 성능이 향상되도록 CPU 또는 메모리 할당을 늘리는 것이라면 추가 비용 영향이 발생할 수 있습니다.

권장사항의 영향에는 카테고리가 있습니다. 카테고리는 예상되는 영향의 유형입니다(예: 비용, 성능, 보안). 카테고리가 비용인 경우 영향에는 비용 예상도 포함됩니다. 비용 예상은 권장사항을 수락할 경우 발생되는 예상 금액입니다.

작업

Operation은 추천 권장사항에 있는 원자적 단계 중 하나로 실행되어야 하는 개별 작업입니다. 작업은 다음과 같은 변경사항을 나타낼 수 있습니다.

  • Google Cloud 리소스에서 JSON 객체 필드를 추가, 삭제 또는 교체합니다.
  • Google Cloud 리소스에서 JSON 배열 필드를 추가, 삭제 또는 교체합니다. JSON 배열 요소는 경로에 필터를 정의하여 식별합니다.
  • 새 Google Cloud 리소스를 추가합니다.
  • Google Cloud 리소스를 삭제합니다.
  • 리소스의 원래 상태를 나타내는 작업을 테스트합니다. 권장사항을 적용하기 전에 테스트 작업을 사용하여 리소스의 현재 상태를 확인할 수도 있습니다.
  • Google Cloud 리소스 및 필드를 복사하여 이동합니다.

Operation은 패치에 대한 JSON 경로(RFC 6901) 형식을 기반으로 합니다. 이 RFC는 Google Cloud에서 흔히 볼 수 있는 복잡한 시나리오를 비롯하여 리소스 변경사항을 반영할 수 있는 더 일관적인 방법을 제공하기 때문에 선택되었습니다. 예를 들어 IAM 권장사항은 구성원의 역할 결합을 다른 역할로 이동하는 것을 반영하는 중첩된 배열을 포함합니다.

각 리소스에 대해 다음과 같은 방식으로 변경 목록(차이점 기반 보기)을 생성할 수 있습니다.

  • 원래 상태: 테스트 작업은 필드의 원래 값을 나타내며 차이점 보기의 왼쪽을 나타냅니다.
  • 권장 상태: 비테스트 작업은 필드별로 권장되는 변경사항을 나타내며 차이점 보기의 오른쪽을 나타냅니다.

작업 그룹

작업 그룹은 권장사항을 적용할 때 특정 순서로 수행해야 하는 하나 이상의 작업 집합입니다. 권장사항은 하나 이상의 작업 그룹을 포함할 수 있습니다. 작업 그룹은 Recommendation 항목의 operationGroups 필드에 저장됩니다.

예를 들어 Compute Engine 인스턴스 그룹의 VM 인스턴스 머신 유형 변경을 제안하는 권장사항에는 인스턴스 템플릿의 머신 유형을 변경하는 작업 그룹과 특정 인스턴스 그룹에 변경을 적용하는 작업 그룹의 두 가지가 있습니다.

두 번째 작업을 시작하기 전에 첫 번째 작업 집합을 완료해야 하므로 이러한 작업 그룹은 권장사항에서 두 개의 개별 인스턴스 그룹으로 정의됩니다.

작업 그룹에는 테스트 작업이 포함될 수 있습니다. 테스트 작업은 권장사항이 여전히 유효한지 확인합니다. VM 인스턴스 머신 유형 변경을 제안하는 권장사항에는 현재 머신 유형이 권장 시점과 동일한지 확인하는 테스트 작업이 있습니다.

권장사항은 제안 후 여러 상태 전환을 거치게 됩니다. 권장사항 상태는 다음과 같습니다.

  • ACTIVE는 권장사항이 이루어졌으나 그에 대한 응답으로 수행된 작업이 없음을 의미합니다. 권장사항은 신청하면 적용할 수 있습니다. 리소스가 변경되면 활성 권장사항을 업데이트할 수 있습니다.
  • CLAIMED는 사용자 또는 다른 프로세스가 권장사항을 사용했으며 여기에 대한 응답이 진행 중이라는 의미입니다. 권장사항을 사용하면 리소스가 변경될 때 추천자가 권장사항을 업데이트하지 않습니다.
  • SUCCEEDED는 사용자 또는 다른 프로세스가 연결된 리소스에 권장사항을 적용했음을 의미합니다.
  • FAILED는 권장사항을 적용하려는 시도가 실패했음을 의미합니다.
  • DISMISSED는 사용자 또는 또 다른 프로세스가 권장사항을 관련 리소스에 적용하지 않고 이를 종료했음을 의미합니다. 이 상태는 권장사항이 권장사항 목록에 나타나지 않도록 하며, 일반적으로 다양한 이유로 이를 무효화한 관리자가 적용합니다. 또한 권장사항이 CLAIMED 상태로 이동하지 않도록 합니다.

권장사항 상태에 대한 정보는 Recommendation 항목의 stateInfo 필드에 저장됩니다. 여기에는 권장사항의 상태 자체와 추가 추천자별 상태 메타데이터가 포함됩니다.

권장사항이 CLAIMED, SUCCEEDED 또는 FAILED 상태로 변경되면 권장사항의 콘텐츠가 업데이트되지 않으며 권장 기간이 상태 변경 이후 90일 동안 유효합니다.

etag

etag는 권장사항의 현재 상태를 식별하는 고유한 지문입니다. 권장사항이 변경될 때마다 새 etag 값이 할당됩니다. 이 값은 Recommender 항목의 etag 필드에 저장됩니다.

gcloud 명령어 또는 API 호출을 사용하여 추천자에서 권장사항을 검색한 후 권장사항 ID와 etag를 사용하여 후속 작업에서 참조합니다. 이렇게 하면 마지막으로 검색한 후 권장사항이 변경되지 않은 경우에만 작업이 수행됩니다.

상태 메타데이터

권장사항을 사용하거나 성공 또는 실패로 표시할 때 작업에 대한 추가 메타데이터를 상태 메타데이터와 함께 포함할 수 있습니다.

메타데이터는 key:value 쌍으로 지정됩니다. 예를 들면 다음과 같습니다.

{
  "stateMetadata": {
    "priority" : "high",
    "tracking_number": "12345" }
}

stateMetadata 필드를 업데이트하면 기존 상태 메타데이터를 덮어씁니다.

최종 새로고침 시간

최종 새로고침 시간은 생성 프로세스에서 마지막으로 새로고침한 시간을 나타냅니다. 권장사항의 콘텐츠는 최종 새로고침 시 리소스의 상태를 반영합니다.

다음 예시에서는 Compute Engine의 VM 인스턴스에 대한 크기 권장사항을 보여줍니다.

{
  "content": {
    "operationGroups": [
      {
        "operations": [
          {
            "action": "test",
            "path": "/machineType",
            "resource": "//compute.googleapis.com/projects/example-project/zones/us-central1-a/instances/instance-rightsizing-2",
            "resourceType": "compute.googleapis.com/Instance",
            "valueMatcher": {
              "matchesPattern": ".*zones/us-central1-a/machineTypes/n1-standard-4"
            }
          },
          {
            "action": "replace",
            "path": "/machineType",
            "resource": "//compute.googleapis.com/projects/example-project/zones/us-central1-a/instances/instance-rightsizing-2",
            "resourceType": "compute.googleapis.com/Instance",
            "value": "zones/us-central1-a/machineTypes/custom-2-5120"
          }
        ]
      }
    ]
  },
  "description": "Save cost by changing machine type from n1-standard-4 to custom-2-5120.",
  "etag": "\"923daeebe926c12f\"",
  "recommenderSubtype": "CHANGE_MACHINE_TYPE",
  "lastRefreshTime": "2019-06-13T06:44:58Z",
  "name": "projects/32428390823/locations/us-central1-a/recommenders/google.compute.instance.MachineTypeRecommender/recommendations/a523ff7e-ed03-4143-a3a5-5b396b99cba9",
  "primaryImpact": {
    "category": "COST",
    "costProjection": {
      "cost": {
        "currencyCode": "USD",
        "units": "-73"
      },
      "duration": "2592000s"
    }
  },
  "stateInfo": {
    "state": "ACTIVE"
  }
}

권장사항의 더 많은 예시는 추천자의 개별 추천자 문서를 참조하세요.

통계 참조

관련 통계를 참조합니다. 관련 통계가 있을 경우 참조에 이와 연결된 권장사항이 표시됩니다.