Gemini Cloud Assist로 애플리케이션 비용 최적화

1. 소개

Gemini Cloud Assist는 Google Cloud 워크로드를 지원하는 모든 기능을 갖춘 에이전트입니다. 에이전트는 새 애플리케이션을 설계하거나 기존 애플리케이션을 업데이트하고, Google Cloud에서 워크로드를 배포 및 실행하고, 워크로드를 문제 해결하고, 비용 및 성능에 맞게 최적화하는 데 도움이 되는 파트너입니다.

Gemini Cloud Assist는 사전 예방적 권장사항과 유용한 정보를 제공하여 비용과 성능을 최적화하므로 리소스의 규모를 적절하게 조정하고, 비효율성을 식별하며, 시간이 지남에 따라 애플리케이션의 효율성을 지속적으로 개선할 수 있습니다.

학습할 내용

  1. 멀티 리전 서비스를 설정하는 방법
  2. Gemini Cloud Assist를 사용하여 비용을 분석하는 방법
  3. 서비스 비용 및 성능을 개선하기 위한 추천을 받는 방법

2. 프로젝트 설정

프로젝트 설정

Google Cloud 프로젝트 만들기

  1. Google Cloud 콘솔의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.
  2. Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.

Cloud Shell 시작

Cloud Shell은 Google Cloud에서 실행되는 명령줄 환경으로, 필요한 도구가 미리 로드되어 제공됩니다.

  1. Google Cloud 콘솔 상단에서 Cloud Shell 활성화를 클릭합니다.
  2. Cloud Shell에 연결되면 인증을 확인합니다.
    gcloud auth list
    
  3. 프로젝트가 구성되었는지 확인합니다.
    gcloud config get project
    
  4. 프로젝트가 예상대로 설정되지 않은 경우 설정합니다.
    export PROJECT_ID=<YOUR_PROJECT_ID>
    gcloud config set project $PROJECT_ID
    

3. API 사용 설정

애플리케이션 구성요소를 배포하고 Google Cloud Assist를 사용하려면 다음 API를 사용 설정하세요.

터미널에서 API를 사용 설정합니다.

gcloud services enable \
  geminicloudassist.googleapis.com \
  run.googleapis.com \
  cloudbuild.googleapis.com \
  storage.googleapis.com \
  compute.googleapis.com \
  artifactregistry.googleapis.com \
  cloudasset.googleapis.com \
  recommender.googleapis.com \
  appoptimize.googleapis.com \
  monitoring.googleapis.com \
  cloudscheduler.googleapis.com

명령어가 완료되면 다음과 같은 출력이 표시됩니다.

Operation "operations/acf.p2-176675280136-b03ab5e4-3483-4ebf-9655-43dc3b345c63" finished successfully.

4. 프로젝트 준비

Gemini Cloud Assist를 테스트하기 위해 기본 애플리케이션과 배포를 만듭니다.

저장소 클론

  1. 저장소를 Cloud Shell 환경에 클론합니다.
git clone --depth 1 https://github.com/GoogleCloudPlatform/devrel-demos.git
  1. 데모 디렉터리로 이동합니다.
cd infrastructure/cross-region-demo

5. 애플리케이션 배포

애플리케이션 코드와 Google Cloud 리소스를 배포할 준비가 되었습니다. 최대 15분이 걸릴 수 있습니다.

프로젝트 설정

터미널에서 다음 명령어를 실행합니다.

chmod +x scripts/setup.sh
./scripts/setup.sh

이 스크립트는 프로젝트의 API 사용 설정을 검증하고 리소스를 만드는 데 필요한 정책 바인딩을 만듭니다.

애플리케이션 구성요소 배포

터미널에서 다음 명령어를 실행합니다.

chmod +x scripts/deploy.sh
./scripts/deploy.sh

이 스크립트는 다음을 비롯한 Google Cloud 리소스를 배포합니다.

  • 프런트엔드 및 백엔드를 위한 Cloud Run 서비스
  • 객체 전송을 위한 Cloud Storage 버킷
  • 트래픽을 생성하기 위해 시간 기반 일정에 따라 전송을 실행하는 Cloud Scheduler 작업

구성요소가 배포되는 동안 Cloud Shell 편집기에서 파일을 탐색하여 자세히 알아보세요.

6. 배포된 서비스 보기

왼쪽 창에서 Cloud Run을 엽니다. 그런 다음 two-tier-frontend 서비스를 클릭합니다.

버킷 객체 전송, 서비스 간 API 호출을 통한 전송 등 다양한 유형의 교차 리전 트래픽에 대해 서비스에서 다양한 패턴을 트리거할 수 있습니다.

비용 데이터를 채우기 시작하기 위해 Cloud Scheduler 작업이 자동으로 실행됩니다. 4-이 과정은 완료하는 데 약 24시간이 걸립니다.

7. 최적화 통계 보기

약 하루 동안 트래픽을 실행한 후 (비용 측정항목은 태평양 표준시 00:00경에 업데이트됨) 대시보드가 준비됩니다.

참고: 비용 데이터가 표시되지 않으면 다음 날 다시 확인하세요.

최적화 대시보드 열기

Cloud Hub 최적화를 엽니다.

다음과 같은 내용이 표시됩니다.

Cloud Hub 최적화 대시보드

최적화 대시보드에는 이전 기간 (기본값은 7일)의 Cloud Billing 요금이 표시됩니다.

대시보드를 스크롤하여 프로젝트의 네트워크 트래픽을 나타내는 상위 토커를 비롯한 통계를 확인합니다.

Gemini Cloud Assist와 채팅하기

상단 탐색 메뉴에서 반짝이는 아이콘을 클릭하여 Gemini Cloud Assist를 엽니다.

Gemini Cloud Assist 채팅에서 Why are my networking costs so high?와 같은 질문을 합니다. Gemini Cloud Assist는 프로젝트의 특정 네트워킹 요금을 분석하고 네트워크 트래픽을 해결하기 위한 아이디어를 제안합니다.

다음과 같은 내용이 표시됩니다.

Gemini Cloud Assist 채팅

8. 리소스 삭제

서비스에서 트래픽과 로그를 계속 생성하지 못하도록 하려면 Cloud Shell 편집기를 열고 다음 명령어를 실행합니다.

터미널에서 다음 명령어를 실행합니다.

cd ~/devrel-demos/infrastructure/cross-region-demo
chmod +x scripts/destroy.sh
./scripts/destroy.sh

9. 축하합니다

축하합니다. 클라우드 최적화 및 Google Cloud에서 애플리케이션의 비용과 성능을 최적화하는 프로세스에 대한 소개를 완료했습니다.

다음 단계