App Engine에 데이터와 파일을 저장하려면 Google Cloud 서비스 또는 사용자 언어가 지원되고 App Engine 인스턴스에서 액세스할 수 있는 다른 스토리지 서비스를 사용하면 됩니다. 서드 파티 데이터베이스를 Compute Engine에 호스팅하거나 다른 클라우드 제공업체에 호스팅하거나 온프레미스에 호스팅하거나 서드 파티 공급업체에서 관리할 수 있습니다.
Google Cloud 스토리지 서비스
가변형 환경에서 실행되는 App Engine 앱의 경우 다음 Google Cloud 스토리지 서비스 중 하나를 사용하는 것이 좋습니다.
Datastore 모드의 Firestore: NoSQL 데이터베이스에 데이터를 저장합니다. Datastore 모드의 Firestore는 .NET 런타임을 제외한 모든 런타임에서 사용할 수 있습니다.
App Engine 인스턴스는 Compute Engine 인스턴스와 동일한 비공개 내부 네트워크에 속합니다.
App Engine 앱은 같은 프로젝트에 속한 Compute Engine에 호스팅된 서비스와 통신할 때는 공개 인터넷을 경유할 필요가 없습니다. 대부분의 경우 앱이 인스턴스의 내부 IP 주소를 사용하여 서비스에 연결하므로, 데이터베이스에 외부 공개 IP 주소를 할당할 필요가 없습니다. 원하는 경우 공개 IP 주소를 할당하여 Google Cloud외부에서 데이터베이스에 액세스할 수 있습니다.
Google Cloud Marketplace를 사용하면 Redis, MongoDB, PostgreSQL, Cassandra, Hadoop, Microsoft SQL Server와 같이 널리 사용되는 다수의 타사 데이터베이스를 신속하게 Compute Engine에 배포할 수 있습니다. MySQL 또는 PostgreSQL 배포에 대한 자세한 내용은 다음 가이드를 참조하세요.
기타 클라우드 제공업체
App Engine 앱은 다른 퍼블릭 클라우드에 호스팅된 외부 데이터베이스에 연결될 수 있습니다. 단, 해당 데이터베이스 서버와 방화벽이 연결을 허용하도록 적절히 구성되어 있어야 합니다. App Engine 앱은 해당 외부 서비스의 공개 IP 주소를 사용하여 인터넷을 통해 연결됩니다.
타사 공급업체가 관리하는 데이터베이스
다수의 공급업체가 MongoDB용 mLab과 같은 관리형 데이터베이스 서비스를 제공하며, Redis Labs는 호스팅된 Redis 캐싱을 제공합니다. 이러한 공급업체는 데이터베이스의 호스팅, 구성, 유지보수를 담당합니다. App Engine은 다른 퍼블릭 클라우드와 마찬가지로 해당 서비스의 공개 IP 주소를 사용하여 인터넷을 통해 외부 서비스에 연결될 수 있습니다.
온프레미스
기존 온프레미스 데이터베이스가 App Engine 앱에 액세스할 수 있도록 하려면 내부 네트워크와 방화벽을 구성하여 데이터베이스에 공개 IP 주소를 부여하거나 VPN을 사용하여 연결할 수 있습니다.
Cloud VPN을 설정하면 데이터베이스 서버를 공개 인터넷에 직접 노출하지 않고 App Engine 앱이 온프레미스 네트워크에 액세스할 수 있습니다. App Engine과 Compute Engine은 동일한 네트워킹 인프라를 사용하므로, VPN 연결과 데이터베이스 서버의 내부 IP 주소를 사용하여 App Engine 앱과 온프레미스 데이터베이스 간의 연결을 설정할 수 있습니다.
프로덕션 고려사항
다양한 측정항목에 따라 애플리케이션이 수평적으로 자동 확장되도록 App Engine을 구성할 수 있습니다. 웹 애플리케이션과 달리 데이터베이스는 확장에 대응하기 위해 까다로운 변경을 거쳐야 하는 경우가 많습니다. 프로덕션 애플리케이션에서 App Engine은 트래픽 급증 시 데이터베이스를 빠르게 가득 채울 수 있습니다. 따라서 데이터베이스를 구성하고 배포할 때 예상되는 평균 트래픽 부하뿐만 아니라 급증 시 부하도 고려해야 합니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-04(UTC)"],[[["\u003cp\u003eApp Engine applications can utilize various storage solutions, including Google Cloud services, third-party databases, and on-premises databases.\u003c/p\u003e\n"],["\u003cp\u003eGoogle Cloud offers storage services like Firestore in Datastore mode, Cloud SQL for MySQL and PostgreSQL, and Cloud Storage, which are recommended for App Engine flexible environment apps.\u003c/p\u003e\n"],["\u003cp\u003eApp Engine can communicate with services hosted on Compute Engine within the same project using the instance's internal IP address, without needing a public IP.\u003c/p\u003e\n"],["\u003cp\u003eApp Engine apps can connect to external databases hosted on other public clouds or managed by third-party vendors via the Internet using the service's public IP address.\u003c/p\u003e\n"],["\u003cp\u003eApp Engine can use a VPN to access on-premises databases using the database server's internal IP address, without exposing the database server to the public internet.\u003c/p\u003e\n"]]],[],null,["# Understanding data and file storage\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nTo store data and files on App Engine, you can use Google Cloud services\nor any other storage service that is supported by your language and is\naccessible from your App Engine instance. Third-party databases\ncan be hosted on\n[Compute Engine](/compute), hosted on another cloud provider,\nhosted on premises, or managed by a third-party vendor.\n\nGoogle Cloud storage services\n-----------------------------\n\nFor App Engine apps running in the flexible environment, we recommend\none of the following Google Cloud storage services:\n\n- [Firestore in Datastore mode](/appengine/docs/flexible/using-firestore-in-datastore-mode) to store data in a NoSQL database. Note that Firestore in Datastore mode is available for all runtimes except the .NET runtime.\n- [Cloud SQL for MySQL](/sql/docs/mysql/connect-app-engine-flexible) to store data in a MySQL database.\n- [Cloud SQL for PostgreSQL](/sql/docs/postgres/connect-app-engine-flexible) to store data in a PostgreSQL database.\n- [Cloud Storage](/appengine/docs/flexible/using-cloud-storage) to read and write files in the runtime environment, as well as [store and serve static files](/appengine/docs/flexible/serving-static-files), such as movies or images or other static content.\n\nSee a complete list of the Google Cloud storage products on the\n[Cloud Storage Products page](/products/storage).\n\nHosting on Compute Engine\n-------------------------\n\nApp Engine instances are part of the same [private internal\nnetwork](/vpc/docs/vpc#app-engine-comm) as Compute Engine instances.\nYour App Engine app can communicate with services hosted on\nCompute Engine within the same project without going through the public\ninternet. In many cases, your app connects to the service using the\ninstance's internal IP address without needing to assign the database an\nexternal, public IP address. If desired, you can assign a public IP address to\nallow the database to be accessed from outside of Google Cloud.\n\nMany popular third-party databases such as Redis, MongoDB, PostgreSQL,\nCassandra, Hadoop, and Microsoft SQL Server can be quickly deployed to\nCompute Engine by using the\n[Google Cloud Marketplace](/marketplace). See the following guides for details about\ndeploying [MySQL](/solutions/setup-mysql) or\n[PostgreSQL](/solutions/setup-postgres).\n\n\nOther cloud providers\n---------------------\n\nApp Engine apps can connect to external databases that are hosted on\nother public clouds as long as those database servers and your firewall are\nconfigured properly to accept connections. Your App Engine app connects\nover the Internet using that external service's public IP address.\n\nDatabases managed by a third-party vendor\n-----------------------------------------\n\nThere are many vendors offering managed database services such as\n[mLab](/mongodb) for MongoDB, Redis Labs offers hosted\n[Redis caching](https://redislabs.com/redis-enterprise/cloud/). These vendors handle\nhosting, configuration, and maintenance of databases. App Engine can\nconnect to these external services over the Internet, in the same way as other\npublic clouds by using that service's public IP address.\n\nOn premises\n-----------\n\nIf you have existing on-premises databases that you want to make accessible to\nyour App Engine app, you can either configure your internal\nnetwork and firewall to give the database a public IP address or connect using a\nVPN.\n\nSetting up [Cloud VPN](/network-connectivity/docs/vpn) allows your App Engine\napp to access your on-premises network without directly exposing the\ndatabase server to the public internet. Because App Engine and\nCompute Engine use the same networking infrastructure, you can use the VPN\nconnection to establish a connection between the App Engine app\nand your on-premises database using the database server's internal IP address.\n\nProduction considerations\n-------------------------\n\nApp Engine can be configured to automatically scale your application\n[horizontally](https://wikipedia.org/wiki/Scalability#Horizontal_and_vertical_scaling)\nbased on various metrics. Unlike web applications, databases often\nrequire non-trivial changes to respond to scale. In production applications,\nApp Engine can quickly overwhelm a database during traffic spikes. You\nshould take the anticipated average traffic load and load during spikes into\nconsideration when configuring and deploying databases."]]