Loading...
태그
    cloud-monitoringcompute-enginegcp-vmgoogle-cloudgoogle-ops-agent

Google Cloud Compute Engine 무료 VM 생성과 Ops Agent 모니터링

최종수정일
2026년 02월 09일
3분걸림
작성자: Techy J
Table of Content (목차)

Agentic AI의 등장으로 애플리케이션 구현 자체는 매우 쉬워졌다. 하지만 실제 서비스로 활용하려면 인터넷에 공개된 서버 환경에 배포(deployment) 하는 과정이 필요하다. 이 글에서는 Google Cloud Platform(GCP)이 제공하는 IaaS 서비스인 Google Compute Engine(GCE)를 이용해

  • VM 인스턴스를 생성하고
  • 무료 티어로 운영하며
  • Ops Agent를 통해 서버 상태를 모니터링하는 방법 을 단계별로 설명한다.

Google Cloud 프로젝트 생성

GCP에서는 VM을 포함한 모든 리소스를 프로젝트 단위로 관리한다. 먼저 프로젝트를 생성하면 <프로젝트_ID> 가 함께 발급되며, 이후 CLI나 API를 사용할 때 이 ID를 기준으로 리소스를 식별한다.

curl -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/project/project-id
 
# 프로젝트 ID 출력 됨
# glassy-sky-450603-f6

Google Cloud 무료 VM Instance

프로젝트 생성 후 Compute Engine 에서 VM 인스턴스를 생성한다. 무료 티어 조건은 다음과 같다.

  • e2-micro: vCPU 2개, 메모리 1GB
  • 부팅디스크: 30GB 표준 영구 디스크
  • us-east1, us-central1, us-west1-a 리전 중 하나

위 조건으로 단일 인스턴스를 운영하면 월 과금 기준을 넘지 않아 무료 사용이 가능하다. (단 북미 외 지역으로 데이터 전송은 월 1GB 이내여야 함, 무료기준 안내문서) 간단한 웹앱이나 API 서버로 충분한 사양이다.

생성한 VM은 여러가지 방법으로 접속할 수 있다.

  • GCP 콘솔 대시보드에서 SSH 연결: 24시간 유효한 SSH key 자동 생성 및 전달
  • 직렬 콘솔 연결
  • 로컬PC에서 SSH로 직접연결
  • Google Cloud Console(Web Shell)

아래 예시는 Ubuntu 기반 VM을 기준으로 설명한다.

Google Cloud Observability Agent (Ops Agent) 설치

서버의 CPU, 디스크, 메모리, 네트워크 상태를 모니터링하려면 Google Cloud Observability Agent(Ops Agent) 를 설치하는 것이 편리하다. Ops Agent를 사용하기 위해서는 서비스 계정을 만들어서 VM에 연결하고, ops agent 를 설치한다.

서비스 계정 생성 및 권한지정 (ops agent 실행 용)

GCP 콘솔에서 다음 경로로 이동해 서비스 계정을 생성한다. 프로젝트 → IAM 및 관리자 → 서비스 계정 → 서비스 계정 만들기 생성되는 서비스 계정의 형식은 다음과 같다. <서비스계정명>@<프로젝트ID>.iam.gserviceaccount.com

서비스 계정은 RBAC(Role Based Access Control) 방식으로 동작하며,
부여된 역할 범위 내에서만 GCP 리소스에 접근할 수 있다.

Ops Agent에 필요한 역할

Ops Agent 실행을 위해 다음 두 가지 역할을 부여한다.

  • Monitoring Metric Writer: roles/monitoring.metricWriter
  • Logs Writer: roles/logging.logWriter

⚠️ VM에 서비스 계정을 할당하려면 VM을 중지한 상태에서 수정(Edit) 화면을 통해 연결해야 한다.

VM에서 서비스 계정의 접근 범위 확인

# 현재 서비스 계정의 scopes 확인
curl --silent --connect-timeout 1 -f -H "Metadata-Flavor: Google" http://169.254.169.254/computeMetadata/v1/instance/service-accounts/default/scopes
 
# 아래 출력이면 접근범위가 충분하다.
# https://www.googleapis.com/auth/cloud-platform 
 
# 아래처럼 출력되는 경우도 접근범위가 충분하다.
# https://www.googleapis.com/auth/logging.write 또는
# https://www.googleapis.com/auth/logging.admin
# https://www.googleapis.com/auth/monitoring.write 또는  
# https://www.googleapis.com/auth/monitoring.admin
 
# 현재 서비스 계정 확인(참고)
curl -H "Metadata-Flavor: Google" \
  http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/email

개별 VM 인스턴스에서 Ops Agent 설치

서비스 계정 설정이 완료되면, VM에 접속해 Ops Agent를 설치한다.

# 개별 VM에 운영 에이전트 설치
curl -sSO https://dl.google.com/cloudagents/add-google-cloud-ops-agent-repo.sh
sudo bash add-google-cloud-ops-agent-repo.sh --also-install

실행상태 확인(Active 확인)

sudo systemctl status google-cloud-ops-agent
# Active 이면 정상 동작

운영 에이전트 제거(참고)

sudo bash add-google-cloud-ops-agent-repo.sh --uninstall

VM 동작상태 관리

서버 운영 중에는 로그와 시스템 자원 사용량을 주기적으로 확인하고, 문제를 일으키는 프로세스를 정리하는 작업이 필요하다.

syslog 확인

# 로그 파일을 확인한다.
vi /var/log/syslog
 
# 실시간 로그
tail -f /var/log/syslog
 
# 최근 apt 이력 확인
cat /var/log/apt/history.log | tail -100
 

메모리 사용량 및 프로세스 정리

# 메모리 사용량 확인
free -h
top -o %MEM
 
# 메모리 사용량 상위 프로세스
ps aux --sort=-%mem | head -20

문제 프로세스 종료 예시

# 예: ddclint가 계속 에러를 발생시키고 있음
# 서비스 중지 
sudo systemctl stop ddclient 
# 자동 실행 비활성화 
sudo systemctl disable ddclient
# 서비스 상태 확인 
sudo systemctl status ddclient
# 패키지 제거(옵션)
sudo apt remove --purge google-cloud-ops-agent 
# 시스템 재부팅
sudo reboot

(끝)

이 글은 ' 출처: 변호사 전정숙 '과 ' 원본링크: https://www.korean-lawer.com/articles/iaas/gcp-compute-engine-free-vm-ops-agent'를 명시하는 조건으로 인용가능 합니다.
무단 복제, AI 학습 목적으로의 사용과 Google, Naver의 Indexing 외 크롤링 금지합니다
About
전정숙 변호사
법무법인 정맥 파트너 변호사부산파산법원 파산관재인전) 부산변호사회 부회장전) 전국여성변호사회 부회장전) 부산 가정법원 조정위원
Contact

(82) 051-916-8582 , 051-916-8583

부산광역시 연제구 법원로 12 (거제동)

로윈타워빌딩 2층 법무법인정맥

변호사 전정숙

© 2005-2026 전정숙 변호사.

All Rights Reserved.