IntelliJ용 Cloud Code에서 Cloud API 및 라이브러리 관리

Cloud API를 사용하여 코드에서 Google Cloud 제품 및 서비스에 액세스할 수 있습니다. 이러한 Cloud API는 클라이언트 라이브러리를 통해 호출할 수 있는 간단한 JSON REST 인터페이스를 노출합니다.

이 문서에서는 Cloud API를 사용 설정하고 프로젝트에 Cloud 클라이언트 라이브러리를 추가하는 방법을 설명합니다.

Cloud API 탐색

IDE 내에서 사용 가능한 모든 Google Cloud API를 탐색하려면 다음 단계를 수행합니다.

  1. 도구 > Google Cloud Code > Cloud API로 이동합니다.

  2. Google Cloud API 관리 창은 Cloud API를 카테고리별로 그룹화합니다. API 검색 검색창을 사용하여 특정 API를 찾을 수도 있습니다.

    Cloud API 목록을 표시하는 Cloud API 탐색기

  3. API를 클릭하여 상태, 해당 클라이언트 라이브러리의 언어별 설치 안내, 관련 문서와 같은 추가 세부정보를 봅니다.

Cloud API 사용 설정

API 세부정보를 사용하여 프로젝트에 Cloud API를 사용 설정하려면 다음 단계를 수행합니다.

  1. Cloud API 세부정보 뷰에서 Cloud API를 사용 설정하려는 Google Cloud 프로젝트를 선택합니다.

  2. API 사용 설정을 클릭합니다.

    API가 사용 설정되면 변경사항을 확인하는 메시지가 표시됩니다.

Cloud 클라이언트 라이브러리 추가

IntelliJ에서 프로젝트에 라이브러리를 추가하려면 다음 단계를 따르세요.

자바 Maven 프로젝트의 경우

  1. 도구 > Google Cloud Code > Cloud API로 이동합니다.
  2. Google Cloud API 관리 대화상자의 클라이언트 라이브러리 설치 섹션에 지원되는 라이브러리가 표시됩니다.

  3. 원하는 라이브러리 유형을 Google Cloud 클라이언트 라이브러리(대부분의 프로젝트에 권장) 또는 Java Spring Google Cloud(프로젝트에서 Java Spring을 사용하는 경우에 권장)로 선택합니다.
  4. IDE에서 클라이언트 라이브러리 설치의 나머지 안내를 따릅니다(해당하는 경우).
  5. 완료되면 닫기를 클릭합니다.

다른 모든 프로젝트의 경우

  1. 도구 > Google Cloud Code > Cloud API로 이동합니다.
  2. Google Cloud API 관리 대화상자의 클라이언트 라이브러리 설치 섹션에 지원되는 라이브러리가 표시됩니다.

  3. API를 설치하려면 원하는 언어의 API 세부정보 페이지에 나열된 설치 안내를 따르세요.

    Java 애플리케이션을 개발하는 경우 라이브러리 환경설정도 Google Cloud 클라이언트 라이브러리(권장) 또는 Java Spring Google Cloud로 지정해야 합니다.

  4. 완료되면 닫기를 클릭합니다.

API 코드 샘플 사용

API 탐색기에서 각 API의 코드 샘플을 검색하고 사용하려면 다음 단계를 따르세요.

  1. 도구 > Google Cloud Code > Cloud API로 이동합니다.

  2. 세부정보 뷰를 열려면 API 이름을 클릭합니다.

  3. API의 코드 샘플을 보려면 코드 샘플 탭을 클릭하세요.

  4. 샘플 목록을 필터링하려면 검색할 텍스트를 입력하거나 언어 드롭다운 메뉴에서 프로그래밍 언어를 선택합니다.

인증 설정

필요한 API를 사용 설정하고 필요한 클라이언트 라이브러리를 추가한 다음에는 성공적으로 인증할 수 있도록 애플리케이션을 구성해야 합니다. 구성은 개발 유형 및 실행 중인 플랫폼에 따라 달라집니다.

관련 인증 단계를 완료하면 애플리케이션에서 인증할 수 있고 애플리케이션 배포 준비가 완료됩니다.

로컬 개발

로컬 머신

Cloud Code를 사용하면 IDE를 통해 Google Cloud에 로그인한 경우 애플리케이션 기본 사용자 인증 정보(ADC)를 설정할 수 있습니다. Cloud Code로 로그인하지 않으면 gcloud auth application-default login을 수동으로 실행하세요.

minikube

  1. Cloud Code를 사용하면 IDE를 통해 Google Cloud에 로그인한 경우 애플리케이션 기본 사용자 인증 정보(ADC)를 설정할 수 있습니다. Cloud Code로 로그인하지 않으면 gcloud auth application-default login을 수동으로 실행하세요.
  2. minikube start --addons gcp-auth로 minikube를 시작합니다. 그러면 포드에 ADC가 마운트됩니다. Google Cloud에 대한 자세한 minikube 인증 가이드는 minikube gcp-auth 문서를 참조하세요.

기타 로컬 K8s 클러스터

  1. Cloud Code를 사용하면 IDE를 통해 Google Cloud에 로그인한 경우 애플리케이션 기본 사용자 인증 정보(ADC)를 설정할 수 있습니다. Cloud Code로 로그인하지 않으면 gcloud auth application-default login을 수동으로 실행하세요.
  2. Google Cloud 클라이언트 라이브러리가 사용자 인증 정보를 찾을 수 있도록 포드 또는 배포 매니페스트에서 포드 사양을 수정하여 Kubernetes 포드에 로컬 gcloud 디렉터리를 마운트합니다. Kubernetes 포드 구성 예시:
    apiVersion: v1
    kind: Pod
    metadata:
      name: my-app
      labels:
        name: my-app
    spec:
      containers:
      - name: my-app
        image: gcr.io/google-containers/busybox
        ports:
          - containerPort: 8080
        volumeMounts:
          - mountPath: /root/.config/gcloud
            name: gcloud-volume
      volumes:
        - name: gcloud-volume
          hostPath:
            path: /path/to/home/.config/gcloud

Cloud Run

Cloud Code를 사용하면 IDE를 통해 Google Cloud에 로그인한 경우 애플리케이션 기본 사용자 인증 정보(ADC)를 설정할 수 있습니다. Cloud Code로 로그인하지 않으면 gcloud auth application-default login을 수동으로 실행하세요.

원격 개발

Google Kubernetes Engine


프로젝트 범위에 따라 GKE에서 Google Cloud 서비스를 인증하는 방법을 선택할 수 있습니다.
  • (개발 전용)
    1. 다음 설정을 사용하여 GKE 클러스터를 만듭니다.
      • Compute Engine 기본 서비스 계정(GKE가 기본적으로 사용하는 서비스 계정)을 사용하고 액세스 범위모든 Cloud API에 전체 액세스 허용으로 설정합니다(두 설정 모두 노드 풀 > 보안 섹션 내에서 액세스 가능).
        Compute Engine 서비스 계정이 노드에 배포된 모든 워크로드에서 공유되기 때문에 이 메서드는 권한을 과도하게 프로비저닝하므로 개발에만 사용해야 합니다.
      • 클러스터에서 워크로드 아이덴티티가 사용 설정되어 있지 않은지 확인합니다 (클러스터 > 보안 섹션 내).
    2. Compute Engine 기본 서비스 계정에 필요한 역할을 할당합니다.
  • (프로덕션에 권장됩니다.)
    1. GKE에서 Google Cloud 서비스를 인증하도록 워크로드 아이덴티티로 GKE 클러스터 및 애플리케이션을 구성합니다. 그러면 Kubernetes 서비스 계정이 Google 서비스 계정과 연결됩니다.
    2. Kubernetes 배포 YAML 파일에서 .spec.serviceAccountName 필드를 설정하여 Kubernetes 서비스 계정을 참조하도록 Kubernetes 배포를 구성합니다.
      Cloud Code 템플릿으로 만든 앱에서 작업하는 경우 이 파일은 kubernetes-manifests 폴더 아래에 있습니다.
    3. 액세스하려는 Google Cloud 서비스에 추가 역할이 필요한 경우 앱 개발에 사용 중인 Google 서비스 계정에 역할을 부여합니다.

Cloud Run


  1. Cloud Run 애플리케이션 배포를 위해 새로운 고유 서비스 계정을 만들려면 서비스 계정 페이지에서 보안 비밀이 저장된 프로젝트를 선택합니다.

    서비스 계정 페이지로 이동

  2. 서비스 계정 만들기를 클릭합니다.
  3. 서비스 계정 만들기 대화상자에 서비스 계정을 설명하는 이름을 입력합니다.
  4. 서비스 계정 ID를 고유하고 쉽게 알아볼 수 있는 값으로 변경한 후 만들기를 클릭합니다.
  5. 액세스하려는 Google Cloud 서비스에 추가 역할이 필요하면 역할을 부여하고 계속을 클릭한 후 완료를 클릭합니다.
  6. Kubernetes 서비스 계정을 배포 구성에 추가하려면 실행 > 구성 수정으로 이동한 후 서비스 이름 필드에서 서비스 계정을 지정합니다.

Cloud Run


프로젝트 범위에 따라 GKE에서 Google Cloud 서비스를 인증하는 방법을 선택할 수 있습니다.
  • (개발 전용)
    1. 다음 설정을 사용하여 GKE 클러스터를 만듭니다.
      • Compute Engine 기본 서비스 계정(GKE가 기본적으로 사용하는 서비스 계정)을 사용하고 액세스 범위모든 Cloud API에 전체 액세스 허용으로 설정합니다(두 설정 모두 노드 풀 > 보안 섹션 내에서 액세스 가능).
        Compute Engine 서비스 계정이 노드에 배포된 모든 워크로드에서 공유되기 때문에 이 메서드는 권한을 과도하게 프로비저닝하므로 개발에만 사용해야 합니다.
      • 클러스터에서 워크로드 아이덴티티가 사용 설정되어 있지 않은지 확인합니다 (클러스터 > 보안 섹션 내).
    2. Compute Engine 기본 서비스 계정에 필요한 역할을 할당합니다.
  • (프로덕션에 권장됩니다.)
    1. GKE에서 Google Cloud 서비스를 인증하도록 워크로드 아이덴티티로 GKE 클러스터 및 애플리케이션을 구성합니다. 그러면 Kubernetes 서비스 계정이 Google 서비스 계정과 연결됩니다.
    2. Kubernetes 서비스 계정을 배포 구성에 추가하려면 실행 > 구성 수정으로 이동한 후 서비스 이름 필드에서 Kubernetes 서비스 계정을 지정합니다.
    3. 액세스하려는 Google Cloud 서비스에 추가 역할이 필요한 경우 앱 개발에 사용 중인 Google 서비스 계정에 역할을 부여합니다.

Secret Manager 권한이 사용 설정된 원격 개발

인증에 서비스 계정을 사용하여 원격으로 개발하고 애플리케이션이 보안 비밀을 사용하는 경우 원격 개발 안내 외에도 몇 가지 추가 단계를 완료해야 합니다. 이 단계에서는 특정 Secret Manager 보안 비밀에 액세스하는 데 필요한 역할을 Google 서비스 계정에 할당합니다.

  1. Secret Manager 도구 창을 열려면 도구 > Google Cloud Code > Secret Manager로 이동합니다.

  2. 코드에서 액세스하려는 보안 비밀을 선택합니다.

  3. 권한 탭을 클릭한 후 수정 권한 수정을 클릭하여 보안 비밀 권한을 구성합니다.

    Secret Manager에서 선택된 권한 탭 및 강조표시된 권한 수정 아이콘

    Google Cloud 콘솔이 웹브라우저의 새 창에 열리고 보안 비밀의 Secret Manager 구성 페이지가 표시됩니다.

  4. Google Cloud 콘솔에서 권한 탭을 클릭한 후 액세스 권한 부여를 클릭합니다.

  5. 새 주 구성원 필드에 서비스 계정을 입력합니다.

  6. 역할 선택 드롭다운 필드에서 Secret Manager 보안 비밀 접근자 역할을 선택합니다.

  7. 작업이 완료되면 저장을 클릭합니다.

    서비스 계정에 이 보안 비밀에 액세스할 권한이 있습니다.

지원 받기

IntelliJ IDE에서 의견을 제출하거나 문제를 신고하려면 도구 > Cloud Code > 도움말 / 정보 > 의견 제출 또는 문제 신고로 이동하여 GitHub에 문제를 신고하거나 Stack Overflow에서 질문합니다.