Learn how to deploy a sample app onApp Engine standard environmentconnected to a SQL Server instance by using the Google Cloud console and a client
application.
Assuming that you complete all the steps in a timely manner, the resources
created in this quickstart typically cost less than one dollar (USD).
Before you begin
Sign in to your Google Cloud account. If you're new to
Google Cloud,create an accountto evaluate how our products perform in
real-world scenarios. New customers also get $300 in free credits to
run, test, and deploy workloads.
In the Google Cloud console, on the project selector page,
select or create a Google Cloud project.
Click the following button to open Cloud Shell, which provides
command-line access to your Google Cloud resources directly from the browser.
Cloud Shell can be used to run thegcloudcommands presented throughout this quickstart.
App Engine standard environment does not support connecting to
Cloud SQL for SQL Server over public IP using Unix sockets but
connections are possible using theGo, Java and Python connectors.
Console
In the Google Cloud console, go to theCloud SQL Instancespage.
Make sure thatEnterprise Plusis selected as the Cloud SQL edition for your instance.
In theInstance IDfield, enterquickstart-instance.
In thePasswordfield, enter a password for
the sqlserver user. Save this password for future use.
In theChoose region and zonal availabilitysection, selectSingle zone.
Click theShow configuration optionsmenu.
Expand theMachine configurationnode.
From theMachine shapesregion, select the4 vCPU, 32 GBshape.
ClickCreate instanceand then wait
until the instance initializes and starts.
gcloud
Before running the command as follows, replaceDB_ROOT_PASSWORDwith the password of your database user.
Optionally, modify the values for the following parameters:
--database-version: The database engine type and version.
If left unspecified, the API default is used.
See thegcloud database versionsdocumentation to see the current available versions.
--cpu: The number of cores
desired in the machine.
--memory: Whole number value indicating how
much memory is desired in the machine. A size unit should be
provided (for example, 3072MB or 9GB). If no units are specified,
GB is assumed.
--region: Regional location of the instance
(for example asia-east1, us-east1). If left unspecified, the defaultus-centralis used.
gcloudcomputeaddressescreategoogle-managed-services-default\--global--purpose=VPC_PEERING--prefix-length=16\--description="peering range for Google"--network=default
Run thegcloud services vpc-peerings connectcommand to create a private connection to the allocated IP address range. Replace YOUR_PROJECT_ID with your project's project ID.
Create an instance with private IP address and SSL enabled
Before running the command as follows, replaceDB_ROOT_PASSWORDwith the password of your database user.
Optionally, modify the values for the following parameters:
--database-version: The database engine type and version.
If left unspecified, the API default is used.
See thegcloud database versionsdocumentation to see the current available versions.
--cpu: The number of cores in the machine.
--memory: A whole number value indicating how
much memory to include in the machine. A size unit can be
provided (for example, 3072MB or 9GB). If no units are specified,
GB is assumed.
--region: The regional location of the instance
(for example asia-east1, us-east1). If left unspecified, the defaultus-central1is used.
See the full list ofregions.
Deploy a sample app to App Engine standard environment
Create the App Engine application
Create the App Engine application in your Google Cloud project. This
enables the App Engine service, creates a default App Engine application
and creates a App Engine service account that will be used to connect to Cloud SQL.
Console
In the Google Cloud console, go to theApp Enginepage.
With a Cloud SQL instance, database, and service account with client
permissions, you can now configure and deploy a sample application to connect
to your Cloud SQL instance.
Public IP
App Engine standard environment supports connecting to
Cloud SQL for SQL Server over public IP using
theGo, Java and Python connectors.
Go
In Cloud Shell Editor, open the sample app's source code.
In theOpen in Cloud Shelldialog box, clickConfirmto
download the sample app code and open the sample app directory in Cloud Shell Editor.
At the Cloud Shell command prompt, run the following command to activate your project:
gcloudconfigsetprojectYOUR-PROJECT-ID
If anAuthorize Cloud Shelldialog box appears, then clickAuthorize.
From the Explorer navigation menu of Cloud Shell Editor, navigate to and open thegolang-samples/cloudsql/sqlserver/database-sql/cmd/app/app.standard.yamlfile.
Replace the placeholders for the environment variables in theapp.standard.yamlfile with the following values:
<PROJECT-ID>with your project ID.
<INSTANCE-REGION>withus-central1.
<INSTANCE-NAME>with your instance's ID
that appears on theCloud SQL instancespage in the Google Cloud console.
<YOUR_DB_USER_NAME>withsqlserver.
<YOUR_DB_PASSWORD>with the password of thequickstart-userthat you created inCreate a
user.
<YOUR_DB_NAME>withquickstart-db.
At the Cloud Shell command prompt, in thegolang-samples/cloudsql/sqlserver/database-sqldirectory, run the followinggcloud app deploycommand to deploy the sample app to App Engine standard environment.
gcloudappdeploycmd/app/app.standard.yaml
If you're prompted to choose the region for creating the app,
then enter the numeric choice forus-central.
When prompted withDo you want to continue?, enterY.
In theOpen in Cloud Shelldialog box, clickConfirmto
download the sample app code and open the sample app directory in Cloud Shell Editor.
At the Cloud Shell command prompt, run the following command to activate your project:
gcloudconfigsetprojectYOUR-PROJECT-ID
If anAuthorize Cloud Shelldialog box appears, then clickAuthorize.
From the Explorer navigation menu of Cloud Shell Editor, navigate to and open thejava-docs-samples/cloud-sql/sqlserver/servlet/src/main/webapp/WEB-INF/appengine-web.xmlfile.
Replace the placeholders for the environment variables in theappengine-web.xmlfile with the following values:
project-name:region-name:instance-namewith your instance'sConnection namethat appears on theCloud SQL instancespage in the Google Cloud console.
my-db-userwithquickstart-user.
my-db-passwordwith the password of thesqlserverthat you created inCreate a
user.
my_dbwithquickstart-db.
At the Cloud Shell command prompt, in thejava-docs-samples/cloud-sql/sqlserver/servletdirectory, run the followingApache Mavenmvn clean packagecommand to deploy the sample app
to App Engine standard environment.
mvncleanpackageappengine:deploy-DskipTests
If you're prompted to choose the region for creating the app,
then enter the numeric choice forus-central.
When prompted withDo you want to continue?, enterY.
In theOpen in Cloud Shelldialog box, clickConfirmto
download the sample app code and open the sample app directory in Cloud Shell Editor.
At the Cloud Shell command prompt, run the following command to activate your project:
gcloudconfigsetprojectYOUR-PROJECT-ID
If anAuthorize Cloud Shelldialog box appears, then clickAuthorize.
From the Explorer navigation menu of Cloud Shell Editor, navigate to and open thepython-docs-samples/cloud-sql/sql-server/sqlalchemy/app.standard.yamlfile.
Replace the placeholders for the environment variables in theapp.standard.yamlfile with the following values:
<PROJECT-ID>with your project ID.
<INSTANCE-REGION>withus-central1.
<INSTANCE-NAME>with your instance's ID
that appears on theCloud SQL instancespage in the Google Cloud console.
<YOUR_DB_USER_NAME>withsqlserver.
<YOUR_DB_PASSWORD>with the password of thequickstart-userthat you created inCreate a
user.
<YOUR_DB_NAME>withquickstart-db.
At the Cloud Shell command prompt, in thepython-docs-samples/cloud-sql/sql-server/sqlalchemydirectory, run the followinggcloud app deploycommand to deploy the sample app to App Engine standard environment.
gcloudappdeployapp.standard.yaml
If you're prompted to choose the region for creating the app,
then enter the numeric choice forus-central.
When prompted withDo you want to continue?, enterY.
Click the generated link to see the sample app running on
App Engine standard environment. This environment is connected to Cloud SQL.
Private IP
For private IP paths, your application connects directly to your
instance through Serverless VPC Access. This method uses a TCP socket to
connect directly to the Cloud SQL instance without using the Cloud SQL Auth Proxy.
Go
Create and download SSL server certificate
In the Google Cloud console, go to theCloud SQL Instancespage.
In theOpen in Cloud Shelldialog box, clickConfirmto
download the sample app code and open the sample app directory in Cloud Shell Editor.
At the Cloud Shell command prompt, run the following command to activate your project:
gcloudconfigsetprojectYOUR-PROJECT-ID
If anAuthorize Cloud Shelldialog box appears, then clickAuthorize.
Upload the SSL server certificate file to thecertsfolder.
From the Explorer navigation menu of Cloud Shell Editor, navigate to thegolang-samples/cloudsql/sqlserver/database-sql/certsfolder.
Right-click thecertsfolder in Cloud Shell Editor and selectUpload Files.
Select the following file on your local machine:server-ca.pem.
With the SSL server certificate file selected, clickOpento complete the process of uploading the file to Cloud Shell Editor.
From the Explorer navigation menu of Cloud Shell Editor, navigate to and open thegolang-samples/cloudsql/sqlserver/database-sql/cmd/app/app.standard.yamlfile.
Copy and paste the following code into the file, replacing the existing file content:
INSTANCE-NAMEwith your instance's ID
that appears on theCloud SQL instancespage in the Google Cloud console.
YOUR_DB_PASSWORDwith the password of thequickstart-userthat you created inCreate a
user.
INSTANCE_HOSTwith your instance'sPrivate IP addressthat appears on theCloud SQL instancespage in the Google Cloud console.
At the Cloud Shell command prompt, in thegolang-samples/cloudsql/sqlserver/database-sqldirectory, run the followinggcloud app deploycommand to deploy the sample app to App Engine standard environment.
gcloudappdeploycmd/app/app.standard.yaml
If you're prompted to choose the region for creating the app,
then enter the numeric choice forus-central.
When prompted withDo you want to continue?, enterY.
In theOpen in Cloud Shelldialog box, clickConfirmto
download the sample app code and open the sample app directory in Cloud Shell Editor.
At the Cloud Shell command prompt, run the following command to activate your project:
gcloudconfigsetprojectYOUR-PROJECT-ID
If anAuthorize Cloud Shelldialog box appears, then clickAuthorize.
From the Explorer navigation menu of Cloud Shell Editor, navigate to and open thenodejs-docs-samples/cloud-sql/sqlserver/mssql/app.standard.yamlfile.
Replace the placeholders for the environment variables in theapp.standard.yamlfile with the following values:
CLOUD_SQL_INSTANCE_IP_ADDRESSwith your instance'sPrivate IP addressthat appears on theCloud SQL instancespage in the Google Cloud console.
MY_DB_USERwithquickstart-user.
MY_DB_PASSWORDwith the password of thequickstart-userthat you created inCreate a
user.
MY_DATABASEwithquickstart-db.
<MY-PROJECT>with your project ID.
<CONNECTOR_NAME>withquickstart-connector.
At the Cloud Shell command prompt, in thenodejs-docs-samples/cloud-sql/sqlserver/mssqldirectory, run the followinggcloud app deploycommand to deploy the sample app to App Engine standard environment.
gcloudappdeployapp.standard.yaml
If you're prompted to choose the region for creating the app,
then enter the numeric choice forus-central.
When prompted withDo you want to continue?, enterY.
In theOpen in Cloud Shelldialog box, clickConfirmto
download the sample app code and open the sample app directory in Cloud Shell Editor.
At the Cloud Shell command prompt, run the following command to activate your project:
gcloudconfigsetprojectYOUR-PROJECT-ID
If anAuthorize Cloud Shelldialog box appears, then clickAuthorize.
Upload SSL server certificate file to thecertsfolder.
From the Explorer navigation menu of Cloud Shell Editor, navigate to thepython-docs-samples/cloud-sql/sql-server/sqlalchemy/certsfolder.
Right-click thecertsfolder in Cloud Shell Editor and selectUpload Files
Select following file on your local machine:server-ca.pem.
With the SSL server certificate file selected, clickOpento complete the process of uploading the file to Cloud Shell Editor.
From the Explorer navigation menu of Cloud Shell Editor, navigate to and open thepython-docs-samples/cloud-sql/sql-server/sqlalchemy/app.standard.yamlfile.
Copy and paste the following code into the file, replacing the
existing file content:
YOUR_DB_PASSWORDwith the password of thequickstart-userthat you created inCreate a
user.
INSTANCE_HOSTwith your instance'sPrivate IP addressthat appears on theCloud SQL instancespage in the Google Cloud console.
PROJECT_IDwith your project ID.
At the Cloud Shell command prompt, in thepython-docs-samples/cloud-sql/sql-server/sqlalchemydirectory, run the followinggcloud app deploycommand to deploy the sample app to App Engine standard environment.
gcloudappdeployapp.standard.yaml
If you're prompted to choose the region for creating the app,
then enter the numeric choice forus-central.
When prompted withDo you want to continue?, enterY.
Select thequickstart-instanceinstance to open theInstance detailspage.
In the icon bar at the top of the page, clickDelete.
In theDelete instancedialog box, typequickstart-instance, and then
clickDeleteto delete the instance.
Disabling your app stops it from running instances and serving requests.
If your app is processing a request, your app completes the request before being
disabled.
To disable an App Engine app and retain its data, do the
following:
In the Google Cloud console, go to theSettingspage:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-03 UTC."],[],[],null,[]]