데이터베이스 액세스

이 페이지에서는 여러 플랫폼에서 Datastore 모드 데이터베이스의 Firestore에 액세스하는 방법을 설명합니다.

시작하기 전에

이 문서에서는 Datastore 모드 데이터베이스를 이미 만들었다고 가정합니다. 데이터베이스를 아직 만들지 않았으면 Datastore 모드의 Firestore 빠른 시작 안내를 따르세요.

App Engine에서 데이터베이스 액세스

Datastore 모드와 App Engine을 시작하려면 다음 언어별 페이지 중 하나를 참조하세요.

App Engine 표준 환경 App Engine 가변형 환경

App Engine의 Datastore 모드 권한

App Engine 앱은 기본적으로 동일한 프로젝트의 Datastore 모드 데이터베이스에 액세스할 수 있습니다. 각 App Engine 앱은 App Engine 기본 서비스 계정을 사용하여 Firestore와 같은 Google Cloud 서비스에 대한 액세스를 관리합니다. 기본적으로 App Engine 기본 서비스 계정에는 프로젝트 편집자 IAM 역할이 있으며, 이 역할에는 Datastore 모드에 대한 전체 읽기 및 쓰기 액세스 권한이 있습니다.

App Engine 기본 서비스 계정의 IAM 권한을 수정할 수 있지만 필요한 Firestore 권한이 있는 IAM 역할을 할당하지 않으면 앱이 Firestore에 대한 액세스 권한을 상실할 수 있습니다. 예를 들어 Datastore 소유자Datastore 사용자 IAM 역할은 Datastore 모드의 Firestore에 대한 읽기 및 쓰기 액세스 권한을 부여합니다.

App Engine 기본 서비스 계정을 사용 중지하거나 삭제하면 App Engine 앱은 Datastore 모드 데이터베이스에 대한 액세스 권한을 상실합니다. App Engine 서비스 계정을 사용 중지한 경우 다시 사용 설정할 수 있습니다. 서비스 계정 사용 설정을 참조하세요. 지난 30일 내에 App Engine 서비스 계정을 삭제한 경우, 서비스 계정을 복원할 수 있습니다. 서비스 계정 삭제 취소를 참조하세요.

Compute Engine 인스턴스에서 데이터베이스에 액세스

이 섹션에서는 새 프로젝트 또는 기존 프로젝트의 Compute Engine VM 인스턴스에서 Datastore 모드 데이터베이스를 활성화하고 액세스하는 방법을 설명합니다.

Compute Engine용 Datastore 모드 권한

Compute Engine 앱은 기본적으로 동일한 프로젝트의 Datastore 모드 데이터베이스에 액세스할 수 있습니다. 각 Compute Engine 앱은 Compute Engine 기본 서비스 계정을 사용하여 Firestore와 같은 Google Cloud 서비스에 대한 액세스를 관리합니다. 기본적으로 Compute Engine 기본 서비스 계정에는 프로젝트 편집자 IAM 역할이 있으며, 이 역할에는 Datastore 모드에 대한 전체 읽기 및 쓰기 액세스 권한이 있습니다.

Compute Engine 인스턴스에서 데이터베이스에 액세스하려면 다음 단계를 완료하세요.

  1. 프로젝트에 Google Compute Engine API를 사용 설정합니다.
    Compute Engine API 사용 설정
  2. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  3. Compute Engine 인스턴스를 생성합니다.

콘솔

  1. Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
  2. 인스턴스 만들기 버튼을 클릭합니다.
  3. ID 및 API 액세스 섹션에서 액세스 범위를 설정하여 Datastore에 대한 액세스 권한을 제공합니다. 모든 Cloud APIs에 대한 전체 액세스 허용을 클릭하여 모든 Google Cloud API에 대한 액세스 권한을 부여하거나 각 API에 액세스 설정을 클릭하고 Datastore 드롭다운을 클릭한 다음 사용 설정됨을 클릭하여 Datastore에 대한 액세스 권한을 부여합니다.
  4. 만들기 버튼을 클릭하여 VM 인스턴스를 만듭니다.
  5. 인스턴스가 실행 중인지 확인합니다.
  6. 이 새로운 Compute Engine VM 인스턴스를 사용하려면 브라우저를 사용하여 연결합니다.

gcloud

  1. 아직 수행하지 않은 경우 Google Cloud CLI를 설치하고 gcloud compute를 설정합니다.
  2. Compute Engine 문서의 인스턴스 시작에 대한 지침을 따라 Compute Engine VM 인스턴스를 추가하고 시작합니다. 다음 예시와 같이 프로젝트 ID, VM 인스턴스 이름, cloud-platform 또는 datastore 범위를 지정합니다.

    export PROJECT_ID=[YOUR_PROJECT_ID]
    export INSTANCE_NAME=[YOUR_INSTANCE_NAME]
    gcloud compute instances create $INSTANCE_NAME --project $PROJECT_ID --scopes datastore
    

    [YOUR_PROJECT_ID]를 이전에 만든 프로젝트의 ID로, [YOUR_INSTANCE_NAME]을 VM 인스턴스에 사용할 이름으로 바꿉니다.

  3. 인스턴스가 실행 중인지 확인합니다.

  4. 이 새 VM 인스턴스를 사용하려면 VM에 연결합니다.

이제 모든 서비스와 승인이 프로젝트에 맞게 구성되어 코드 작성 또는 API 탐색을 시작할 수 있습니다.

다른 플랫폼에서 데이터베이스에 액세스

이 섹션에서는 Google Cloud 외부의 플랫폼에서 실행되는 외부 애플리케이션에서 Datastore 모드 데이터베이스에 액세스하는 방법을 설명합니다.

먼저 서비스 계정을 만듭니다.

  1. Google Cloud 콘솔에서 서비스 계정 만들기 페이지로 이동합니다.

    서비스 계정 만들기로 이동

  2. 프로젝트를 선택합니다.

  3. 서비스 계정 이름 필드에 이름을 입력합니다. Google Cloud 콘솔은 이 이름을 기반으로 서비스 계정 ID 필드를 채웁니다.

  4. 선택사항: 서비스 계정 설명 필드에 설명을 입력합니다.

  5. 만들기를 클릭합니다.

  6. 역할 선택 필드를 클릭합니다.

    모든 역할에서 Datastore > Cloud Datastore 사용자와 같이 데이터베이스에 대한 액세스 권한을 부여하는 역할을 선택합니다.

  7. 계속을 클릭합니다.

  8. 완료를 클릭하여 서비스 계정 만들기를 마칩니다.

    브라우저 창을 닫지 마세요. 다음 절차에서 사용합니다.

그런 다음 서비스 계정 키를 만듭니다.

  1. Google Cloud 콘솔에서 만든 서비스 계정의 이메일 주소를 클릭합니다.
  2. 를 클릭합니다.
  3. 키 추가를 클릭한 후 새 키 만들기를 클릭합니다.
  4. 만들기를 클릭합니다. JSON 키 파일이 컴퓨터에 다운로드됩니다.
  5. 닫기를 클릭합니다.

서비스 계정 사용자 인증 정보 제공의 설명대로 이 서비스 계정을 사용하여 애플리케이션 코드의 사용자 인증 정보를 구성합니다.

할당량 및 결제

가격 및 할당량에 설명된 대로 일정량의 무료 할당량을 이용할 수 있습니다. 즉, 결제를 사용 설정하지 않아도 Datastore 모드의 Firestore를 시작하거나 무료 할당량 한도까지 사용할 수 있습니다. 하지만 무료 할당량에서 제공하는 것보다 많은 리소스가 필요한 경우에는 결제를 사용 설정해야 합니다.

다음 단계

결제를 사용 설정하려면 프로젝트에 결제 사용 설정을 참조하세요.