App Engine 요구사항
Firestore 데이터베이스가 App Engine 앱에 연결된 경우 데이터베이스에는 동일한 프로젝트의 활성 App Engine 앱이 필요합니다. 활성 App Engine 앱이 없으면 데이터베이스에 대한 읽기 및 쓰기 액세스가 중지됩니다.
활성 App Engine 요구사항
활성 App Engine 앱은 동일한 프로젝트에 앱이 있고 이 앱이 중지되지 않았음을 의미합니다. 앱이 사용되어야 할 필요는 없습니다. 연결된 앱과 데이터베이스는 같은 리전에 있어야 합니다.
App Engine 앱을 사용 중지하면 해당 앱에 연결된 Firestore 데이터베이스에 대한 액세스도 사용 중지됩니다.
요구사항 업데이트
향후 Firestore 출시 버전에서는 기본적으로 새 데이터베이스가 App Engine에서 연결 해제되어 프로비저닝됩니다. 또한 기존 데이터베이스와 새로 만든 데이터베이스 등 모든 데이터베이스에는 다음 요구사항이 있습니다.
- Google Cloud 콘솔 및 gcloud CLI에서 데이터베이스를 관리하려면 프로젝트에서 Firestore API를 사용 설정해야 합니다. 기본 모드의 Firestore와 Datastore 모드 데이터베이스의 Firestore 모두에 필요한 단계입니다.
Google Cloud 콘솔 또는 gcloud CLI에서 실행할 경우 아래 관리 작업에 다음 IAM 권한이 필요합니다.
- 데이터베이스 만들기:
datastore.databases.create
- 데이터베이스 메타데이터 보기:
datastore.databases.getMetadata
- 데이터베이스 메타데이터 수정:
datastore.databases.update
- 데이터베이스 만들기:
데이터베이스를 관리하는 데 곧 Firestore API가 필요하게 됩니다. API를 사용 설정하고 필요한 권한이 있는지 확인하세요.
데이터베이스에 대한 액세스 권한이 영향을 받지 않도록 IAM 권한을 확인합니다. 커스텀 역할을 사용하는 경우 datastore.databases.getMetadata
권한이 없을 수 있습니다. datastore.databases.getMetadata
는 커스텀 역할을 지원합니다.
IAM 권한 업데이트
Google Cloud Console을 통해 데이터베이스에 액세스하는 계정에 필요한 권한이 있는지 확인합니다.
- 데이터베이스 만들기:
datastore.databases.create
- 데이터 보기:
datastore.databases.getMetadata
- 데이터 수정:
datastore.databases.update
Datastore 사용자 및 Datastore 뷰어와 같은 사전 정의된 역할에는 필요한 권한이 있습니다. 커스텀 IAM 역할을 생성한 경우 위의 권한을 포함하도록 역할을 업데이트해야 할 수 있습니다.
커스텀 역할을 사용하여 콘솔에 대한 액세스 권한을 관리하는 경우 datastore.databases.getMetadata
로 커스텀 역할을 업데이트하거나 사전 정의된 역할을 사용하여 계속 액세스할 수 있도록 합니다.
App Engine에서 데이터베이스 연결 해제
연결된 App Engine 앱을 사용 중지하면 데이터베이스에 대한 읽기 및 쓰기 액세스도 사용 중지됩니다. 이 경우 Google Cloud Console의 Firestore 데이터 페이지에는 App Engine 앱에서 데이터베이스를 연결 해제할 수 있는 옵션이 표시됩니다. 데이터베이스 연결 해제를 클릭하여 프로세스를 시작합니다.REST API를 통해 데이터베이스의 연결을 해제할 수도 있습니다.
curl -X PATCH
--header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-type: application/json" \
--data '{"app_engine_integration_mode": "DISABLED"}' \
"https://firestore.googleapis.com/v1/projects/PROJECT_ID/databases/(default)?updateMask=appEngineIntegrationMode"
데이터베이스를 연결 해제하면 데이터베이스에 대한 액세스에 영향을 주지 않고 App Engine을 중지할 수 있습니다. 연결 해제는 되돌릴 수 없습니다. 연결 해제 작업이 적용되는 데 최대 5분이 걸릴 수 있습니다.
REST API를 통해 연결 해제 상태를 확인할 수도 있습니다.
curl --header "Authorization: Bearer $(gcloud auth print-access-token)" \
--header "Content-type: application/json" \
"https://firestore.googleapis.com/v1/projects/PROJECT_ID/databases/(default)"