프로젝트 만들기

이 문서에서는 조직 내에서 리소스를 그룹화하기 위해 Google Distributed Cloud (GDC) 오프라인 프로젝트를 만드는 방법을 설명합니다. 프로젝트는 리소스의 수명 주기 및 정책 경계를 제공하므로 여러 사용자 그룹이 GDC 리소스를 별도로 관리할 수 있습니다.

이 문서는 조직 내에서 리소스를 관리하는 플랫폼 관리자 그룹의 IT 관리자, 보안 엔지니어, 네트워크 관리자와 같은 사용자를 대상으로 합니다. 자세한 내용은 GDC 오프라인 문서의 대상을 참고하세요.

시작하기 전에

이 문서의 작업을 수행하려면 다음을 완료해야 합니다.

  • 프로젝트를 만드는 데 필요한 권한을 얻으려면 조직 IAM 관리자에게 프로젝트 생성자 역할(project-creator)을 부여해 달라고 요청하세요.

  • gdcloud CLI를 사용하려면 설치되어 있어야 합니다. 자세한 내용은 gdcloud CLI 설치를 참고하세요.

  • Terraform을 사용하려면 Terraform이 구성되어 있어야 합니다. 자세한 내용은 Terraform 구성을 참고하세요.

새 프로젝트 만들기

서비스 리소스를 논리적으로 그룹화하기 위해 프로젝트를 만들 수 있습니다. 예를 들어 개발, 테스트, 프로덕션 환경의 리소스를 보유하는 별도의 프로젝트를 만들 수 있습니다.

프로젝트를 만드는 데 필요한 권한을 얻으려면 조직 IAM 관리자에게 프로젝트 생성자 역할을 부여해 달라고 요청하세요. 권한 부여에 대한 자세한 내용은 서비스 ID에 역할 바인딩 할당 섹션을 참고하세요.

콘솔

GDC 콘솔을 사용하여 새 프로젝트를 만들려면 다음 단계를 완료하세요.

  1. 탐색 메뉴에서 프로젝트를 클릭합니다.
  2. 프로젝트 추가를 클릭합니다.
  3. 프로젝트 이름 필드에 프로젝트 이름을 입력합니다.
  4. 프로젝트와 연결할 결제 계정 ID를 지정합니다. 프로젝트 리소스 비용을 추적하려면 프로젝트를 결제 계정에 연결해야 합니다. 자세한 내용은 결제 계정 만들기 및 연결을 참고하세요.
  5. 계속을 클릭합니다.
  6. 선택사항: 프로젝트의 네트워킹 기능을 구성합니다. 데이터 유출 방지 사용 설정 체크박스를 선택 해제하여 조직 내 다른 프로젝트로의 모든 아웃바운드 트래픽을 사용 중지합니다.
  7. 계속을 클릭합니다.
  8. 검토 섹션에서 요약을 검토하고 만들기를 클릭합니다.
  9. 새 프로젝트를 사용할 수 있는지 확인하기 위해 콘솔에 Project PROJECT_NAME successfully created 메시지가 표시됩니다.

gdcloud

gdcloud CLI를 사용하여 새 프로젝트를 만들려면 다음 단계를 완료하세요.

  1. 프로젝트를 만들려면 다음을 실행하세요.

    gdcloud projects create PROJECT_ID
    

    PROJECT_ID를 새 프로젝트의 고유 식별자로 바꿉니다.

  2. 새 프로젝트를 사용할 수 있는지 확인합니다.

    gdcloud projects list
    

    출력은 다음과 비슷합니다.

    METADATA.NAME
    my-project
    
  3. 결제 계정에 새 프로젝트를 연결합니다. 프로젝트 리소스 비용을 추적하려면 프로젝트에 연결된 결제 계정이 있어야 합니다.

API

API를 직접 사용하여 새 프로젝트를 만들려면 다음 단계를 완료하세요.

  1. 전역 관리 API 서버 kubeconfig 파일의 환경 변수를 설정합니다.

    export KUBECONFIG=GLOBAL_API_SERVER_KUBECONFIG
    

    전역 관리 API 서버 kubeconfig 파일이 없는 경우 생성합니다.

  2. Project 커스텀 리소스를 만들고 적용합니다.

    kubectl --kubeconfig=${KUBECONFIG} apply -f - <<EOF
    apiVersion: resourcemanager.global.gdc.goog/v1
    kind: Project
    metadata:
      namespace: platform
      name: PROJECT_ID
    EOF
    

    PROJECT_ID를 새 프로젝트의 고유 식별자로 바꿉니다.

  3. 새 프로젝트를 사용할 수 있는지 확인합니다.

    kubectl --kubeconfig=${KUBECONFIG} get projects -n platform
    

    출력은 다음과 비슷합니다.

    NAME           READY
    my-project
    
  4. 결제 계정에 새 프로젝트를 연결합니다. 프로젝트 리소스 비용을 추적하려면 프로젝트에 연결된 결제 계정이 있어야 합니다.

Terraform

Terraform을 사용하여 새 프로젝트를 만들려면 다음 단계를 완료하세요.

  1. Terraform이 구성되어 있고 적절한 권한이 설정되어 있는지 확인합니다. 자세한 내용은 Terraform 구성 페이지를 참고하세요.

  2. Terraform 구성 파일에 다음 코드 스니펫을 삽입합니다.

    provider "kubernetes" {
      config_path = "GLOBAL_API_SERVER_KUBECONFIG"
    }
    

    GLOBAL_API_SERVER_KUBECONFIG를 전역 관리 API 서버의 kubeconfig 파일 경로로 바꿉니다. 이 kubeconfig 파일이 없는 경우 하나 생성합니다.

  3. main.tf와 같은 Terraform 구성 파일에 다음 코드 스니펫을 삽입합니다.

    resource "kubernetes_manifest" "project-create" {
      manifest = {
        "apiVersion" = "resourcemanager.global.gdc.goog/v1"
        "kind" = "Project"
        "metadata" = {
          "name" = "PROJECT_ID"
          "namespace" = "platform"
        }
      }
    }
    

    PROJECT_ID를 새 프로젝트의 고유 식별자로 바꿉니다.

  4. Terraform을 사용하여 새 프로젝트를 적용합니다.

    terraform apply
    
  5. 결제 계정에 새 프로젝트를 연결합니다. 프로젝트 리소스 비용을 추적하려면 프로젝트에 연결된 결제 계정이 있어야 합니다.