프로젝트 만들기 및 관리

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

Google Cloud 프로젝트는 API를 관리하고 결제를 사용 설정하며 공동작업자를 추가 및 삭제하고 Google Cloud 리소스에 대한 권한을 관리하는 등 모든 Google Cloud 서비스를 만들고 사용 설정하고 사용하기 위한 기반을 형성합니다.

이 페이지에서는 Resource Manager API 및 Google Cloud Console을 사용하여 Google Cloud 프로젝트를 만들고 관리하는 방법을 설명합니다.

시작하기 전에

리소스 계층 구조 개요에서 프로젝트 리소스를 참조하세요. 리소스 계층 구조 설정에 대한 안내는 Google Cloud 방문 영역의 리소스 계층 구조 결정을 참조하세요.

다음은 프로젝트를 식별하는 데 사용됩니다.

  • 프로젝트 이름: 사람이 읽을 수 있는 프로젝트 이름입니다.

    프로젝트 이름은 Google API에서 사용되지 않습니다. 프로젝트 이름은 프로젝트 생성 도중이나 이후 언제든지 수정할 수 있습니다. 프로젝트 이름은 고유하지 않아도 됩니다.

  • 프로젝트 ID: 전역에서 고유한 프로젝트 식별자입니다.

    프로젝트 ID는 Google Cloud에서 프로젝트를 다른 모든 프로젝트와 구분하는 데 사용되는 고유한 문자열입니다. Google Cloud 콘솔을 사용하여 프로젝트 ID를 생성하거나 고유한 프로젝트 ID를 선택할 수 있습니다. 프로젝트를 만들 때만 프로젝트 ID를 수정할 수 있습니다.

    프로젝트 ID 요구사항은 다음과 같습니다.

    • 길이는 6~30자여야 합니다.
    • 소문자, 숫자, 하이픈만 포함할 수 있습니다.
    • 문자로 시작해야 하며
    • 하이픈으로 끝나면 안 됩니다.
    • 삭제된 프로젝트를 포함해서 사용 중이거나 이전에 사용된 ID를 사용할 수 없습니다.
    • googlessl과 같은 제한된 문자열을 포함할 수 없습니다.
  • 프로젝트 번호: 자동으로 생성되는 프로젝트의 고유 식별자입니다.

프로젝트 이름, 프로젝트 ID 또는 기타 리소스 이름에 민감한 정보를 포함하지 마세요. 프로젝트 ID는 다른 여러 Google Cloud 리소스의 이름에 사용되며 프로젝트 또는 관련 리소스에 대한 참조에서 프로젝트 ID와 리소스 이름이 노출됩니다.

프로젝트 만들기

프로젝트를 만들려면 resourcemanager.projects.create 권한이 있어야 합니다. 이 권한은 프로젝트 생성자 역할(roles/resourcemanager.projectCreator)과 같은 역할에 포함되어 있습니다. 프로젝트 생성자 역할은 새 조직의 전체 도메인과 무료 체험판 사용자에게 기본적으로 부여됩니다. 개인에게 이 역할을 부여하고 조직 전체 액세스를 제한하는 방법에 대한 자세한 내용은 기본 조직 역할 관리 페이지를 참조하세요.

상위 리소스를 지정하지 않으면 사용자 계정의 도메인에 따라 해당되는 경우 상위 리소스가 자동으로 선택됩니다.

Google Cloud 콘솔, Google Cloud CLI, projects.create() 메서드를 사용하여 새 프로젝트를 만들 수 있습니다.

콘솔

새 프로젝트를 만들려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다.

    리소스 관리 페이지로 이동

  2. 페이지 상단의 조직 선택 드롭다운 목록에서 프로젝트를 만들려는 조직 리소스를 선택합니다. 무료 체험판 사용자인 경우에는 이 목록이 나타나지 않으므로, 이 단계를 건너뜁니다.
  3. 프로젝트 만들기를 클릭합니다.
  4. 나타나는 새 프로젝트 창에 프로젝트 이름을 입력하고 해당되는 결제 계정을 선택합니다. 프로젝트 이름은 문자, 숫자, 작은 따옴표, 하이픈, 공백 또는 느낌표만 포함할 수 있으며, 4~30자(영문 기준)여야 합니다.
  5. 위치 상자에 상위 조직 또는 폴더 리소스를 입력합니다. 이 리소스는 새 프로젝트의 계층적 상위 항목이 됩니다. 조직 없음 옵션을 선택할 수 있는 경우 이를 선택하여 새 리소스 자체의 최상위 수준으로 새 프로젝트를 만들 수 있습니다.
  6. 새 프로젝트 세부정보 입력을 마쳤으면 만들기를 클릭합니다.

gcloud

새 프로젝트를 만들려면 gcloud projects create 명령어를 사용합니다.

gcloud projects create PROJECT_ID

여기서 PROJECT_ID는 만들려는 프로젝트의 ID입니다. 프로젝트 ID는 소문자로 시작해야 하고 ASCII 문자, 숫자, 하이픈만 포함해야 하며 6~30자(영문 기준) 사이여야 합니다.

조직 또는 폴더를 상위 요소로 하여 프로젝트를 만들려면 --organization 또는 --folder 플래그를 사용합니다. 리소스에는 하나의 상위 요소만 있을 수 있으므로 이러한 플래그 중 하나만 사용할 수 있습니다.

gcloud projects create PROJECT_ID --organization=ORGANIZATION_ID

gcloud projects create PROJECT_ID --folder=FOLDER_ID

API

projects.create() 메서드로 새 프로젝트를 만들 때는 프로젝트 ID에 특정 단어를 사용할 수 없습니다(예: 일부 예시에는 sslgoogle이 포함됩니다. 제한된 단어를 사용하면 요청이 INVALID_ARGUMENT 오류와 함께 반환됩니다.

아래 요청은 프로젝트만 만들고 결제 계정과 자동으로 연결하지 않습니다. 프로젝트에 연결된 결제 계정을 설정하거나 업데이트하려면 projects.updateBillingInfo 메서드를 사용합니다.

프로젝트 만들기 요청:

POST https://cloudresourcemanager.googleapis.com/v3/projects/
Authorization: *************
Content-Type: application/json

{
    "projectId": "our-project-123",
    "name": "my project",
    "labels": {
      "mylabel": "prod"
    }
}

프로젝트 만들기 응답:

{
    "name": "operations/pc.123456789",
}

가져오기 작업 요청:

GET https://cloudresourcemanager.googleapis.com/v3/operations/pc.123456789
Authorization: *************
Content-Type: application/json

가져오기 작업 응답:

{
    "name": "operations/pc.123456789",
    "done": true,
    "response": {
        "@type": "type.googleapis.com/google.cloudresourcemanager.v3.Project",
        "projectNumber": "464036093014",
        "projectId": "our-project-123",
        "lifecycleState": "ACTIVE",
        "name": "my project",
        "labels": {
        "mylabel": "prod"
        },
    "createTime": "2016-01-07T21:59:43.314Z"
    }
}

서비스 계정을 사용하여 프로젝트 만들기

서비스 계정을 사용하여 프로젝트 생성을 자동화할 수 있습니다. 사용자 계정과 마찬가지로 서비스 계정에는 조직 내에서 프로젝트를 만들 수 있는 권한이 부여될 수 있습니다. 서비스 계정은 조직 외부에서 프로젝트를 만들 수 없으며 프로젝트를 만들 때 상위 리소스를 지정해야 합니다. 서비스 계정에서 gcloud CLI 또는 projects.create() 메서드를 사용하여 새 프로젝트를 만들 수 있습니다.

프로젝트 할당량 관리

남은 프로젝트 할당량이 30개 미만이면 새 프로젝트 페이지에 남은 프로젝트 할당량을 보여주는 알림이 표시됩니다. 프로젝트 한도에 도달하면 프로젝트 한도 증가를 요청해야 더 많은 프로젝트를 만들 수 있습니다. 또는 리소스 관리 페이지에서 30일 후에 일부 프로젝트가 삭제되도록 예약할 수 있습니다. 사용자가 소프트 삭제한 프로젝트는 할당량에 포함됩니다. 이러한 프로젝트는 30일 후 완전히 삭제됩니다.

프로젝트 할당량 상향 조정을 요청하려면 프로젝트 할당량 증가 요청 양식을 사용하세요. 할당량과 할당량 사용 이유에 대한 자세한 내용은 무료 체험판 프로젝트 할당량 요청 지원 페이지에서 확인할 수 있습니다. 결제 보고서에 대한 자세한 내용은 결제 보고서 지원 페이지를 참조하세요.

프로젝트 식별

Google Cloud 리소스와 상호작용하려면 모든 요청에 프로젝트 식별 정보를 제공해야 합니다. 프로젝트는 프로젝트 ID와 프로젝트 번호로 식별됩니다.

프로젝트 ID 및 프로젝트 번호를 가져오려면 다음을 수행합니다.

  1. Google Cloud 콘솔의 대시보드 페이지로 이동합니다.

    대시보드 페이지로 이동

  2. 페이지 상단에서 선택 드롭다운 목록을 클릭합니다. 선택 창이 나타나면 프로젝트를 선택합니다.

프로젝트 ID와 프로젝트 번호가 프로젝트 대시보드 프로젝트 정보 카드에 표시됩니다.

위의 예시에서 프로젝트 이름은 My Sample Project이고 프로젝트 ID는 my-sample-project-191923입니다.

기존 프로젝트 가져오기

Google Cloud 콘솔 또는 projects.get() 메서드를 사용하여 기존 프로젝트를 가져올 수 있습니다.

콘솔

Google Cloud Console을 사용하여 프로젝트를 보려면 다음을 수행합니다.

  1. Google Cloud Console의 대시보드 페이지로 이동합니다.

    대시보드 페이지로 이동

  2. 페이지 상단에서 선택 드롭다운 목록을 클릭합니다. 선택 창이 나타나면 프로젝트를 선택합니다.

gcloud

프로젝트의 메타데이터를 가져오려면 gcloud projects describe 명령어를 사용합니다.

gcloud projects describe PROJECT_ID

여기서 PROJECT_ID는 보려는 프로젝트의 ID입니다.

API

요청:

GET
https://cloudresourcemanager.googleapis.com/v3/projects/our-project-123

응답:

{
    "projectNumber": "464036093014",
    "projectId": "our-project-123",
    "lifecycleState": "ACTIVE",
    "name": "my project",
    "labels": {
        "mylabel": "prod"
    },
    "createTime": "2016-01-07T21:59:43.314Z"
}

프로젝트 나열

리소스의 모든 프로젝트 나열

리소스의 직접 하위 항목인 모든 프로젝트를 나열하려면 쿼리에 지정된 상위 리소스와 함께 v3 projects.list 메서드를 사용합니다.

요청:

GET https://cloudresourcemanager.googleapis.com/v3/projects

{
    "parent": "folders/662951040570"
}

응답:

{
    "projects": [
    {
        "name": "projects/951040570662",
        "parent": "folders/662951040570",
        "projectId": "tokyo-rain-123",
        "state": "ACTIVE",
        "displayName": "Tokyo Rain"
        "createTime": "2013-11-13T20:31:53.308Z"
        "updateTime": "2013-11-13T20:31:53.308Z"
        "etag": "BwWUlZ6XEfY="
    }
    ]
}

프로젝트 검색

지정된 쿼리와 일치하는 프로젝트를 검색하려면 gcloud alpha resource-manager projects search를 사용하여 --query 플래그에 쿼리를 전달합니다. 검색 범위는 사용자가 projects.get 권한을 가지고 있는 모든 프로젝트입니다.

gcloud

모든 프로젝트 목록을 가져오려면 gcloud alpha projects search 명령어를 사용합니다.

gcloud alpha projects search --query="displayName=rek*"
<table output showing the projects with display names starting from rek eg. rekey-project-2, rekha-project>

gcloud alpha projects search --query="state:DELETE_REQUESTED"
<table output showing the projects for which delete has been requested>

API

projects.search 메서드 및 쿼리 문자열을 사용하여 필터와 일치하는 특정 프로젝트 리소스를 반환할 수 있습니다. 결과에는 resourcemanager.projects.get 권한이 부여된 프로젝트만 포함됩니다.

다음 코드 스니펫은 표시 이름이 'Tokyo Rain'인 프로젝트 리소스를 반환합니다.

요청:

GET https://cloudresourcemanager.googleapis.com/v3/projects:search?query=displayName%3ATokyo%2BRain

응답:

{
  "projects": [
    {
      "name": "projects/951040570662",
      "parent": "folders/662951040570",
      "projectId": "tokyo-rain-123",
      "state": "ACTIVE",
      "displayName": "Tokyo Rain",
      "createTime": "2013-11-13T20:31:53.308Z",
      "updateTime": "2013-11-13T20:31:53.308Z",
      "etag": "BwWUlZ6XEfY="
    }
  ]
}

다음 코드 스니펫은 빨간색 라벨이 있는 모든 프로젝트 리소스를 반환합니다.

요청:

GET https://cloudresourcemanager.googleapis.com/v3/projects:search?query=labels.color%3Ared

응답:

{
  "projects": [
    {
      "name": "projects/951054970012",
      "parent": "folders/662951040570",
      "projectId": "Osaka-rain-234",
      "state": "ACTIVE",
      "displayName": "Osaka Rain",
      "createTime": "2013-11-13T20:31:53.308Z",
      "updateTime": "2013-11-13T20:31:53.308Z",
      "etag": "BwWUlZ6XEfY=",
      "labels": {
        "color": "red"
      }
    }
  ]
}

요청 본문에서 parent.typeparent.id 필드를 지정하면 상위 요소에서 resourcemanager.projects.list 권한이 확인됩니다. 사용자에게 이 권한이 있으면 나머지 필터가 적용된 후 상위 요소 아래의 모든 프로젝트가 반환됩니다.

사용자에게 이 권한이 없으면 나머지 필터가 적용된 후 사용자에게 resourcemanager.projects.get 권한이 있는 모든 프로젝트가 반환됩니다.

필터를 지정하지 않으면 사용자에게 resourcemanager.projects.get 권한이 있는 프로젝트가 반환됩니다.

프로젝트 업데이트

Google Cloud 콘솔 또는 projects.patch() 메서드를 사용하여 프로젝트를 업데이트할 수 있습니다.

프로젝트 이름 및 라벨 필드만 업데이트할 수 있습니다. 프로젝트 업데이트에 대한 자세한 내용은 프로젝트 API 참조 페이지를 참조하세요.

리소스 계층 구조 내에서 프로젝트를 이동하려면 프로젝트 이동을 참조하세요. 한 조직에서 다른 조직으로 프로젝트를 마이그레이션하려면 프로젝트 마이그레이션을 참조하세요.

콘솔

Google Cloud 콘솔을 사용하여 프로젝트 이름 또는 라벨을 업데이트하려면 다음을 수행합니다.

  1. Google Cloud 콘솔에서 설정 페이지를 엽니다.

    설정 페이지 열기

  2. 화면 상단에서 프로젝트 선택 드롭다운 목록을 클릭합니다.
  3. 다음 조직에서 선택 창이 나타나면 조직 드롭다운 목록을 클릭한 후 조직을 선택합니다. 무료 체험판 사용자인 경우에는 조직 목록이 표시되지 않으므로 이 단계를 건너뜁니다.
  4. 목록이 나타나면 프로젝트를 선택합니다.
  5. 프로젝트 이름을 변경하려면 프로젝트 이름을 수정한 후 저장을 클릭합니다.
  6. 라벨을 변경하려면 왼쪽 탐색 메뉴에서 라벨을 클릭합니다. 라벨 사용에 대해 자세히 알아보세요.

gcloud

프로젝트 이름 또는 라벨을 업데이트하려면 gcloud alpha projects update 명령어를 사용합니다.

gcloud alpha projects update PROJECT_ID \
    --name=NAME \
    --update-labels=KEY=VALUE, ...

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

  • PROJECT_ID는 업데이트할 프로젝트의 ID입니다.

  • NAME은 프로젝트에 할당할 새 이름입니다.

  • KEY=VALUE, ...는 업데이트할 라벨의 키-값 쌍 목록입니다. 라벨이 이미 있으면 해당 값이 수정됩니다. 라벨이 없으면 새 라벨이 생성됩니다.

자세한 내용과 이 명령어에 사용할 수 있는 추가 플래그는 Google Cloud CLI SDK를 참조하세요.

API

프로젝트를 업데이트하려면 다음을 수행합니다.

  • projects.get 메서드를 사용하여 project 객체를 가져옵니다.

  • 업데이트할 필드를 수정합니다.

  • projects.patch 메서드를 호출합니다.

다음 예시에서는 프로젝트의 표시 이름을 myproject로 업데이트하고 color 라벨을 red로 설정합니다.

요청:

PATCH https://cloudresourcemanager.googleapis.com/v3/projects/PROJECT_NUMBER?updateMask=displayName,labels

여기서 PROJECT_NUMBER는 업데이트할 프로젝트의 숫자 ID입니다.

JSON 요청 본문:

{
  "displayName": "myproject",
  "labels": {
    "color": "red"
  }
}

응답:

{
  "projects": [
    {
      "name": "projects/951054970012",
      "parent": "folders/662951040570",
      "projectId": "Osaka-rain-234",
      "state": "ACTIVE",
      "displayName": "myproject",
      "createTime": "2013-11-13T20:31:53.308Z",
      "updateTime": "2013-11-13T20:35:42.308Z",
      "etag": "BwWUlZ6XEfY=",
      "labels": {
        "color": "red"
      }
    }
  ]
}

프로젝트 종료(삭제)

API에서 Google Cloud 콘솔 또는 projects.delete 메서드를 사용하여 프로젝트를 종료할 수 있습니다. 이런 방식으로 종료하려면 프로젝트의 수명 주기 상태가 ACTIVE여야 합니다.

이 메서드는 즉시 삭제할 프로젝트를 표시합니다. 삭제 작업을 시작한 사용자와 필수 연락처에 나열된 기술 카테고리 연락처로 알림 이메일이 최상의 방식으로 전송됩니다. 알림 전송이 실패할 경우에도 프로젝트는 삭제될 것으로 표시됩니다. 기술 카테고리에 연락처가 없으면 대체 연락처로 알림이 전송되지 않습니다.

삭제로 표시된 프로젝트는 사용할 수 없습니다. 프로젝트에 결제 계정이 연결되어 있으면 해당 연결이 해제되고 프로젝트 삭제 작업이 취소되더라도 복구되지 않습니다. 30일이 지나면 프로젝트가 완전히 삭제됩니다.

30일의 기간 동안 프로젝트 삭제 프로세스를 중지하려면 프로젝트 복원 단계를 참조하세요. gcloud projects describe Google Cloud CLI 메서드를 사용하여 30일의 기간 중 남은 일수를 확인할 수 있습니다.

30일 기간이 종료되면 프로젝트와 모든 리소스가 삭제되고 복구할 수 없습니다. 삭제될 때까지 프로젝트는 프로젝트 할당량에 반영됩니다.

프로젝트에 대한 결제를 설정한 경우 현재 결제 주기가 종료되고 계정에 요금이 청구될 때까지 프로젝트가 완전히 삭제되지 않을 수 있습니다. 사용 중인 서비스의 수와 유형이 시스템에서 프로젝트가 영구적으로 삭제되는 시점에 영향을 미칠 수 있습니다. 데이터 보관 및 안전한 삭제에 대해 자세히 알아보려면 Google에서 수집한 데이터를 보관하는 방법을 참조하세요.

프로젝트를 종료하려면 다음 사항에 유의하세요.

Console

  1. Google Cloud 콘솔에서 IAM 및 관리자 설정 페이지로 이동합니다.

    설정 페이지 열기

  2. IAM 및 관리자 설정 페이지에서 프로젝트 선택을 클릭합니다.
  3. 삭제할 프로젝트를 선택하고 열기를 클릭합니다.
  4. 종료를 클릭합니다.
  5. 프로젝트 ID를 입력한 후 종료를 클릭합니다.

gcloud

프로젝트를 삭제하려면 gcloud projects delete 명령어를 사용합니다.

gcloud projects delete PROJECT_ID

여기서 PROJECT_ID는 삭제할 프로젝트의 ID입니다.

API

다음 코드 스니펫은 지정된 프로젝트를 삭제합니다.

요청:

DELETE
https://cloudresourcemanager.googleapis.com/v3/projects/my-project-123

프로젝트 삭제 문제 해결

프로젝트 종료 프로세스에 실패한 경우 프로젝트 삭제 문제 해결에서 자세한 정보를 확인할 수 있습니다.

프로젝트 복원

프로젝트 소유자는 프로젝트가 종료될 때 시작되는 30일 복원 기간 내에 삭제된 프로젝트를 복원할 수 있습니다. 프로젝트를 복원하면 종료되기 전의 상태로 되돌아갑니다(예외 있음).

  • 프로젝트가 종료되고 복원된 프로젝트에서 결제가 자동으로 사용 설정되지 않는 경우에는 프로젝트에서 결제가 사용 중지됩니다. 프로젝트가 복원된 후 Cloud Billing 계정을 수동으로 다시 연결해야 합니다. 최근에 복원된 프로젝트를 결제 계정에 성공적으로 연결하려면 몇 시간 정도 기다려야 할 수 있습니다.
  • 30일 기간 내에 프로젝트를 복원하는 경우 대부분의 리소스를 복구할 수 있습니다. 일부 서비스는 복원이 지연되며 서비스가 복원될 때까지 약간 기다려야 할 수 있습니다.
  • Cloud Storage 또는 Pub/Sub 리소스와 같은 일부 리소스는 훨씬 더 빨리 삭제됩니다. 이러한 리소스는 30일 기간 내에 프로젝트를 복원하는 경우에도 완전히 복구하지 못할 수 있습니다.
  • 일부 서비스는 수동으로 다시 시작해야 할 수 있습니다. 자세한 내용은 Google Cloud Services 다시 시작을 참조하세요.

복원할 프로젝트에 대한 resourcemanager.projects.undelete 권한이 있어야 합니다. 프로젝트를 복원하는 방법은 다음과 같습니다.

콘솔

Google Cloud 콘솔에서 프로젝트를 보려면 다음 권한이 필요합니다.

  • resourcemanager.projects.list
  • resourcemanager.folders.list
  • resourcemanager.projects.get

Google Cloud 콘솔을 사용하여 프로젝트를 복원하려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 리소스 관리 페이지로 이동합니다.

    리소스 관리 페이지로 이동

  2. 페이지 상단의 프로젝트 선택기에서 조직을 선택합니다.

  3. 조직, 폴더, 프로젝트 목록 아래에서 삭제 대기 중인 리소스를 클릭합니다.

  4. 복원할 프로젝트의 체크박스를 선택한 후 복원을 클릭합니다. 대화상자가 나타나면 프로젝트를 복원할지 확인합니다.

gcloud

프로젝트를 복원하려면 gcloud projects undelete 명령어를 사용합니다.

gcloud projects undelete PROJECT_ID

여기서 PROJECT_ID는 복원할 프로젝트의 프로젝트 ID 또는 프로젝트 번호입니다.

API

다음 코드 스니펫은 지정된 프로젝트를 복원합니다.

요청:

POST
https://cloudresourcemanager.googleapis.com/v3/projects/my-project-123:undelete