자동 확장을 사용 설정하면 자동 확장 처리는 개발자가 지정하는 옵션에 따라 확장 결정을 내립니다. 각 확장 결정은 Cloud Logging에 의해 로깅됩니다. 자동 확장 처리의 확장 결정을 명확하게 이해하려면 로그 탐색기에서 이러한 로그를 읽어보세요.
로그 탐색기를 사용하여 다음과 관련된 이벤트를 볼 수 있습니다.
- 관리형 인스턴스 그룹(MIG) 크기 조정을 위한 자동 확장 처리 권장사항. 자동 확장 처리가 MIG에 대해 새로운 권장 크기를 계산하면 권장 크기 변경사항이 자동 확장 처리 로그에 기술됩니다. 로그 항목 크기 조절을 참조하세요.
- 자동 확장 처리 상태 변경: 예를 들어 자동 확장 처리가 예상대로 작동하다가 문제가 발생한 경우 자동 확장 처리 로그에서 상태 변경사항이 설명됩니다. 상태 변경 로그 항목을 참조하세요.
시작하기 전에
- 자동 확장 문서를 읽어봅니다.
- 로그를 확인할 활성 상태의 자동 확장 처리를 준비합니다.
- 로그 탐색기 사용 방법을 검토합니다.
-
아직 인증을 설정하지 않았다면 설정합니다.
인증은 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. Google Cloud
로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음 옵션 중 하나를 선택하여 Compute Engine에 인증하면 됩니다.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- 로그 탐색기 페이지로 이동합니다.
- 리소스 드롭다운 메뉴를 풀다운하여 자동 확장 처리를 선택합니다.
Google Cloud 콘솔에서 인스턴스 그룹 페이지로 이동합니다.
로그를 보려는 MIG 이름을 클릭합니다.
모니터링 탭을 클릭합니다.
모니터링 탭에서 로그 패널은 페이지 아래에 있습니다. 이 패널 끝에 있는 아이콘을 클릭하여 패널을 엽니다.
로그 탐색기 페이지를 열려면 이 패널에서 로그 탐색기에서 보기 아이콘을 클릭합니다. MIG의 모든 자동 확장 처리 로그를 가져오도록 로그 탐색기가 기본 쿼리로 열립니다.
ON
: 자동 확장 처리가 MIG를newSize
로 크기 조절합니다.OFF
: 자동 확장 처리가 MIG를 크기 조절하지 않습니다.ONLY_SCALE_OUT
:newSize
가 MIG의 대상 크기보다 큰 경우에만 자동 확장 처리가 MIG를 크기 조절합니다.servingSize
: 초기화 기간에 있는 VM을 제외하고 MIG에 있는 VM 수입니다.signalTarget
: CPU 사용률(실시간), 예상 CPU 사용률, 부하 분산 사용률, 사용률 목표로 구성된 측정항목에 대해 자동 확장 처리가 유지관리하는 목표 값입니다.singleInstanceAssignment
: 확장이 수행할 총 작업량을 나타내는 측정항목 값을 기반으로 하는 경우singleInstanceAssignment
는 각 VM이 처리할 수 있는 작업 수량입니다.signalValue
: 자동 확장 신호의 값입니다.signalTarget
이 설정된 경우 자동 확장 처리가signalValue
를signalTarget
과 비교하여calculatedSize
로 표시되는 필요한 VM 수를 계산합니다.ON
: 자동 확장 처리가 MIG를newSize
로 크기 조절합니다.OFF
: 자동 확장 처리가 MIG를 크기 조절하지 않습니다.ONLY_SCALE_OUT
:newSize
가 MIG의 대상 크기보다 큰 경우에만 자동 확장 처리가 MIG를 크기 조절합니다.metadata.newStatus.details
: 자동 확장 처리의 신규 상태입니다.metadata.oldStatus.details
: 자동 확장 처리의 이전 상태입니다.- 로그에서 수신한 정보를 사용하여 자동 확장 처리 업데이트
- 자동 확장 처리의 의사결정 방법 알아보기
- 자동 확장 옵션 검토
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참고하세요.
자동 확장 처리 로그 보기
자동 확장 처리 로그를 보려면 Google Cloud 콘솔, gcloud CLI 또는 REST를 사용합니다.
콘솔
자동 확장을 설정한 경우 Google Cloud 콘솔에서 자동 확장 로그를 볼 수 있습니다.
MIG에서 다음과 같이 로그 탐색기 페이지로 이동할 수도 있습니다.
gcloud
자동 확장과 관련된 모든 로그를 조회하려면
logging read
명령어를 사용합니다. 예를 들면 다음과 같습니다.gcloud logging read "resource.type=autoscaler" --limit 10 \ --format json
특정 MIG의 자동 확장 처리 로그를 보려면 다음과 같이
instance_group_manager_name
을 지정합니다.gcloud logging read "resource.type=autoscaler AND \ resource.labels.instance_group_manager_name=example-igm" \ --limit 10 --format json
자동 확장 처리 크기 조절 작업과 관련된 로그 항목을 보려면
compute.autoscalers.resize
메서드 이름을 지정합니다.gcloud logging read "resource.type=autoscaler AND \ resource.labels.instance_group_manager_name=example-igm AND \ protoPayload.methodName=compute.autoscalers.resize" \ --limit 10 --format json
자동 확장 처리 상태 변경사항과 관련된 로그 항목을 보려면
compute.autoscalers.changeStatus
메서드 이름을 지정합니다.gcloud logging read "resource.type=autoscaler AND \ resource.labels.instance_group_manager_name=example-igm AND \ protoPayload.methodName=compute.autoscalers.changeStatus" \ --limit 10 --format json
REST
Logging V2 API에 요청을 수행합니다. 요청 본문에는 로그를 검색할 때 사용할
filter
매개변수와 로그를 보려는project
가 포함되어 있어야 합니다. 예를 들어 특정 MIG의 크기 조절 작업 목록을 가져오는 요청을 수행하려면 다음 안내를 따르세요.POST https://logging.googleapis.com/v2/entries:list { "filter": "resource.type=autoscaler AND resource.labels.instance_group_manager_name=example-igm AND protoPayload.methodName=compute.autoscalers.resize", "pageSize": 10, "resourceNames": [ "projects/example-project" ] }
특정 MIG의 상태 변경사항 목록을 가져오는 요청을 수행하려면 다음 안내를 따르세요.
POST https://logging.googleapis.com/v2/entries:list { "filter": "resource.type=autoscaler AND resource.labels.instance_group_manager_name=example-igm AND protoPayload.methodName=compute.autoscalers.changeStatus", "pageSize": 10, "resourceNames": [ "projects/example-project" ] }
로그 항목 크기 조절
자동 확장 처리가 MIG에 대해 권장 크기를 계산하면 Compute Engine이 신규 및 기존 권장 크기를 캡처하여 로그 항목을 만듭니다. 영역 MIG의 경우 로그 항목에 권장 크기 변경 이유도 캡처됩니다.
다음은 영역 MIG의 로그 항목 예시입니다. 이 예시에서는 예측적인 자동 확장을 기반으로 자동 확장 처리가
3
개의 VM을 계산하여35%
의 CPU 활용률 목표를 달성했습니다. 하지만 자동 확장 정책에 구성된 최대 인스턴스 수는2
개뿐입니다. 따라서 자동 확장 처리가 권장 크기를2
로 제한합니다.{ insertId: "1l68z7sg4jw7kzo" logName: "projects/example-project/logs/cloudaudit.googleapis.com%2Fsystem_event" protoPayload: { @type: "type.googleapis.com/google.cloud.audit.AuditLog" metadata: { @type: "type.googleapis.com/autoscaler.AutoscalerSizeChangeExplanation" autoscalingMode: "ON" autoscalingReason: { scalingLimit: { limitPolicy: { maxNumReplicas: 2 } limitSize: 2 name: "MAX_INSTANCES" } scalingSignal: { calculatedSize: 3 calculationDetails: { servingSize: 1 signalTarget: 0.35 signalValue: 1.03533 } name: "PREDICTED_CPU_UTILIZATION" signalPolicy: { coolDownPeriodSec: 15 cpuUtilization: { predictiveMethod: "OPTIMIZE_AVAILABILITY" utilizationTarget: 0.35 } } } summary: "The autoscaler's recommended size changed from 1 to 2 because the autoscaler predicted that in 15 seconds the average CPU utilization across 1 serving instance will be 103.533%, which is above the utilization target of 35%. The calculated size was 3 to achieve the target CPU utilization but the size was limited by the maximum number of instances set in the autoscaling policy." } newSize: 2 oldSize: 1 } methodName: "compute.autoscalers.resize" resourceName: "projects/example-project/zones/us-east1-d/autoscalers/example-autoscaler" serviceName: "compute.googleapis.com" } receiveTimestamp: "2022-06-13T22:34:43.045973046Z" resource: { labels: { autoscaler_id: "1234567890123456789" autoscaler_name: "example-autoscaler" instance_group_manager_id: "1357908642148074125" instance_group_manager_name: "example-igm" location: "us-east1-d" project_id: "example-project" } type: "autoscaler" } severity: "INFO" timestamp: "2022-06-13T22:34:42.810216614Z" }
다음 표에서는 로그 항목의 필드를 설명합니다.
속성 값 autoscalingMode
항목이 기록된 시간의 자동 확장 모드입니다. 모드에 관계없이 자동 확장 처리가 로그에서 newSize
로 표시되는 권장 크기를 계산합니다. 자동 확장 모드에 따라 자동 확장 처리가 MIG를 다음과 같이 크기 조절합니다.autoscalingReason
자동 확장 이유에 대한 세부정보입니다. 이 필드는 영역 MIG에만 표시됩니다. autoscalingReason.scalingLimit
자동 확장 신호에 따라 자동 확장 처리로 계산된 크기인 calculatedSize
를 제한한 자동 확장 기능에 대한 세부정보입니다.calculatedSize
를 제한할 수 있는 자동 확장 기능은 최대 또는 최소 인스턴스 수, 수평 축소 제어, 안정화 기간입니다.calculatedSize
에 제한이 적용되지 않으면scalingLimit
필드가 로그에 표시되지 않습니다.autoscalingReason.scalingLimit.limitPolicy
calculatedSize
를 제한한 자동 확장 기능의 구성입니다. 안정화가 자동 확장의 기본 기능이기 때문에 안정화로calculatedSize
가 제한되는 경우limitPolicy
필드가 설정되지 않습니다.autoscalingReason.scalingLimit.limitSize
calculatedSize
를 제한한 자동 확장 기능을 기반으로 하는 VM 수입니다.autoscalingReason.scalingLimit.name
calculatedSize
를 제한한 자동 확장 기능의 이름입니다.autoscalingReason.scalingSignal
MIG에 필요한 VM 수를 계산하는 데 사용되는 자동 확장 신호에 대한 세부정보입니다. 자동 확장 정책에 여러 신호가 포함된 경우 자동 확장 처리는 가장 많은 수의 VM이 필요한 신호를 고려합니다. autoscalingReason.scalingSignal.calculatedSize
자동 확장 신호를 기반으로 MIG에 필요한 VM 수입니다. scalingLimit
가 적용되는 경우 자동 확장 처리가calculatedSize
를scalingLimit.limitSize
로 제한합니다.autoscalingReason.scalingSignal.calculationDetails
calculatedSize
를 결정하는 데 사용되는 세부정보입니다.autoscalingReason.scalingSignal.name
자동 확장 처리에서 로그에 calculatedSize
로 표시되는 VM 수를 계산하는 데 기반으로 사용된 자동 확장 신호의 이름입니다.autoscalingReason.scalingSignal.signalPolicy
자동 확장 처리에서 calculatedSize
를 결정하는 데 기반으로 사용된 자동 확장 신호의 구성입니다.autoscalingReason.summary
자동 확장 이유에 대한 설명입니다. newSize
MIG의 현재 권장 크기입니다. 자동 확장 처리는 autoscalingMode
에 따라 다음과 같이 MIG를newSize
로 크기 조절합니다.oldSize
MIG의 이전 권장 크기입니다. 로그 항목에서 다른 필드에 대한 자세한 내용은 감사 로그 항목의 형식을 참조하세요.
상태 변경 로그 항목
자동 확장 처리의 상태가 변경되면 Compute Engine은 이전 및 신규 상태 메시지를 캡처하는 로그 항목을 만듭니다. 이 상태 메시지를 사용하여 자동 확장 처리가 예상대로 작동하지 않는 이유를 확인하거나 이전에 확인한 문제를 디버깅할 수 있습니다. 일반적인 상태 메시지에 대해서는 일반적으로 반환되는 상태 메시지를 참조하세요.
protoPayload
에서 다음 필드는 이전 및 신규 상태를 기술합니다.다음은 상태 변경을 기술하는 로그 항목의 예시입니다. 이 예시에서는 부하 분산 구성에 문제가 있음을 나타내는 새 상태 메시지가 표시될 수 있습니다.
{ insertId: "ivho6kg4icqfio" logName: "projects/example-project/logs/cloudaudit.googleapis.com%2Fsystem_event" protoPayload: { metadata: { @type: "type.googleapis.com/autoscaler.AutoscalerStatusChange" newStatus: { details: "The autoscaler is configured to scale based on a load balancing signal but the instance group has not received any utilization data from the load balancer or the utilization is constantly 0. Check that the load balancing configuration is working" } oldStatus: { details: "OK" }, methodName: "compute.autoscalers.changeStatus" resourceName: "projects/example-project/zones/us-east1-b/autoscalers/example-autoscaler" serviceName: "compute.googleapis.com" } receiveTimestamp: "2022-06-08T03:54:12.332329320Z" resource: { labels: { autoscaler_id: "1234567890123456789" autoscaler_name: "example-autoscaler" instance_group_manager_id: "1357908642148074125" instance_group_manager_name: "example-igm" location: "us-east1-b" project_id: "example-project" } type: "autoscaler" } severity: "INFO" timestamp: "2022-06-08T03:54:10.675416812Z" } }
로그 항목에서 다른 필드에 대한 자세한 내용은 감사 로그 항목의 형식을 참조하세요.
다음 단계
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-02-21(UTC)
-