데이터베이스 액세스

이 페이지에서는 다양한 플랫폼에서 Datastore 모드의 Cloud Firestore 데이터베이스에 액세스하는 방법, 결제 사용 설정 방법, 지출 한도 설정 방법을 설명합니다.

시작하기 전에

이 페이지에서는 Datastore 모드 데이터베이스를 이미 만들었다고 가정합니다. Datastore 모드의 Cloud Firestore 빠른 시작을 완료하여 데이터베이스를 만들 수 있습니다.

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

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

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

App Engine의 Datastore 모드 권한

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

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

App Engine 기본 서비스 계정을 삭제한 경우 Cloud Firestore에 액세스하려면 App Engine 서비스 계정을 복원해야 합니다.

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

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

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

    결제 사용 설정 방법 알아보기

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

Console

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

gcloud

  1. 아직 이 작업을 수행하지 않았으면 gcloud 명령줄 도구를 설치하고 gcloud compute설정합니다.
  2. Google Compute Engine 문서의 인스턴스 시작에 대한 지침을 따라 Google Compute Engine 인스턴스를 추가하고 시작합니다. 여기에 나와 있는 것처럼 프로젝트 ID, 인스턴스 이름, datastore 범위를 지정합니다. 여기서 [YOUR_PROJECT_ID]는 이전에 만든 프로젝트의 ID이고, [YOUR_INSTANCE_NAME]은 Compute Engine 인스턴스에 사용할 이름입니다.

    export PROJECT_ID=[YOUR_PROJECT_ID]
    export INSTANCE_NAME=[YOUR_INSTANCE_NAME]
    gcloud compute instances create $INSTANCE_NAME --project $PROJECT_ID --scopes datastore
    
  3. 인스턴스가 실행 중인지 확인합니다.

  4. 이 새로운 Compute Engine 인스턴스를 사용하려면 ssh를 사용하여 연결합니다.

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

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

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

  1. Google Cloud Platform Console의 서비스 계정 키 만들기 페이지로 이동합니다.

    서비스 계정 키 만들기 페이지로 이동

  2. 서비스 계정 아래의 드롭다운 메뉴를 클릭하고 새 서비스 계정을 클릭합니다.

  3. 서비스 계정 이름에 서비스 계정의 이름을 입력합니다.

  4. 역할 드롭다운에서 Cloud Datastore 소유자와 같이 데이터베이스에 대한 액세스 권한을 부여하는 IAM 역할을 선택합니다.

  5. 기본 서비스 계정 ID를 사용하거나 다른 ID를 생성합니다.

  6. 키 유형에서 JSON을 선택합니다.

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

  8. 생성이 완료되면 브라우저에서 개인 키를 다운로드합니다. GCP 콘솔에서 개인 키 파일 이름을 표시하는 메시지를 제공합니다. 다음에 찾을 수 있도록 파일 이름을 기록한 후 닫기를 클릭하여 메시지를 닫습니다.

  9. 서비스 계정서비스 계정 섹션에 표시된 이메일 주소입니다.

  10. 비공개 키는 방금 다운로드한 파일입니다.

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

할당량 및 결제

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

결제 활성화 및 지출 한도 설정

지출 한도는 일일 한도로서, 매일 청구 가능한 리소스의 최대 한도(달러)를 설정합니다. 이 한도에 도달하면 더 이상의 비용이 발생하지 않으나 청구 가능한 Datastore 모드의 Cloud Firestore 작업도 더 이상 허용되지 않습니다. 최초 기본 지출 한도는 항상 0이므로 지출 한도를 지정해야 합니다. 즉, 기본적으로는 결제를 사용 설정해도 무료 할당량을 초과할 수 없습니다.

Cloud Firestore 리소스는 App Engine 리소스의 일부입니다. App Engine 애플리케이션 설정에서 App Engine 리소스의 지출 한도를 설정합니다.

결제를 사용 설정하려면 다음 안내를 따르세요.

  1. Google Cloud Platform 프로젝트에 결제가 사용 설정되어 있는지 확인하세요.

    결제 사용 설정 방법 알아보기

지출 한도를 설정하려면 다음 안내를 따르세요.

  1. 애플리케이션 설정으로 이동합니다.
    애플리케이션 설정으로 이동
  2. 수정을 클릭하고 지출 한도를 지정합니다.
  3. 저장을 클릭합니다.

지출 한도는 선택한 프로젝트의 App Engine 리소스에만 적용되며 Cloud Firestore도 여기에 포함됩니다.

  • 여전히 다른 Google Cloud Platform 리소스 사용에 따른 비용이 청구될 수 있습니다.
  • 프로젝트가 여러 개인 경우 프로젝트마다 지출 한도를 설정할 수 있습니다.

일일 지출 한도를 증액하면 새로운 한도가 즉시 적용됩니다.

자세한 내용은 지출 한도를 참조하세요.

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Cloud Datastore 문서