Gemini CLI를 사용하여 애플리케이션 설계 및 배포

Gemini Cloud Assist 및 App Design Center 모델 컨텍스트 프로토콜 (MCP) 서버를 사용하여 Gemini CLI에서 직접Google Cloud 인프라를 설계, 배포, 문제 해결합니다.

목표

이 튜토리얼에서는 다음 작업을 수행하는 방법을 알아봅니다.

  • Gemini Cloud Assist 및 App Design Center MCP 서버를 사용하도록 Gemini CLI를 설정합니다.
  • 기존 애플리케이션 코드를 실행하도록 최적화된 인프라를 설계하고 배포합니다. Google Cloud
  • 기술 문제 분석 및 해결

비용

이 문서에서는 비용이 청구될 수 있는 Google Cloud구성요소를 사용합니다.

  • App Design Center.
  • Google Cloud resources that you create as part of your application infrastructure.

프로젝트 사용량을 기준으로 예상 비용을 산출하려면 가격 계산기를 사용하세요.

Google Cloud 신규 사용자는 무료 체험판을 사용할 수 있습니다.

이 문서에 설명된 태스크를 완료했으면 만든 리소스를 삭제하여 청구가 계속되는 것을 방지할 수 있습니다. 자세한 내용은 삭제를 참조하세요.

시작하기 전에

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. Google Cloud CLI를 설치합니다.

  3. 외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.

  4. gcloud CLI를 초기화하려면, 다음 명령어를 실행합니다.

    gcloud init
  5. Google Cloud 프로젝트를 만들거나 선택합니다.

    프로젝트를 선택하거나 만드는 데 필요한 역할

    • 프로젝트 선택: 프로젝트를 선택하는 데는 특정 IAM 역할이 필요하지 않습니다. 역할이 부여된 프로젝트를 선택하면 됩니다.
    • 프로젝트 만들기: 프로젝트를 만들려면 resourcemanager.projects.create 권한이 포함된 프로젝트 생성자 역할(roles/resourcemanager.projectCreator)이 필요합니다. 역할 부여 방법 알아보기
    • Google Cloud 프로젝트를 만듭니다.

      gcloud projects create PROJECT_ID

      PROJECT_ID를 만들려는 Google Cloud 프로젝트의 이름으로 바꿉니다.

    • 생성한 Google Cloud 프로젝트를 선택합니다.

      gcloud config set project PROJECT_ID

      PROJECT_ID을 Google Cloud 프로젝트 이름으로 바꿉니다.

  6. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  7. Google Cloud CLI를 설치합니다.

  8. 외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.

  9. gcloud CLI를 초기화하려면, 다음 명령어를 실행합니다.

    gcloud init
  10. Google Cloud 프로젝트를 만들거나 선택합니다.

    프로젝트를 선택하거나 만드는 데 필요한 역할

    • 프로젝트 선택: 프로젝트를 선택하는 데는 특정 IAM 역할이 필요하지 않습니다. 역할이 부여된 프로젝트를 선택하면 됩니다.
    • 프로젝트 만들기: 프로젝트를 만들려면 resourcemanager.projects.create 권한이 포함된 프로젝트 생성자 역할(roles/resourcemanager.projectCreator)이 필요합니다. 역할 부여 방법 알아보기
    • Google Cloud 프로젝트를 만듭니다.

      gcloud projects create PROJECT_ID

      PROJECT_ID를 만들려는 Google Cloud 프로젝트의 이름으로 바꿉니다.

    • 생성한 Google Cloud 프로젝트를 선택합니다.

      gcloud config set project PROJECT_ID

      PROJECT_ID을 Google Cloud 프로젝트 이름으로 바꿉니다.

  11. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  12. MCP를 통해 Gemini Cloud Assist에 액세스하려면 신뢰할 수 있는 테스터 프로그램에 참여해야 합니다. 액세스 권한을 요청하려면 계정팀에 문의하세요.
  13. Gemini CLI를 설치합니다.
  14. 프로젝트에 App Design Center 관리자 (roles/designcenter.admin) 역할이 있는지 확인합니다.
  15. 다음 Gemini Cloud Assist 역할 중 하나와 같이 mcp.googleapis.com/tools.call 권한이 포함된 역할이 있는지 확인합니다.
    • Gemini Cloud Assist 관리자 (roles/geminicloudassist.admin)
    • Gemini Cloud Assist 편집자 (roles/geminicloudassist.editor)
    • Gemini Cloud Assist 사용자 (roles/geminicloudassist.user)

환경 준비

환경을 준비하려면 Google Cloud 에 인증하고 필수 서비스를 사용 설정하세요.

Google Cloud에 대해 인증

터미널에서 다음 명령어를 실행하여 Google Cloud 에 인증합니다.

  1. MCP 서버가 API를 호출할 수 있도록 애플리케이션 기본 사용자 인증 정보를 설정합니다.

     gcloud auth application-default login
    

API 사용 설정

프로젝트에서 Gemini Cloud Assist 및 App Design Center 서비스를 사용 설정합니다.

  1. 프로젝트에서 Gemini Cloud Assist 서비스를 사용 설정합니다.

     gcloud services enable geminicloudassist.googleapis.com
    
  2. 프로젝트에서 App Design Center 서비스를 사용 설정합니다.

     gcloud services enable designcenter.googleapis.com
    

MCP 서버 구성

Gemini Cloud Assist 및 App Design Center MCP 서버를 사용하면 자연어 프롬프트를 사용하여 인프라를 설계, 평가, 배포, 문제 해결할 수 있습니다. Google CloudMCP 서버에 연결하려면 Gemini CLI 설정을 구성하세요.

MCP 서버를 사용하도록 Gemini CLI를 구성하려면 다음 단계를 따르세요.

  1. 다음 위치 중 하나에서 Gemini CLI 구성 파일을 엽니다.

    • 사용자 범위: 모든 Gemini CLI 프로젝트에 설정을 적용하려면 ~/.gemini/settings.json을 엽니다.
    • 작업공간 범위: 특정 Gemini CLI 프로젝트의 설정을 적용하려면 .gemini/settings.json를 엽니다.

    구성 파일이 없으면 새 파일을 만듭니다.

  2. settings.json에서 mcpServers 키 아래에 다음 구성 블록을 추가하거나 병합합니다.

      {
        "mcpServers": {
          "gemini-cloud-assist": {
            "httpUrl": "https://geminicloudassist.googleapis.com/mcp",
            "authProviderType": "google_credentials",
            "oauth": {
              "scopes": ["https://www.googleapis.com/auth/cloud-platform"]
            },
            "timeout": 600000
          },
          "application-design-center": {
            "httpUrl": "https://designcenter.googleapis.com/mcp",
            "authProviderType": "google_credentials",
            "oauth": {
              "scopes": ["https://www.googleapis.com/auth/cloud-platform"]
            },
            "timeout": 600000
          }
        }
      }
    

    이 구성은 애플리케이션 기본 사용자 인증 정보를 자동으로 사용합니다.

  3. 구성 파일을 저장하고 닫습니다.

  4. Gemini CLI를 시작합니다.

    gemini
    
  5. MCP 서버가 연결되어 있는지 확인합니다.

    /mcp list
    

SKILL.md 파일 설치

SKILL.md 파일은 인프라 설계, 배포, 문제 해결을 위한 App Design Center 및 Gemini Cloud Assist MCP 서버 안내와 워크플로를 제공합니다.

SKILL.md 파일을 Gemini CLI에 추가하려면 다음 단계를 따르세요.

  1. 다음 위치 중 하나에 skills/design-and-deploy 디렉터리를 만듭니다.

    • 사용자 범위: 모든 Gemini CLI 프로젝트에 설정을 적용하려면 ~/.gemini/skills/design-and-deploy/를 만드세요.
    • 작업공간 범위: 특정 Gemini CLI 프로젝트의 설정을 적용하려면 .gemini/skills/design-and-deploy/를 만드세요.
  2. skills/design-and-deploy/ 디렉터리에서 designing-and-deploying-infrastructure의 콘텐츠를 사용하여 SKILL.md 파일을 만듭니다.

  3. 다음 위치 중 하나에 skills/google-gemini-cloud-assist 디렉터리를 만듭니다.

    • 사용자 범위: 모든 Gemini CLI 프로젝트에 설정을 적용하려면 ~/.gemini/skills/google-gemini-cloud-assist/를 만드세요.
    • 작업공간 범위: 특정 Gemini CLI 프로젝트의 설정을 적용하려면 .gemini/skills/google-gemini-cloud-assist/를 만드세요.
  4. skills/google-gemini-cloud-assist/ 디렉터리에서 operating-google-cloud의 콘텐츠를 사용하여 SKILL.md 파일을 만듭니다.

  5. Gemini CLI를 종료하고 다시 시작합니다.

    /quit
    

    Gemini CLI를 다시 시작하면 스킬 파일이 자동으로 검색됩니다.

  6. 스킬 파일이 자동으로 검색되었는지 확인합니다.

    /skills list
    

App Design Center 및 Gemini Cloud Assist MCP 서버에 연결하도록 Gemini CLI를 구성하고 스킬 파일을 만들었습니다.

인프라 설계 Google Cloud

애플리케이션 코드를 저장하고 실행하도록 맞춤설정된 인프라를 설계합니다.

  1. 사용할 프로젝트를 설정합니다.

    gcloud config set project PROJECT_ID
    
  2. Google Cloud 인프라 설계를 요청합니다.

     My application code is in REPOSITORY_URL. Design the Google Cloud infrastructure required for my application.
    

    에이전트가 구성한 스킬을 활성화하라고 요청합니다. 에이전트가 인프라 설계 계획을 만들고 승인을 요청합니다.

  3. 계획을 승인합니다.

    Continue with the plan.
    

    에이전트가 인프라를 만드는 데 사용할 도구를 식별합니다. 에이전트가 프로젝트에서 App Design Center를 설정하는 setup_adc 도구를 사용하도록 요청합니다.

  4. Gemini Cloud Assist가 제안된 도구를 사용하도록 허용합니다.

    상담사가 디자인을 제안하고 배포할 준비가 되었는지 묻습니다.

  5. 제안된 디자인을 반복합니다.

    The infrastructure looks good, but I want to add a cache for frequently accessed data.
    

    상담사가 요구사항을 통합하도록 설계를 업데이트합니다. 상담사가 변경사항에 대한 설명을 원하는지, 변경사항을 테스트하고 싶은지 묻습니다.

초기 인프라 설계를 만들고 설계를 개선하기 위해 반복했습니다.

보안 표준 준수 여부 평가

조직의 관리자는 인프라 설계 및 배포에 영향을 미치는 특정 보안 프레임워크를 구성했을 수 있습니다. 이 섹션에서는 설계가 구성된 보안 표준을 준수하는지 확인합니다.

  1. 인프라 설계가 조직의 보안 표준을 준수하는지 확인합니다.

    I want to make sure that infrastructure design is compliant with my organization's security standards.
    

    에이전트는 조직의 관리자가 Security Command Center에 지정한 보안 프레임워크를 기반으로 인프라 설계를 분석합니다. 감사에서 규정 준수 문제가 발견되면 에이전트가 보안 개선을 제안하고 승인을 요청합니다.

  2. 권장 보안 강화 적용

    Apply the recommended security enhancements.
    

    상담사가 변경사항을 적용하고 디자인을 승인할 준비가 되었는지 묻습니다.

인프라 설계가 조직의 보안 프레임워크를 준수합니다.

인프라 설계 배포

인프라 설계를 Google Cloud에 배포합니다.

  1. 설계를 승인하고 배포합니다.

    Deploy the infrastructure design to my Google Cloud project.
    

    에이전트가 최종 디자인을 Google Cloud 프로젝트에 배포합니다. 에이전트가 프로젝트 변경사항을 승인해 달라고 요청합니다. 예를 들어 API를 사용 설정해야 할 수 있습니다.

    애플리케이션이 성공적으로 배포되면 에이전트에 배포 세부정보, 아키텍처 구성요소, 애플리케이션 사용 단계가 표시됩니다.

  2. 배포가 실패하면 문제 해결에 대한 도움을 받으세요. 예를 들어 구성요소 구성 세부정보나 Identity and Access Management (IAM) 권한을 수정해야 할 수 있습니다.

    Fix the component configuration errors.
    

    에이전트는 구성요소 구성에 대한 추천을 제공하고 검토하고 수락할 수 있는 차이 뷰를 만듭니다.

  3. 변경 후 배포를 다시 시도하려면 이 섹션의 단계를 반복하세요.

애플리케이션 코드와 인프라 설계를Google Cloud에 배포했습니다.

삭제

이 튜토리얼에서 사용된 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 리소스가 포함된 프로젝트를 삭제하거나 프로젝트를 유지하고 개별 리소스를 삭제하세요.

    Google Cloud 프로젝트를 삭제합니다.

    gcloud projects delete PROJECT_ID

다음 단계