게스트 환경

이 문서에서는 인스턴스가 Compute Engine에서 실행하는 데 필요한 스크립트, 데몬, 바이너리가 포함된 게스트 환경을 간략하게 설명합니다.

게스트 환경은 모든 Compute Engine 인스턴스와 함께 실행되는 인스턴스별 HTTP 서버인 메타데이터 서버와 통신합니다. 메타데이터 서버는 필수 구성 및 운영 데이터를 인스턴스에 제공합니다. 메타데이터 서버에 저장되는 메타데이터 유형에 대한 자세한 내용은 VM 메타데이터를 참조하세요.

게스트 환경은 Google에서 제공하는 대부분의 공개 운영체제(OS) 이미지를 사용하여 생성된 Compute Engine 인스턴스에 자동으로 설치됩니다. 각 OS 이미지에는 특정 게스트 환경 패키지가 필요합니다. 이러한 패키지는 Google 또는 운영체제 배포자가 빌드합니다. 게스트 환경이 포함되는 OS 이미지의 전체 목록은 운영체제 세부정보를 참조하세요.

게스트 환경 구성요소

다음 섹션에서는 인스턴스가 Compute Engine과 통신할 수 있도록 지원하는 패키지와 서비스를 설명합니다.

게스트 에이전트

게스트 환경의 중앙 구성요소는 게스트 에이전트이며, 게스트 에이전트는 계정 관리, OS 로그인 통합, 네트워크 인터페이스 관리와 같은 작업을 처리합니다. 게스트 에이전트는 Linux 및 Windows 운영체제에서 사용할 수 있으며, 패키지 이름은 다음과 같습니다.

  • Linux: google-guest-agent
  • Windows: google-compute-engine-windows

게스트 에이전트의 기능, 아키텍처, 에이전트 관리 방법 등에 대한 자세한 내용은 게스트 에이전트를 참조하세요.

Linux 구성요소

Linux 게스트 환경의 기본 구성요소는 deb 또는 rpm 패키지입니다. Compute Engine은 지원되는 배포판에 대한 적절한 구성으로 이러한 패키지를 만듭니다. Linux 인스턴스에 설치된 패키지 목록을 보려면 인스턴스에 연결하고 운영체제 버전별 설치된 패키지표에서 해당 OS 버전에 제공된 명령을 실행합니다.

Linux 게스트 환경에는 다음 주요 패키지가 포함됩니다.

패키지 이름 설명 주요 상호작용 GitHub의 소스 코드 링크
google-guest-agent

이 패키지는 Linux 환경의 게스트 에이전트입니다.

Linux 게스트 에이전트에는 Compute Engine 기능을 지원하기 위해 게스트 OS에서 실행되는 스크립트가 포함되어 있습니다. 게스트 에이전트의 기능, 아키텍처, 에이전트 관리 방법 등에 대한 자세한 내용은 게스트 에이전트를 참조하세요.

guest-agent
google-compute-engine

시스템 초기화 및 구성에 필요한 스크립트와 파일이 포함되어 있습니다.

이 패키지에는 다음이 포함됩니다.

  • systemd의 시스템 init 스크립트
  • 호스트 이름 설정에 사용되는 udev 규칙, sysctl 규칙, rsyslog 구성, dhcp 구성과 같은 시스템 구성
  • 인스턴스 부팅 중에 실행되는 Bash 스크립트
  • 2024년 10월에 도입된 gce-resolved.conf 파일로, .local Cloud DNS 도메인의 도메인 조회가 메타데이터 서버로 라우팅되도록 합니다. 이 파일이 없으면 도메인 조회가 systemd-resolved를 통해 라우팅되므로 자주 실패합니다.

    환경에서 .local 도메인을 사용하지 않는 경우 기존 구성과 충돌하면 gce-resolved.conf 파일을 삭제할 수 있습니다.

다음 패키지와 함께 인스턴스를 구성합니다.
  • google-guest-agent
  • google-compute-engine-oslogin
guest-configs
google-compute-engine-oslogin OS 로그인을 사용하여 인스턴스 액세스를 관리하는 데 필요한 바이너리, 모듈, 스크립트가 포함되어 있습니다. OS 로그인을 사용하면 IAM 역할을 사용하여 인스턴스에 대한 액세스를 관리할 수 있습니다. OS 로그인에 대한 자세한 내용은 OS 로그인을 참조하세요.

이 패키지에는 다음이 포함됩니다.

  • 승인 키 명령어: 로그인 시 공개 SSH 키를 사용하여 사용자를 인증하는 명령어입니다.
  • NSS(Name Service Switch) 모듈: 시스템에 OS 로그인 사용자 및 그룹 정보를 제공하는 서비스입니다.
  • 플러그형 인증 모듈(PAM): 승인(및 2단계 지원이 사용 설정된 경우 인증)을 지원하는 모듈입니다. 이 모듈을 사용하면 시스템에서 Google CloudIAM 권한을 사용하여 시스템이 인스턴스에 로그인하거나 루트(sudo 사용)로 작업을 수행할 수 있는지를 제어할 수 있습니다.
  • google_oslogin_nss_cache: 로컬 사용자 및 그룹 캐시를 업데이트하는 유틸리티입니다.
  • selinux: SELinux 정책 정의 파일과 OS 로그인을 지원하도록 SELinux를 구성하기 위한 컴파일 정책 패키지가 포함된 패키지입니다.
guest-oslogin
gce-disk-expand 부팅 디스크 크기 조절에 필요한 구성요소가 포함되어 있습니다. 직렬 포트로 로그 전송 gce-disk-expand
google-osconfig-agent VM Manager가 OS 인벤토리, 패치, 정책을 관리하는 데 사용하는 OS 구성 에이전트가 포함되어 있습니다. OS 구성 에이전트에 대한 자세한 내용은 VM Manager를 참조하세요.

VM 메타데이터에서 데이터 읽기 및 쓰기

기본적으로 OS 구성 에이전트는 OS 구성 에이전트를 사용 설정할 때까지 어떤 정보도 수집하거나 전송하지 않습니다. 에이전트를 사용 설정한 후 에이전트가 OS Config API 서비스와 통신합니다. 에이전트에서 완료된 작업을 검토하려면 VM Manager 감사 로깅을 참조하세요.

guest-osconfig

Windows 구성요소

Google에서 제공하는 모든 Windows OS 이미지는 GooGet 도구 및 Google Cloud 저장소로 사전 구성되어 있습니다. GooGet은 Windows 인스턴스의 게스트 환경을 설치하고 유지보수합니다. GooGet을 설치하고 저장소를 설정해야 하는 경우 compute-image-windows GitHub 저장소의 패키징 및 패키지 배포를 참조하세요. Windows 인스턴스에 설치된 패키지 목록을 보려면 인스턴스에 연결하고 googet installed를 실행합니다.

Windows 게스트 환경에는 다음 주요 패키지가 포함됩니다.

패키지 이름 설명 주요 상호작용 GitHub의 소스 코드 링크
google-compute-engine-windows

이 패키지는 Windows 환경의 게스트 에이전트입니다.

Windows 게스트 에이전트에는 Compute Engine 기능을 지원하기 위해 게스트 OS에서 실행되는 스크립트가 포함되어 있습니다. 게스트 에이전트의 기능, 아키텍처, 에이전트 관리 방법 등에 대한 자세한 내용은 게스트 에이전트를 참조하세요.

guest-agent
google-compute-engine-sysprep OS 이미지 생성을 준비하기 위해 Windows 인스턴스를 일반화하는 스크립트가 포함되어 있습니다. 또한 패키지에는 새 인스턴스를 구성하도록 첫 번째 부팅에 실행되는 instance_setup.ps1 스크립트가 포함되어 있습니다.
  • VM 메타데이터에서 데이터 읽기 및 쓰기
  • Windows 애플리케이션 이벤트 로그 및 직렬 포트에 로그 전송
sysprep
google-compute-engine-metadata-scripts

sysprep-specialize, startup, shutdown 스크립트를 실행하는 스크립트와 바이너리가 포함되어 있습니다.

  • VM 메타데이터에서 데이터 읽기 및 쓰기
  • sysprep-specialize-script-urlwindows-startup-script-url이 사용될 때 Cloud Storage 위치에서 읽기
  • Windows 애플리케이션 이벤트 로그, 직렬 포트, Cloud Logging에 로그 전송
google_metadata_script_runner
google-compute-engine-powershell PowerShell 모듈을 포함합니다. 이 모듈은 다른 Windows 게스트 환경 스크립트의 PowerShell 스크립트에서 사용하는 일반 함수를 제공합니다. Windows 애플리케이션 이벤트 로그 및 직렬 포트에 로그 전송 PowerShell
google-compute-engine-auto-updater

Compute Engine 패키지를 매일 업데이트하는 스크립트가 포함되어 있습니다.

이 패키지는 기본적으로 설치되지 않습니다. 이 방법을 사용하면 업데이트 프로세스를 제어하여 환경의 안정성을 유지할 수 있습니다. 환경에서 중단 없이 업데이트를 허용할 수 있으면 이 패키지를 설치하여 게스트 환경 패키지가 자동으로 업데이트되도록 할 수 있습니다.

이 패키지를 설치하려면 다음 명령어를 사용합니다. googet -noconfirm install google-compute-engine-auto-updater

  • VM 메타데이터에서 데이터 읽기
  • GooGet 에이전트를 호출하여 Windows 애플리케이션 이벤트 로그 및 콘솔에 로그 전송
auto_updater
google-compute-engine-diagnostics 인스턴스에서 진단 정보를 수집하고 정보를 Cloud Storage 버킷에 저장하는 바이너리가 포함되어 있습니다. Windows 게스트 에이전트가 바이너리를 실행합니다. Cloud Storage 버킷에 데이터 저장 diagnostics
certgen 인스턴스에 인증서를 만드는 바이너리가 포함되어 있습니다. certgen
GooGet Windows 인스턴스의 게스트 환경을 설치하고 유지보수하는 바이너리가 포함되어 있습니다. packages.cloud.google.com에 있는 Google Cloud 저장소에서 데이터를 읽습니다. GooGet
google-compute-engine-vss Microsoft 볼륨 섀도 복사본 서비스(VSS)를 사용하여 영구 디스크 스냅샷을 만드는 Compute Engine VSS 에이전트 및 제공업체를 설치합니다. Google Cloud 스냅샷 서비스와 통신 vss
google-osconfig-agent VM Manager가 OS 인벤토리, 패치, 정책을 관리하는 데 사용하는 OS 구성 에이전트가 포함되어 있습니다. OS 구성 에이전트에 대한 자세한 내용은 VM Manager를 참조하세요.

VM 메타데이터에서 데이터 읽기 및 쓰기

기본적으로 OS 구성 에이전트는 OS 구성 에이전트를 사용 설정할 때까지 어떤 정보도 수집하거나 전송하지 않습니다. 에이전트를 사용 설정한 후 에이전트가 OS Config API 서비스와 통신합니다. 에이전트가 완료한 작업을 검토하려면 VM Manager 감사 로깅을 참조하세요.

guest-osconfig
Compute Engine Windows 드라이버

인스턴스의 적절한 기능과 성능을 보장하는 여러 드라이버가 포함되어 있습니다. GooGet 패키지 관리자는 이러한 드라이버를 관리하고 Google Cloud 저장소에 게시합니다.

다음 Compute Engine 드라이버는 Windows 이미지에 유지됩니다.

드라이버 유형 드라이버 패키지 이름
이더넷 어댑터 google-compute-engine-driver-netkvm
SCSI 디스크 google-compute-engine-driver-vioscsi
디스플레이 어댑터 google-compute-engine-driver-gga
비정상 종료 핸들러 google-compute-engine-driver-pvpanic
Virtio 메모리 벌룬 드라이버 google-compute-engine-driver-balloon
Google 가상 NIC google-compute-engine-driver-gvnic

특정 드라이버를 설치 또는 업그레이드하려면 다음 명령어를 실행합니다.

        googet install DRIVER_PACKAGE_NAME
        
compute-windows-drivers

다음 단계