이 문서에서는 Developer Connect 인사이트를 설정하여 Gemini Cloud Assist 조사 및 Cloud Logging에서 Developer Connect 인사이트를 사용할 수 있도록 하는 방법을 설명합니다.
Developer Connect 인사이트에 대해 자세히 알아보세요.
시작하기 전에
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Developer Connect API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.- Google Cloud CLI를 설치합니다.
이전에 설치한 경우
gcloud components update를 실행하여 최신 버전이 설치되어 있는지 확인합니다. -
Developer Connect 서비스 에이전트를 만듭니다.
gcloud beta services identity create \ --service=developerconnect.googleapis.com \ --project=PROJECT_NUM
roles/developerconnect.serviceAgent역할이 이 서비스 에이전트에 자동으로 추가됩니다.
Developer Connect를 사용 설정하면 Secret Manager API도 사용 설정됩니다.
필요한 역할
인사이트 구성이 관리 프로젝트 (폴더 경계)에서 관리하는 App Hub 애플리케이션으로 범위가 지정된 경우 다음을 수행합니다.
- 인사이트를 구성하는 사용자 에게 관리 프로젝트에 다음 역할이 필요합니다.
- Developer Connect 인사이트 관리자 (
roles/developerconnect.insightsAdmin) - App Hub 뷰어 (
roles/apphub.viewer)
- Developer Connect 인사이트 관리자 (
- Developer Connect 서비스 에이전트 에 다음 역할이 필요합니다.
- 관리 프로젝트의 Developer Connect 서비스 에이전트 역할 (
roles/developerconnect.serviceAgent) 및 Developer Connect 인사이트 에이전트 역할 (roles/developerconnect.insightsAgent) - 관리 프로젝트가 포함된 폴더 의 Developer Connect 인사이트 에이전트 역할 (
roles/developerconnect.insightsAgent)
- 관리 프로젝트의 Developer Connect 서비스 에이전트 역할 (
인사이트 구성이 호스트 프로젝트에서 관리하는 App Hub 애플리케이션으로 범위가 지정된 경우 다음을 수행합니다.
- 인사이트를 구성하는 사용자 에게 호스트 프로젝트에 다음 역할이 필요합니다.
- Developer Connect 인사이트 관리자 (
roles/developerconnect.insightsAdmin) - App Hub 뷰어 (
roles/apphub.viewer)
- Developer Connect 인사이트 관리자 (
- 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 서비스 에이전트 역할 (
인사이트 구성이 개별 대상 프로젝트로 범위가 지정된 경우 다음을 수행합니다.
- 인사이트를 구성하는 사용자 에게 호스트 프로젝트에 다음 역할이 필요합니다.
- Developer Connect 인사이트 관리자 (
roles/developerconnect.insightsAdmin).
- Developer Connect 인사이트 관리자 (
- Developer Connect 서비스 에이전트 에 다음 역할이 필요합니다.
- 호스트 프로젝트의 Developer Connect 서비스 에이전트 역할 (
roles/developerconnect.serviceAgent) 및 Developer Connect 인사이트 에이전트 역할 (roles/developerconnect.insightsAgent) - 모든 대상 프로젝트의 Developer Connect 인사이트 에이전트 역할 (
roles/developerconnect.insightsAgent)
- 호스트 프로젝트의 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 이상을 사용하는 경우 작업에서 출처 증명을 이미지에 자동으로 추가합니다.또는
actions/attest-build-provenance를push-to-registry옵션과 함께 사용하여 레지스트리 프로바이더와 관계없이 Developer Connect 인사이트에서 읽을 수 있는 Container Registry에 출처 증명을 게시할 수 있습니다.docker buildx provenance플래그를 사용합니다.docker buildx레지스트리 내보내기를 사용합니다.oci-artifact를true로 설정합니다. 자세히 알아보기
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 저장소)를 동일한 위치에 두는 것이 좋지만 필수는 아닙니다.
제한사항
Developer Connect 인사이트 구성에는 다음과 같은 제한사항이 적용됩니다.
단일 프로젝트에 최대 50개의 인사이트 구성을 포함할 수 있습니다.
프로젝트 범위 구성의 경우 단일 구성에서 최대 5개의 프로젝트를 추적할 수 있습니다.
단일 인사이트 구성에서 최대 3,000개의 런타임을 추적할 수 있습니다.
App Hub에서 애플리케이션 만들기
이는 Developer Connect 인사이트의 범위를 App Hub 애플리케이션으로 지정하는 경우에만 관련이 있습니다.
App Hub를 설정합니다. Gemini Cloud Assist 및 기타 애플리케이션 중심 기능을 사용할 수 있도록 애플리케이션 관리를 위해 구성된 폴더를 사용하는 것이 좋습니다.
App Hub 애플리케이션을 만듭니다.
- 기존 Google Cloud 리소스에서 애플리케이션을 만들려면 애플리케이션에 리소스 등록을 참조하세요.
- 새 애플리케이션을 설계하고 배포하려면 App Design Center를 사용하면 됩니다.
애플리케이션의 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 애플리케이션이 아닌 프로젝트로 지정하는 경우에만 적용됩니다. 단일 구성에서 최대 5개의 프로젝트를 추적할 수 있습니다.
LOCATION은 이 인사이트 구성을 만들려는 리전입니다.
이 명령어는 프로젝트의 모든 App Hub 워크로드와 서비스를 찾는 자동 검색 프로세스를 트리거합니다. 이 프로세스는 필요한 권한이 있는지 확인하기도 합니다.
이 명령어는 구성 상태를 확인하는 데 사용할 수 있는 OPERATION_ID도 반환합니다.
Developer Connect 인사이트 구성의 상태를 확인할 수 있습니다.
gcloud developer-connect operations describe OPERATION_ID
여기서 OPERATION_ID는 gcloud 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_NAME은
gcloud developer-connect insights-configs create명령어에 사용한 이름입니다.REGION은 구성을 만든 리전입니다.
다음 단계
- Developer Connect 인사이트에 대해 자세히 알아보기
- Developer Connect 인사이트를 사용하는 방법 알아보기