Google Cloud CLI의 gcloud compute instances ops-agents policies
명령어 그룹이나 ops-agent-policy
Terraform 모듈을 사용하여 에이전트 정책을 만들고 관리합니다.
에이전트 정책은 Compute Engine의 VM Manager 도구 모음을 사용하여 OS 정책을 관리하며 이를 통해 운영 에이전트와 같은 소프트웨어 구성의 배포 및 유지보수를 자동화할 수 있습니다. 이러한 정책은 기존 Monitoring 에이전트 또는 기존 Logging 에이전트에는 적용할 수 없습니다.
gcloud compute os-config os-policy-assignments
)이 있지만 gcloud compute instances ops-agents policies
명령어 그룹은 이 문서에 설명된 에이전트 정책을 위해 특별히 설계되었습니다.
시작하기 전에
ops-agent-policy
Terraform 모듈은 Google Cloud SDK의 gcloud compute instances ops-agents policies
명령어를 기반으로 빌드됩니다. Terraform 작동 방식에 대한 자세한 내용은 Terraform 사용을 참조하세요.
Google Cloud CLI 또는 Terraform 모듈을 사용하여 에이전트 정책을 만들기 전에 다음 단계를 완료합니다.
gcloud compute instances ops-agents policies
명령어를 사용하려고 하지만 아직 설치하지 않았으면 Google Cloud CLI를 설치합니다.Terraform 모듈을 사용하려면 다음을 수행합니다.
Terraform 설치 방법에 대한 자세한 내용은 Terraform 설치 및 구성을 참조하세요. Cloud Shell에는 Terraform이 이미 설치되어 있습니다.
ops-agent-policy
모듈이 포함된terraform-google-cloud-operations
저장소를 클론합니다.git clone https://github.com/terraform-google-modules/terraform-google-cloud-operations
prepare-for-ops-agents-policies.sh
스크립트를 다운로드하고 실행하여 필요한 API를 사용 설정하고 Google Cloud CLI 또는 Terraform을 사용할 수 있는 적절한 권한을 설정합니다.스크립트에 대한 자세한 내용은
prepare-for-ops-agents-policies.sh
스크립트를 참조하세요.
기존 Monitoring 에이전트 및 Logging 에이전트 제거
운영 에이전트의 정책을 만드는 경우 VM에 기존 Logging 에이전트나 Monitoring 에이전트가 설치되어 있지 않은지 확인합니다. 같은 VM에서 운영 에이전트와 기존 에이전트가 실행되면 중복 로그가 수집되거나 측정항목 수집 시 충돌이 발생할 수 있습니다. 필요한 경우 운영 에이전트를 설치하는 정책을 만들기 전에 Monitoring 에이전트를 제거하고 Logging 에이전트를 제거합니다.OS 구성 에이전트가 설치되어 있는지 확인
OS 구성 전에 만든 VM에는 OS 구성 에이전트를 수동으로 설치하고 구성해야 할 수 있습니다. OS 구성 에이전트를 수동으로 설치하고 확인하는 방법에 대한 자세한 내용은 VM Manager 확인 체크리스트를 참조하세요.
운영체제 정보 값 찾기
특정 운영체제 또는 버전에 에이전트 정책을 적용하려면 OS 구성에서 이를 참조하기 위해 사용하는 값을 알아야 합니다.
VM의 osShortName
필드와 osVersion
필드의 값을 찾으려면 다음 명령어를 사용합니다.
gcloud compute instances os-inventory describe INSTANCE_NAME \
--zone ZONE | grep "^ShortName: "
gcloud compute instances os-inventory describe INSTANCE_NAME \
--zone ZONE | grep "^Version: "
이러한 명령어를 사용하려면 VM에 OS 구성 에이전트가 설치되어 있어야 합니다.
운영 에이전트를 관리하는 에이전트 정책 만들기
명령줄
gcloud compute instances ops-agents policies
create
명령어를 사용하여 액세스 정책을 만듭니다.
이 명령어의 구조는 다음과 같습니다.
gcloud compute instances ops-agents policies
create
POLICY_ID \
--zone ZONE \
--file path/to/policy-description-file.yaml \
--project PROJECT_ID
이 명령어를 사용할 때는 변수를 다음과 같이 바꾸세요.
- POLICY_ID: 정책의 이름
- ZONE: Compute Engine 영역. 에이전트 정책은 지정된 영역의 VM에만 적용되며 여러 영역에 정책을 적용하려면 여러 정책을 만들어야 합니다.
- path/to/policy-description-file.yaml: 정책을 설명하는 YAML 파일의 경로. 이 파일의 구조에 관한 자세한 내용은 에이전트 정책 설명을 참고하세요.
- PROJECT_ID는 Google Cloud 프로젝트의 ID입니다.
명령어 그룹의 다른 명령어 및 사용 가능한 옵션에 대한 자세한 내용은 gcloud compute instances ops-agents policies
문서를 참조하세요.
에이전트 정책 설명
정책을 설명하는 YAML 파일을 만들고 해당 파일을 --file
옵션의 값으로 명령에 전달하여 gcloud compute instances ops-agents policies
create
에 정책 정보를 제공합니다.
이 섹션에서는 정책 설명 파일의 구조를 설명합니다. 자세한 내용은 정책 설명 파일 예시를 참고하세요.
YAML 정책 설명 파일 형식
상담사 정책의 설명 파일에는 두 개의 필드 그룹이 포함되어야 합니다.
agentsRule
: 에이전트 정책에 운영 에이전트를 설치 또는 삭제할지 여부를 알리고 작업할 운영 에이전트 버전을 지정합니다.instanceFilter
: 정책을 적용할 VM을 설명합니다.
agentsRule
필드 그룹의 구조
agentsRule
필드 그룹의 구조는 다음과 같습니다.
agentsRule:
packageState: installed|removed
version: latest|2.*.*|2.x.y
packageState
필드는 정책에 운영 에이전트의 의도된 상태를 알려줍니다. 유효한 값은installed
및removed
입니다.version
필드는 설치 또는 삭제할 운영 에이전트 버전을 나타냅니다. 다음 값을 지정할 수 있습니다.latest
: 최신 버전의 운영 에이전트2.*.*
: 운영 에이전트의 메이저 버전 2의 최신 출시 버전2.x.y
: 메이저 버전 2의 특정 출시 버전
사용 가능한 운영 에이전트 버전에 대한 자세한 내용은 에이전트의 GitHub 저장소를 참조하세요.
instanceFilter
필드 그룹의 구조
instanceFilter
필드 그룹은 필터가 적용되는 영역의 VM을 나타냅니다. 이 필드 그룹은 OS Config API의 OSPolicyAssignment
리소스에서 사용하는 InstanceFilter
구조의 YAML 표현입니다.
instanceFilter
필드 그룹에는 다음 구조 중 하나가 있습니다.
영역의 모든 VM에 에이전트 정책을 적용하려면 다음을 사용합니다.
instanceFilter: all: True
all: True
필터를 사용하는 경우 다른 기준을 지정할 수 없습니다.영역의 특정 VM 집합에 에이전트 정책을 적용하려면 다음 중 하나를 조합하여 VM을 설명합니다:
- VM에 라벨 사용(포함 또는 제외):
inclusionLabels:
exclusionLabels:
- 운영체제:
inventories:
예를 들어 다음 필터는 지정된 운영체제가 있는 VM('env=prod' 라벨이 있고 'app=web' 라벨이 없음)에 에이전트 정책을 적용합니다.
instanceFilter: inclusionLabels: - labels: env: prod exclusionLabels: - labels: app: web inventories: - osShortName: rhel osVersion: '7.*' - osShortName: debian osVersion: '11'
운영체제 값을 찾는 방법에 대한 자세한 내용은 운영체제 정보 찾기를 참조하세요.
- VM에 라벨 사용(포함 또는 제외):
Terraform
완전히 맞춤설정된 에이전트 정책을 만들려면 terraform-google-cloud-operations
저장소의 modules
디렉터리에 있는 ops-agent-policy
모듈을 사용합니다.
이 모듈을 사용하려면
명령어에 필요한 정보와 같은 정보가 필요합니다.
에이전트 정책을 설명하는 데 사용되는 모든 필드에 대한 설명을 확인하려면 명령줄 탭을 선택합니다.gcloud compute instances ops-agents policies
create
terraform-google-cloud-operations
저장소의 examples
디렉터리에는 ops-agent-policy
모듈에 필요한 많은 변수를 자동으로 제공하는 파일이 포함되어 있습니다. 자세한 내용은 정책 구성 예시를 참조하세요.
Terraform 구성을 적용하거나 삭제하는 방법은 기본 Terraform 명령어를 참조하세요. Terraform 작동 방식에 대한 자세한 내용은 Terraform 사용을 참조하세요.
에이전트 정책 상태 확인
이 섹션에서는 생성된 정책의 상태와 운영 에이전트 설치를 확인하는 방법을 설명합니다. 이 정보는 상담사 정책 문제 해결에도 도움이 됩니다.
Compute Engine OS 정책 페이지
Compute Engine OS 정책 페이지에서는 운영 에이전트를 관리하는 에이전트 정책 및 VM 인스턴스 탭의 VM에 대한 정보를 제공합니다. 예를 들면 다음과 같습니다.
- 상태 열: 정책의 성공적인 설치('규정 준수'), 진행 중('대기 중'), 실패('알 수 없음'), 또는 누락('정책 없음')을 나타냅니다.
- VM 모니터링됨 열: 운영 에이전트가 OS 구성에 의해 관리되고 있는지('모니터링됨') 또는 관리되지 않는지('모니터링되지 않음')를 나타냅니다.
정책이 '규정 준수'이지만 VM에 '모니터링되지 않음'이 표시되면 운영 에이전트를 설치하는 데 문제가 있을 수 있습니다. 예를 들어 기존 에이전트가 이미 설치되어 있을 수 있습니다.
Google Cloud 콘솔에서 OS 정책 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Compute Engine인 결과를 선택합니다.
Compute Engine OS 정책 탭의 VM 인스턴스에는 Google Cloud 프로젝트의 모든 OS 정책에서 관리하는 에이전트에 관한 정보가 표시됩니다. 이러한 정책은 goog-ops-agent-policy
로 표시됩니다.
goog-ops-agent-policy
지표에는 다음과 같은 여러 유형의 정책이 포함됩니다.gcloud compute instances ops-agents policies
명령어를 사용하여 생성된 정책- VM을 만들 때 운영 에이전트 설치를 요청한 경우 생성된 정책
- Terraform을 사용하여 운영 에이전트를 관리하기 위해 생성된 정책
정책을 구분하려면 페이지의 OS 정책 할당 탭을 사용하여 Google Cloud 프로젝트의 모든 정책 할당에 대한 정책 ID를 확인하세요.
- 이 VM 모니터링 열에는 수동 설치 또는 베타 에이전트 정책과 같은 다른 수단을 사용한 운영 에이전트 설치가 반영되지 않습니다.
Cloud Monitoring VM 인스턴스 페이지
Cloud Monitoring의 VM 인스턴스 페이지에는 각 VM에 설치된 에이전트를 나열하는 에이전트 열이 포함되어 있으며, 운영 에이전트의 경우 최신 버전보다 오래된 설치 에이전트에 대한 표시기가 포함되어 있습니다.
Google Cloud 콘솔에서 VM 인스턴스 대시보드 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Monitoring인 결과를 선택합니다.
정책 구성 예시
이 섹션에서는 Google Cloud SDK 또는 Terraform을 사용할 때 에이전트 정책을 설정하는 예시를 설명합니다.
명령줄
정책 설명 파일 예시
이 섹션에서는 다양한 시나리오에 관한 YAML 정책 설명 파일의 예를 몇 가지 제공합니다. 이 예에서는 YAML을agent-policy-description.yaml
라는 파일에 배치하고 다음과 같은 명령어를 사용하여 us-central1-a
영역에 정책을 만든다고 가정합니다.
gcloud compute instances ops-agents policies
create
POLICY_ID \
--zone us-central1-a \
--file agent-policy-description.yaml \
--project PROJECT_ID
모든 VM에 설치
us-central1-a
영역의 모든 VM에 최신 버전의 운영 에이전트를 설치하려면 다음 정책 설명을 사용하세요.
agentsRule:
packageState: installed
version: latest
instanceFilter:
all: True
모든 VM에서 삭제
us-central1-a
영역의 모든 VM에서 최신 버전의 운영 에이전트를 삭제하려면 다음 정책 설명을 사용하세요.
agentsRule:
packageState: removed
version: latest
instanceFilter:
all: True
라벨을 기반으로 VM에 설치
'env=prod' 또는 'app=web' 라벨이 있는 us-central1-a
영역의 모든 VM에 최신 버전의 운영 에이전트를 설치하려면 다음 정책 설명을 사용하세요.
agentsRule:
packageState: installed
version: latest
instanceFilter:
inclusionLabels:
- labels:
env: prod
- labels:
app: web
여러 labels:
(포함 또는 제외 항목)을 지정하는 경우 이러한 라벨 중 하나라도 있으면 VM이 일치합니다. 즉, 포함 또는 제외 라벨 세트는 논리 AND
연산이 아닌 논리 OR
연산으로 일치합니다.
다른 라벨을 기반으로 VM에 설치
Debian 11을 실행하는 us-central1-a
영역의 모든 VM("env=prod" 및 "app=web6" 라벨이 있는 VM 제외)에 최신 버전의 운영 에이전트를 설치하려면 다음 정책 설명을 사용하세요.
agentsRule:
packageState: installed
version: latest
instanceFilter:
exclusionLabels:
- labels:
env: prod
app: web6
inventories:
- osShortName: debian
osVersion: '11'
포함 또는 제외를 위해 단일 labels:
항목 아래에 여러 키-값 쌍을 지정하는 경우 모든 라벨이 있는 경우, 즉 라벨이 논리 OR
연산이 아닌 논리 AND
연산으로 일치하는 경우 VM이 일치합니다.
운영체제 기반 VM에 설치
us-central1-a
영역에서 Debian 11 또는 RHEL 7.* 를 실행하는 모든 VM에 최신 버전 2의 운영 에이전트를 설치하려면 다음 정책 설명을 사용합니다.
agentsRule:
packageState: installed
version: 2.*.*
instanceFilter:
inventories:
- osShortName: rhel
osVersion: '7.*'
- osShortName: debian
osVersion: '11'
Terraform
이 섹션에서는 terraform-google-cloud-operations
저장소의 examples
디렉터리에 있는 예시를 설명합니다. 이러한 예시에는 ops-agent-policy
모듈에 필요한 여러 변수를 자동으로 구성하는 파일이 포함되어 있습니다. 예시를 복사하여 수정할 수도 있습니다. 예를 들어 다음 예시 모두 운영 에이전트를 설치합니다. 대신 에이전트를 삭제하도록 예시를 수정할 수 있습니다.
Terraform 구성을 적용하거나 삭제하는 방법은 기본 Terraform 명령어를 참조하세요.
예: ops_agent_policy_install_all
이 예시에서는 Google Cloud 프로젝트의 모든 대상 VM에 최신 버전의 운영 에이전트를 설치합니다.
terraform plan
또는 terraform apply
명령어를 실행하면 다음 값을 입력하라는 메시지가 표시됩니다.
- PROJECT_ID: Google Cloud 프로젝트의 ID입니다.
예: ops_agent_policy_install_all_in_region
이 예시에서는 us-west1
과 같이 지정된 리전의 모든 대상 VM에 최신 버전의 운영 에이전트를 설치합니다. 리전에는 여러 영역이 포함됩니다(이 경우 us-west-1a
, us-west-1b
, us-west-1c
).
terraform plan
또는 terraform apply
명령어를 실행하면 다음 값을 입력하라는 메시지가 표시됩니다.
- PROJECT_ID: Google Cloud 프로젝트의 ID입니다.
- REGION: VM에 에이전트를 설치할 리전입니다.
예: ops_agent_policy_install_all_in_zone
이 예시에서는 us-central1-a
과 같이 지정된 영역의 모든 대상 VM에 최신 버전의 운영 에이전트를 설치합니다.
terraform plan
또는 terraform apply
명령어를 실행하면 다음 값을 입력하라는 메시지가 표시됩니다.
- PROJECT_ID: Google Cloud 프로젝트의 ID입니다.
- ZONE: VM에 에이전트를 설치할 영역
정식 버전 에이전트 정책 문제 해결
이 섹션에서는 운영 에이전트의 정식 버전 에이전트 정책 문제를 해결하는 데 도움이 되는 정보를 제공합니다. 상담사 정책 상태 확인에 설명된 정보도 유용할 수 있습니다.
ops-agents policy
명령어 실패
gcloud compute instances ops-agents policies
명령어가 실패하면 응답에 유효성 검사 오류가 표시됩니다. 오류 메시지에 제안된 대로 명령어 인수와 플래그를 수정하여 이러한 오류를 수정합니다.
검증 오류 외에도 다음 조건을 나타내는 오류가 표시될 수 있습니다.
다음 섹션에서는 이러한 조건을 자세히 설명합니다.
IAM 권한 부족
gcloud compute instances ops-agents policies
명령에 권한 오류가 발생하여 실패하는 경우 시작하기 전에에 설명된 대로 prepare-for-ops-agents-policies.sh
스크립트를 실행하여 OS 구성 정책 역할을 설정했는지 확인하세요.
-
OSPolicyAssignment 관리자(
roles/osconfig.osPolicyAssignmentAdmin
): OS 정책 할당에 대한 전체 액세스 권한을 제공합니다.
-
OSPolicyAssignment 편집자(
roles/osconfig.osPolicyAssignmentEditor
): 사용자가 OS 정책 할당을 가져오고 업데이트하고 나열할 수 있습니다.
-
OSPolicyAssignment 뷰어(
roles/osconfig.osPolicyAssignmentViewer
): OS 정책 할당을 가져오고 나열하기 위한 읽기 전용 액세스 권한을 제공합니다.
prepare-for-ops-agents-policies.sh
스크립트에 관한 자세한 내용은 prepare-for-ops-agents-policies.sh
스크립트를 참고하세요.
OS Config API가 사용 설정되지 않음
샘플 오류는 다음과 같이 표시됩니다.
API [osconfig.googleapis.com] not enabled on project PROJECT_ID.
Would you like to enable and retry (this will take a few minutes)?
(y/N)?
y
를 입력하여 API를 사용 설정하거나 시작하기 전에에 설명된 대로 prepare-for-ops-agents-policies.sh
스크립트를 실행하여 필요한 모든 권한을 부여합니다. 오류 메시지의 프롬프트에서 y
를 입력해도 prepare-for-ops-agents-policies.sh
스크립트를 실행하여 필요한 권한을 설정해야 합니다.
프로젝트에 OS Config API가 사용 설정되었는지 확인하려면 다음 명령어를 실행합니다.
gcloud services list --project PROJECT_ID | grep osconfig.googleapis.com
예상되는 출력은 다음과 같습니다.
osconfig.googleapis.com Cloud OS Config API
정책이 이미 존재함
샘플 오류는 다음과 같이 표시됩니다.
ALREADY_EXISTS: Requested entity already exists
이 오류는 동일한 이름, 프로젝트 ID, 리전으로 이 정책이 이미 존재함을 의미합니다. gcloud compute instances ops-agents policies
describe
명령어를 사용하여 이를 확인할 수 있습니다.
정책이 존재하지 않음
샘플 오류는 다음과 같이 표시됩니다.
NOT_FOUND: Requested entity was not found
이 오류는 정책이 생성되지 않았거나, 정책이 삭제되었거나, 지정된 정책 ID가 잘못되었음을 의미할 수 있습니다. gcloud compute instances ops-agents policies
describe
, update
또는 delete
명령어에 사용된 POLICY_ID가 기존 정책에 해당하는지 확인합니다. 에이전트 정책 목록을 가져오려면 gcloud compute instances ops-agents policies
list
명령어를 사용하세요.
정책이 생성되었으나 효과가 없음
OS 구성 에이전트는 각 Compute Engine 인스턴스에 배포되어 Logging 및 Monitoring 에이전트의 패키지를 관리합니다. 기본 OS 구성 에이전트가 설치되지 않은 경우 정책이 아무런 효과가 없는 것처럼 보일 수 있습니다.
Linux
OS 구성 에이전트가 설치되었는지 확인하려면 다음 명령어를 실행합니다.
gcloud compute ssh instance-id \
--project project-id \
-- sudo systemctl status google-osconfig-agent
샘플 출력은 다음과 같습니다.
google-osconfig-agent.service - Google OSConfig Agent
Loaded: loaded (/lib/systemd/system/google-osconfig-agent.service; enabled; vendor preset:
Active: active (running) since Wed 2020-01-15 00:14:22 UTC; 6min ago
Main PID: 369 (google_osconfig)
Tasks: 8 (limit: 4374)
Memory: 102.7M
CGroup: /system.slice/google-osconfig-agent.service
└─369 /usr/bin/google_osconfig_agent
Windows
OS 구성 에이전트가 설치되었는지 확인하려면 다음 단계를 실행합니다.
RDP 또는 유사한 도구를 사용하여 인스턴스에 연결하고 Windows에 로그인합니다.
PowerShell 터미널을 열고 다음 PowerShell 명령어를 실행하세요. 관리자 권한은 필요하지 않습니다.
Get-Service google_osconfig_agent
샘플 출력은 다음과 같습니다.
Status Name DisplayName
------ ---- -----------
Running google_osconfig_a… Google OSConfig Agent
OS 구성 에이전트가 설치되어 있지 않다면 VM Manager를 지원하지 않는 운영체제를 사용 중일 수 있습니다. Compute Engine 운영체제 세부정보 문서에 각 Compute Engine 운영체제에서 지원되는 VM Manager 기능이 나와 있습니다.
운영체제에서 VM Manager를 지원하는 경우 OS 구성 에이전트를 수동으로 설치할 수 있습니다.
OS 구성 에이전트가 설치되어 있지만 운영 에이전트는 설치되지 않음
OS 구성 에이전트의 로그를 확인하여 OS 구성 에이전트가 정책을 적용할 때 오류가 있는지 확인할 수 있습니다. 로그 탐색기나 SSH 또는 RDP를 사용해서 이 작업을 수행하여 개별 Compute Engine 인스턴스를 확인할 수 있습니다.
로그 탐색기에서 OS 구성 에이전트 로그를 보려면 다음 필터를 사용하세요.
resource.type="gce_instance"
logId(OSConfigAgent)
OS 구성 에이전트 로그를 보려면 다음 안내를 따르세요.
CentOS, RHEL,
SLES, SUSE
다음 명령어를 실행합니다.
gcloud compute ssh INSTANCE_ID \
--project PROJECT_ID \
-- sudo cat /var/log/messages \
| grep "OSConfigAgent\|google-fluentd\|stackdriver-agent"
Debian, Ubuntu
다음 명령어를 실행합니다.
gcloud compute ssh INSTANCE_ID \
--project PROJECT_ID \
-- sudo cat /var/log/syslog \
| grep "OSConfigAgent\|google-fluentd\|stackdriver-agent"
Windows
RDP 또는 유사한 도구를 사용하여 인스턴스에 연결하고 Windows에 로그인합니다.
이벤트 뷰어 앱을 열고 Windows 로그 > 애플리케이션을 선택하고
Source
가OSConfigAgent
인 로그를 검색합니다.
OS 구성 서비스에 연결하는 데 오류가 발생하면 시작하기 전에에 설명된 대로 prepare-for-ops-agents-policies.sh
스크립트를 실행하여 OS 구성 메타데이터를 설정합니다.
다음 명령어를 실행하면 OS 구성 메타데이터가 사용 설정되었는지 확인할 수 있습니다.
gcloud compute project-info describe \
--project PROJECT_ID \
| grep "enable-osconfig\|enable-guest-attributes" -A 1
예상되는 출력은 다음과 같습니다.
- key: enable-guest-attributes
value: 'TRUE'
- key: enable-osconfig
value: 'TRUE'
운영 에이전트가 설치되었지만 제대로 작동하지 않음
운영 에이전트 문제 디버깅에 관한 자세한 내용은 운영 에이전트 문제 해결을 참고하세요.
OS 구성 에이전트에 대한 디버그 수준 로그 사용 설정
문제를 보고할 때는 OS 구성 에이전트에서 디버그 수준 로깅을 사용 설정하는 것이 유용할 수 있습니다.
osconfig-log-level: debug
메타데이터를 설정하여 OS 구성 에이전트에 디버그 수준 로깅을 사용 설정할 수 있습니다. 수집된 로그에는 조사에 도움이 되는 추가 정보가 있습니다.
전체 프로젝트에 디버그 수준 로깅을 사용 설정하려면 다음 명령어를 실행합니다.
gcloud compute project-info add-metadata \
--project PROJECT_ID \
--metadata osconfig-log-level=debug
VM 하나의 디버그 수준 로깅을 사용 설정하려면 다음 명령어를 실행합니다.
gcloud compute instances add-metadata INSTANCE_ID \
--project PROJECT_ID \
--metadata osconfig-log-level=debug
도우미 스크립트
이 섹션에서는 이 문서에 설명된 도우미 스크립트에 관한 추가 정보를 제공합니다.
prepare-for-ops-agents-policies.sh
스크립트
prepare-for-ops-agents-policies.sh
스크립트를 다운로드한 후 사용자가 제공한 인수를 기반으로 스크립트를 사용하여 다음 작업을 수행할 수 있습니다.
프로젝트의 Cloud Logging API, Cloud Monitoring API, OS Config API를 사용 설정합니다.
OS 구성 API가 아직 사용 설정되지 않은 경우 에이전트 정책을 관리하기에 충분한 제한된 기능 모드로 사용 설정됩니다. 자세한 내용은 가격 책정을 참조하세요.
Identity and Access Management 역할 로그 작성자(
roles/logging.logWriter
) 및 모니터링 측정항목 작성자(roles/monitoring.metricWriter
)를 Compute Engine 기본 서비스 계정에 부여하여 에이전트가 Logging 및 Cloud Monitoring API에 로그와 측정항목을 쓸 수 있도록 합니다.각 VM의 OS 구성 에이전트가 활성화되도록 프로젝트의 OS 구성 메타데이터를 사용 설정합니다.
소유자가 아닌 사용자 또는 서비스 계정에 정책을 만들고 관리하는 데 필요한 다음 IAM 역할 중 하나를 부여합니다. 프로젝트 소유자에게는 정책을 만들고 관리할 수 있는 전체 액세스 권한이 있습니다. 다른 모든 사용자나 서비스 계정에는 다음 역할 중 하나가 부여되어야 합니다.
-
OSPolicyAssignment 관리자(
roles/osconfig.osPolicyAssignmentAdmin
): OS 정책 할당에 대한 전체 액세스 권한을 제공합니다.
-
OSPolicyAssignment 편집자(
roles/osconfig.osPolicyAssignmentEditor
): 사용자가 OS 정책 할당을 가져오고 업데이트하고 나열할 수 있습니다.
-
OSPolicyAssignment 뷰어(
roles/osconfig.osPolicyAssignmentViewer
): OS 정책 할당을 가져오고 나열하기 위한 읽기 전용 액세스 권한을 제공합니다.
스크립트를 실행할 때 OSPolicyAssignment 역할을
admin
,editor
또는viewer
로 지정할 수 있습니다. 스크립트는 이러한 값을roles/osconfig.osPolicyAssignment*
역할 이름에 매핑합니다.-
OSPolicyAssignment 관리자(
다음 예시에서는 스크립트에 대한 몇 가지 일반적인 호출을 보여줍니다. 자세한 내용은 스크립트 자체의 주석을 참고하세요.
API를 사용 설정하고 기본 서비스 계정에 필요한 역할을 부여하고 프로젝트에 OS 구성 메타데이터를 사용 설정하려면 다음과 같이 스크립트를 실행합니다.
bash prepare-for-ops-agents-policies.sh --project=PROJECT_ID
프로젝트의 소유자(roles/owner
) 역할이 없는 사용자에게 OS 구성 역할 중 하나를 추가로 부여하려면 다음과 같이 스크립트를 실행합니다.
bash prepare-for-ops-agents-policies.sh --project=PROJECT_ID \ --iam-user=USER_EMAIL \ --iam-policy-access=[admin|editor|viewer]
OS 구성 역할 중 하나를 기본이 아닌 서비스 계정에 추가로 부여하려면 다음과 같이 스크립트를 실행합니다.
bash prepare-for-ops-agents-policies.sh --project=PROJECT_ID \ --iam-service-account=SERVICE_ACCT_EMAIL \ --iam-policy-access=[admin|editor|viewer]
diagnose_policies.sh
스크립트
프로젝트 ID, Compute Engine 인스턴스 ID, Compute Engine 영역, 에이전트 정책 ID가 주어지면 diagnose_policies.sh
스크립트는 정책의 문제를 진단하는 데 필요한 정보를 자동으로 수집합니다.
- OS 구성 에이전트 버전
- 기본 OS 정책 할당
- 이 Compute Engine 인스턴스에 적용되는 OS 정책 할당
- 이 Compute Engine 인스턴스의 설명
스크립트를 호출하려면 다음 명령어를 실행합니다.
bash diagnose_policies.sh --project-id=PROJECT_ID \ --gce-instance-id=INSTANCE_ID \ --policy-id=POLICY_ID \ --zone=ZONE
가격 책정
gcloud compute instances ops-agents policies
명령어는 VM Manager의 OS 정책 할당 리소스를 사용하여 구현됩니다.
시작하기 전에에 설명된 prepare-for-ops-agents-policies.sh
스크립트는 에이전트 정책을 생성하고 관리하는 데 충분한 제한 기능 모드(OSCONFIG_B
)로 VM Manager를 설정합니다. 제한 모드에서 VM Manager를 사용하는 데는 비용이 들지 않습니다.
VM 관리자를 전체 기능 모드(OSCONFIG_C
)로 구성한 경우 비용이 발생할 수 있습니다.