Developer Connect 인사이트 설정

이 문서에서는 Developer Connect 인사이트를 설정하여 Gemini Cloud Assist 조사 및 Cloud Logging에서 Developer Connect 인사이트를 사용할 수 있도록 하는 방법을 설명합니다.

Developer Connect 인사이트에 대해 자세히 알아보세요.

시작하기 전에

  1. 로그인하여 Google 계정을 사용하세요.

    아직 계정이 없으면 새 계정을 등록하세요.

  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Developer Connect API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Developer Connect API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. Developer Connect를 사용 설정하면 Secret Manager API도 사용 설정됩니다.

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

    이전에 설치한 경우 gcloud components update를 실행하여 최신 버전이 설치되어 있는지 확인합니다.

  10. Developer Connect 서비스 에이전트를 만듭니다.
    gcloud beta services identity create \
    --service=developerconnect.googleapis.com \
    --project=PROJECT_NUM

    roles/developerconnect.serviceAgent 역할이 이 서비스 에이전트에 자동으로 추가됩니다.

필요한 역할

관리 프로젝트에서 관리하는 App Hub 애플리케이션을 사용하는 경우 다음이 필요합니다.

  • 관리 프로젝트의 Developer Connect 인사이트 관리자 (roles/developerconnect.insightsAdmin) 및 App Hub 뷰어 (roles/apphub.viewer)
  • 관리 프로젝트의 Developer Connect 서비스 에이전트에 대한 Developer Connect 서비스 에이전트 역할(roles/developerconnect.serviceAgent) 및 Developer Connect 인사이트 에이전트 역할 (roles/developerconnect.insightsAgent)

호스트 프로젝트에서 관리하는 App Hub 애플리케이션을 사용하는 경우 다음이 필요합니다.

  • 호스트 프로젝트의 Developer Connect 인사이트 관리자 (roles/developerconnect.insightsAdmin) 및 App Hub 뷰어 (roles/apphub.viewer)
  • 호스트 프로젝트의 Developer Connect 서비스 에이전트에 대한 Developer Connect 서비스 에이전트 역할(roles/developerconnect.serviceAgent) 및 Developer Connect 인사이트 에이전트 역할 (roles/developerconnect.insightsAgent)
  • 모든 서비스 프로젝트의 Developer Connect 인사이트 에이전트 (roles/developerconnect.insightsAgent)
    • 동일한 폴더에 없는 기존 리소스 (예: Cloud Build 또는 Artifact Registry)를 사용하는 경우 해당 프로젝트의 Developer Connect 서비스 에이전트에 Developer Connect 인사이트 에이전트 역할을 부여합니다.

명령줄에서 인사이트를 보려면 다음이 필요합니다.

  • 호스트 프로젝트의 Developer Connect 인사이트 뷰어 (roles/developerconnect.insightsViewer)
  • 호스트 프로젝트의 컨테이너 분석 어커런스 뷰어 역할(roles/containeranalysis.occurrences.viewer)

개별 도구를 사용하거나 특정 사용 사례에 따라 사용하려면 추가 Google Cloud 또는 Google 이외의 역할 및 권한이 필요할 수 있습니다. 권한 오류가 발생하면 관리자에게 문의하여 올바른 역할과 권한이 있는지 확인하세요.

이러한 역할 및 권한 외에도 대화형 워크플로를 사용하여 새 인사이트 구성을 구성할 때는 지정한 모든 리소스에 액세스할 수 있는 권한이 있어야 합니다.

추가 기본 요건

  • Developer Connect 인사이트의 범위를 App Hub 애플리케이션으로 지정하려면 해당 애플리케이션이 있거나 만들어야 합니다.

    Developer Connect 인사이트는 애플리케이션의 모든 App Hub 설정 모델을 지원합니다. Gemini Cloud Assist 및 기타 애플리케이션 중심 기능을 사용할 수 있도록 애플리케이션 관리를 위해 구성된 폴더 를 사용하는 것이 좋습니다.

    Developer Connect 인사이트의 범위를 App Hub 애플리케이션 대신 프로젝트로 지정할 수도 있습니다.

  • Cloud Build 및 지원되는 소스 코드 관리 시스템 (GitHub, GitLab 또는 Bitbucket)을 사용해야 합니다.

  • 로그에 출처 정보를 포함하려면 빌드에서 출처를 생성해야 합니다.

    출처는 다음 소스 중 하나에서 가져올 수 있습니다.

    • Cloud Build 및 Artifact Registry를 사용합니다.

      Cloud Build를 사용하여 이미지를 빌드할 수 있습니다. 빌드는 트리거를 사용하여 시작해야 하며 빌드 프로세스에서 출처를 생성해야 합니다. 빌드에서 생성된 아티팩트는 Artifact Registry에 저장됩니다.

    • GitHub 증명을 사용합니다.

      docker/build-push-action 버전 4 이상을 사용하는 경우 작업에서 출처 증명을 이미지에 자동으로 추가합니다.

      또는 push-to-registry 옵션과 함께 actions/attest-build-provenance 를 사용하여 출처 증명을 컨테이너 레지스트리에 게시할 수 있습니다. 그러면 레지스트리 제공업체와 관계없이 Developer Connect 인사이트에서 이를 읽을 수 있습니다.

    • docker buildx provenance 플래그를 사용합니다.

      자세히 알아보기

    • docker buildx 레지스트리 내보내기를 사용합니다.

      oci-artifacttrue로 설정합니다. 자세히 알아보기

    GitHub 증명은 공개적으로 사용할 수 있는 저장소에서 가져와야 합니다. docker buildx 아티팩트는 컨테이너 레지스트리에서 공개적으로 사용할 수 있어야 합니다.

    출처가 없어도 Developer Connect 인사이트를 계속 사용할 수 있지만 인사이트가 덜 유용합니다.

  • Gemini Cloud Assist

    Developer Connect 인사이트는 조사 컨텍스트에 애플리케이션 배포 이벤트를 추가하여 Gemini Cloud Assist 환경을 개선합니다. Gemini Cloud Assist 조사에서 Developer Connect 인사이트를 사용하도록 Gemini Cloud Assist를 사용 설정할 수 있습니다.

  • Developer Connect 인사이트의 범위를 App Hub 애플리케이션으로 지정하는 경우 인사이트 구성이 해당 애플리케이션과 동일한 프로젝트에 있어야 합니다.

    프로젝트별로 범위가 지정된 경우 구성이 범위 내 프로젝트와 동일한 프로젝트에 있을 필요가 없습니다.

    다른 관련 리소스 (예: Developer Connect 인사이트, Google Kubernetes Engine 클러스터, Cloud Run 서비스, Cloud Build, Artifact Registry 저장소)를 동일한 위치에 두는 것이 좋지만 필수는 아닙니다.

App Hub에서 애플리케이션 만들기

이는 Developer Connect 인사이트의 범위를 App Hub 애플리케이션으로 지정하는 경우에만 관련이 있습니다.

  1. App Hub를 설정합니다. Gemini Cloud Assist 및 기타 애플리케이션 중심 기능을 사용할 수 있도록 애플리케이션 관리를 위해 구성된 폴더를 사용하는 것이 좋습니다.

  2. App Hub 애플리케이션을 만듭니다.

애플리케이션의 Developer Connect 인사이트 구성

다음 명령어를 사용하여 Developer Connect 인사이트 인사이트를 만듭니다.

gcloud developer-connect insights-configs create DCI_CONFIG_NAME \
       --project PROJECT_ID \
       --app-hub-application APP_HUB_APPLICATION_NAME \
       --target-projects TARGET_PROJECT_IDS \
       --location LOCATION

각 항목의 의미는 다음과 같습니다.

  • DCI_CONFIG_NAME은 생성될 인사이트 구성의 이름입니다.

  • PROJECT_ID는 Developer Connect 인사이트 구성을 만드는 프로젝트의 ID입니다.

  • APP_HUB_APPLICATION_NAME은 이전에 만든 App Hub 애플리케이션의 정규화된 이름입니다.

    이는 이 인사이트 구성의 범위를 프로젝트가 아닌 App Hub 애플리케이션으로 지정하는 경우에만 적용됩니다.

  • TARGET_PROJECT_IDS는 Developer Connect 인사이트 구성의 범위를 지정할 프로젝트의 ID를 쉼표로 구분한 목록입니다.

    이는 이 인사이트 구성의 범위를 App Hub 애플리케이션이 아닌 프로젝트로 지정하는 경우에만 적용됩니다.

  • LOCATION은 이 인사이트 구성을 만들려는 리전입니다.

이 명령어는 프로젝트에서 모든 App Hub 워크로드와 서비스를 찾는 자동 검색 프로세스를 트리거합니다. 이 프로세스에서는 필요한 권한이 있는지 확인하기도 합니다.

이 명령어는 구성 상태를 확인하는 데 사용할 수 있는 OPERATION_ID도 반환합니다.

Developer Connect 인사이트 구성의 상태를 확인할 수 있습니다.

gcloud developer-connect operations describe OPERATION_ID

여기서 OPERATION_IDgcloud developer-connect insights-configs create 명령어에서 반환된 완전히 지정된 작업 ID 입니다.

이 작업은 초기 요청의 영수증입니다. 내부의 response 필드는 생성 작업이 수락된 정확한 순간의 리소스 스냅샷입니다. 검색 프로세스의 상태를 가져오려면 insights-configs describe 명령어를 실행합니다.

자동 검색 프로세스가 완료되면 다음 명령어를 실행하여 이 Developer Connect 인사이트의 상태를 확인할 수 있습니다.

gcloud developer-connect insights-configs describe DCI_CONFIG_NAME \
       --location=REGION

각 항목의 의미는 다음과 같습니다.

  • DCI_CONFIG_NAMEgcloud developer-connect insights-configs create 명령어에 사용한 이름입니다.

  • REGION은 구성을 만든 리전입니다.

다음 단계