You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Mar 29, 2023. It is now read-only.
:description: Run MySQL or PostgreSQL on Google's Cloud SQL Service. Supports read replicas, multi-zone automatic failover, and automatic backup.
5
+
:icon: /_docs/cloud-sql-icon.png
6
+
:category: database
7
+
:cloud: gcp
8
+
:tags: database, mysql, postgresql
9
+
:license: open-source
10
+
:built-with: terraform
11
+
-->
12
+
# Cloud SQL Modules
1
13
[](https://gruntwork.io/?ref=repo_google_cloudsql)
2
14
[](http://github.com/gruntwork-io/terraform-google-sql/releases/latest)
If you want to quickly spin up a Cloud SQL database, you can run the example that is in the root of this repo. Check out
17
-
[postgres-private-ip example documentation](https://github.com/gruntwork-io/terraform-google-sql/blob/master/examples/postgres-private-ip)
18
-
for instructions.
31
+
## Learn
19
32
20
-
## What's in this repo
33
+
This repo is a part of [the Gruntwork Infrastructure as Code Library](https://gruntwork.io/infrastructure-as-code-library/), a collection of reusable, battle-tested, production ready infrastructure code. If you’ve never used the Infrastructure as Code Library before, make sure to read [How to use the Gruntwork Infrastructure as Code Library](https://gruntwork.io/guides/foundations/how-to-use-gruntwork-infrastructure-as-code-library/)!
34
+
35
+
### Core concepts
36
+
37
+
-[What is Cloud SQL](https://github.com/gruntwork-io/terraform-google-sql/blob/master/modules/cloud-sql/core-concepts.md#what-is-cloud-sql)
-**[Designing Data Intensive Applications](https://dataintensive.net/)**: the best book we’ve found for understanding data systems, including relational databases, NoSQL, replication, sharding, consistency, and so on.
40
+
41
+
### Repo organisation
21
42
22
43
This repo has the following folder structure:
23
44
@@ -30,68 +51,55 @@ This repo has the following folder structure:
30
51
31
52
The primary module is:
32
53
33
-
-[cloud-sql](https://github.com/gruntwork-io/terraform-google-sql/tree/master/modules/cloud-sql): Deploy a Cloud SQL [MySQL](https://cloud.google.com/sql/docs/mysql/) or
-[cloud-sql](https://github.com/gruntwork-io/terraform-google-sql/tree/master/modules/cloud-sql): Deploy a Cloud SQL [MySQL](https://cloud.google.com/sql/docs/mysql/) or [PostgreSQL](https://cloud.google.com/sql/docs/postgres/) database.
55
+
36
56
-[examples](https://github.com/gruntwork-io/terraform-google-sql/tree/master/examples): This folder contains
37
57
examples of how to use the submodules.
38
58
39
59
-[test](https://github.com/gruntwork-io/terraform-google-sql/tree/master/test): Automated tests for the submodules
40
60
and examples.
41
61
42
-
## What is Cloud SQL?
43
-
44
-
Cloud SQL is Google's fully-managed database service that makes it easy to set up, maintain, manage, and administer
45
-
your relational databases on Google Cloud Platform. Cloud SQL automatically includes:
62
+
## Deploy
46
63
47
-
- Data replication between multiple zones with automatic failover.
48
-
- Automated and on-demand backups, and point-in-time recovery.
49
-
- Data encryption on networks, database tables, temporary files, and backups.
50
-
- Secure external connections with the [Cloud SQL Proxy](https://cloud.google.com/sql/docs/mysql/sql-proxy) or with the SSL/TLS protocol.
64
+
### Non-production deployment (quick start for learning)
51
65
52
-
You can learn more about Cloud SQL from [the official documentation](https://cloud.google.com/sql/docs/).
66
+
If you just want to try this repo out for experimenting and learning, check out the following resources:
53
67
54
-
## What's a Module?
68
+
-[examples folder](https://github.com/gruntwork-io/terraform-google-sql/blob/master/examples): The `examples` folder contains sample code optimized for learning, experimenting, and testing (but not production usage).
55
69
56
-
A Module is a canonical, reusable, best-practices definition for how to run a single piece of infrastructure, such
57
-
as a database or server cluster. Each Module is written using a combination of [Terraform](https://www.terraform.io/)
58
-
and scripts (mostly bash) and include automated tests, documentation, and examples. It is maintained both by the open
59
-
source community and companies that provide commercial support.
70
+
### Production deployment
60
71
61
-
Instead of figuring out the details of how to run a piece of infrastructure from scratch, you can reuse
62
-
existing code that has been proven in production. And instead of maintaining all that infrastructure code yourself,
63
-
you can leverage the work of the Module community to pick up infrastructure improvements through
64
-
a version number bump.
72
+
If you want to deploy this repo in production, check out the following resources:
65
73
66
-
## Who maintains this Module?
74
+
-[cloud-sql module in the GCP Reference Architecture](https://github.com/gruntwork-io/infrastructure-modules-google/tree/master/data-stores/cloud-sql):
75
+
Production-ready sample code from the GCP Reference Architecture. Note that the repository is private and accessible only with
76
+
Gruntwork subscription. To get access, [subscribe now](https://www.gruntwork.io/pricing/) or contact us at [support@gruntwork.io](mailto:support@gruntwork.io) for more information.
67
77
68
-
This Module and its Submodules are maintained by [Gruntwork](http://www.gruntwork.io/). Read the [Gruntwork Philosophy](https://github.com/gruntwork-io/terraform-google-sql/blob/master/GRUNTWORK_PHILOSOPHY.md) document to learn more about how Gruntwork builds production grade infrastructure code. If you are looking for help or
- Setup, customization, and support for this Module.
75
-
- Modules and submodules for other types of infrastructure, such as VPCs, Docker clusters, databases, and continuous
76
-
integration.
77
-
- Modules and Submodules that meet compliance requirements, such as HIPAA.
78
-
- Consulting & Training on GCP, AWS, Terraform, and DevOps.
82
+
-[How to connect to a Cloud SQL instance](https://github.com/gruntwork-io/terraform-google-sql/tree/master/modules/cloud-sql/core-concepts.md#how-do-you-connect-to-the-database)
83
+
-[How to configure high availability](https://github.com/gruntwork-io/terraform-google-sql/tree/master/modules/cloud-sql/core-concepts.md#how-do-you-configure-high-availability)
84
+
-[How to secure the database instance](https://github.com/gruntwork-io/terraform-google-sql/tree/master/modules/cloud-sql/core-concepts.md#how-do-you-secure-the-database)
85
+
-[How to scale the database](https://github.com/gruntwork-io/terraform-google-sql/tree/master/modules/cloud-sql/core-concepts.md#how-do-you-secure-the-database)
79
86
80
-
## How do I contribute to this Module?
87
+
## Support
81
88
82
-
Contributions are very welcome! Check out the [Contribution Guidelines](https://github.com/gruntwork-io/terraform-google-sql/blob/master/CONTRIBUTING.md) for instructions.
89
+
If you need help with this repo or anything else related to infrastructure or DevOps, Gruntwork offers [Commercial Support](https://gruntwork.io/support/) via Slack, email, and phone/video. If you’re already a Gruntwork customer, hop on Slack and ask away! If not, [subscribe now](https://www.gruntwork.io/pricing/). If you’re not sure, feel free to email us at [support@gruntwork.io](mailto:support@gruntwork.io).
83
90
84
-
## How is this Module versioned?
91
+
## Contributions
85
92
86
-
This Module follows the principles of [Semantic Versioning](http://semver.org/). You can find each new release, along
87
-
with the changelog, in the [Releases Page](https://github.com/gruntwork-io/terraform-google-sql/releases).
93
+
Contributions to this repo are very welcome and appreciated! If you find a bug or want to add a new feature or even contribute an entirely new module, we are very happy to accept pull requests, provide feedback, and run your changes through our automated test suite.
88
94
89
-
During initial development, the major version will be 0 (e.g., `0.x.y`), which indicates the code does not yet have a
90
-
stable API. Once we hit `1.0.0`, we will make every effort to maintain a backwards compatible API and use the MAJOR,
91
-
MINOR, and PATCH versions on each release to indicate any incompatibilities.
95
+
Please see [Contributing to the Gruntwork Infrastructure as Code Library](https://gruntwork.io/guides/foundations/how-to-use-gruntwork-infrastructure-as-code-library/#contributing-to-the-gruntwork-infrastructure-as-code-library) for instructions.
92
96
93
97
## License
94
98
95
-
Please see [LICENSE](https://github.com/gruntwork-io/terraform-google-sql/blob/master/LICENSE.txt) for how the code in this repo is licensed.
99
+
Please see [LICENSE](https://github.com/gruntwork-io/terraform-google-sql/blob/master/LICENSE.txt) for details on how the code in this repo is licensed.
0 commit comments