자동 확장을 사용 설정하면 자동 확장 처리는 개발자가 지정하는 옵션에 따라 확장 결정을 내립니다. 각 확장 결정은 Cloud Logging에 의해 로깅됩니다. 자동 확장 처리의 확장 결정을 명확하게 이해하려면 로그 탐색기에서 이러한 로그를 읽어보세요.
로그 탐색기를 사용하여 다음과 관련된 이벤트를 볼 수 있습니다.
- 관리형 인스턴스 그룹(MIG) 크기 조정을 위한 자동 확장 처리 권장사항. 자동 확장 처리가 MIG에 대해 새로운 권장 크기를 계산하면 권장 크기 변경사항이 자동 확장 처리 로그에 기술됩니다. 로그 항목 크기 조절을 참조하세요.
- 자동 확장 처리 상태 변경: 예를 들어 자동 확장 처리가 예상대로 작동하다가 문제가 발생한 경우 자동 확장 처리 로그에서 상태 변경사항이 설명됩니다. 상태 변경 로그 항목을 참조하세요.
시작하기 전에
- 자동 확장 문서를 읽어봅니다.
- 로그를 확인할 활성 상태의 자동 확장 처리를 준비합니다.
- 로그 탐색기 사용 방법을 검토합니다.
-
아직 인증을 설정하지 않았다면 설정합니다.
인증은 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. Google Cloud
로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음 옵션 중 하나를 선택하여 Compute Engine에 인증하면 됩니다.
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
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에서 다음과 같이 로그 탐색기 페이지로 이동할 수도 있습니다.
Google Cloud 콘솔에서 인스턴스 그룹 페이지로 이동합니다.
로그를 보려는 MIG 이름을 클릭합니다.
모니터링 탭을 클릭합니다.
모니터링 탭에서 로그 패널은 페이지 아래에 있습니다. 이 패널 끝에 있는 아이콘을 클릭하여 패널을 엽니다.
로그 탐색기 페이지를 열려면 이 패널에서 로그 탐색기에서 보기 아이콘을 클릭합니다. MIG의 모든 자동 확장 처리 로그를 가져오도록 로그 탐색기가 기본 쿼리로 열립니다.
자동 확장과 관련된 모든 로그를 조회하려면 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
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
에서 다음 필드는 이전 및 신규 상태를 기술합니다.
metadata.newStatus.details
: 자동 확장 처리의 신규 상태입니다.metadata.oldStatus.details
: 자동 확장 처리의 이전 상태입니다.
다음은 상태 변경을 기술하는 로그 항목의 예시입니다. 이 예시에서는 부하 분산 구성에 문제가 있음을 나타내는 새 상태 메시지가 표시될 수 있습니다.
{ 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" } }
로그 항목에서 다른 필드에 대한 자세한 내용은 감사 로그 항목의 형식을 참조하세요.
다음 단계
- 로그에서 수신한 정보를 사용하여 자동 확장 처리 업데이트
- 자동 확장 처리의 의사결정 방법 알아보기
- 자동 확장 옵션 검토