Google Cloud Platform

Connecting to Google Cloud SQL from Compute Engine


Google Cloud SQL is a managed database service, and Google Compute Engine is a virtual machine (VM) service on Google Cloud Platform (GCP). In this guide, we'll explore the process of connecting to a Google Cloud SQL database from a Google Compute Engine instance and provide a sample code snippet for reference.

Key Concepts

Before we dive into the code, let's understand some key concepts related to connecting to Google Cloud SQL from Compute Engine:

  • Google Cloud SQL: It is a fully managed database service that supports various database engines, including MySQL, PostgreSQL, and SQL Server.
  • Compute Engine: It is a scalable and flexible VM service on GCP, allowing you to run custom applications and services on virtual machines.
  • Database Connection: You can establish a connection to a Cloud SQL instance from a Compute Engine VM to interact with your database.

Sample Code: Connecting to Cloud SQL from Compute Engine (Python)

Here's a sample Python code snippet to connect to a Google Cloud SQL instance from a Compute Engine VM:

# Import the required libraries
import pymysql
# Database connection configuration
db_config = {
    'user': 'your-username',
    'password': 'your-password',
    'host': 'your-database-host',
    'database': 'your-database-name'
}
# Create a connection to the Cloud SQL database
conn = pymysql.connect(**db_config)
# Create a cursor
cursor = conn.cursor()
# Execute SQL queries
cursor.execute(`SELECT * FROM your-table`)
# Fetch and print results
results = cursor.fetchall()
for row in results:
    print(row)
# Close the cursor and connection
cursor.close()
conn.close()
    

Make sure to replace

your-username
,
your-password
,
your-database-host
,
your-database-name
, and
your-table
with your specific database details.

Conclusion

Connecting to Google Cloud SQL from a Compute Engine instance is a common use case when hosting applications and databases on Google Cloud. This integration allows you to build scalable and reliable solutions while ensuring secure access to your database resources.

Written by Surfside Media

Senior Full Stack Developer specializing in Web Technologies.