This module deploys Microsoft SQL Server on top of Amazon Relational Database Service (RDS). The cluster is managed by AWS
and automatically handles standby failover, read replicas, backups, patching, and encryption.
RDS documentation: Amazon’s docs for RDS that
cover core concepts such as the types of databases supported, security, backup & restore, and monitoring.
Designing Data Intensive Applications: the best book we’ve found for understanding data
systems, including relational databases, NoSQL, replication, sharding, consistency, and so on.
modules: the main implementation code for this repo, broken down into multiple standalone, orthogonal submodules.
modules/rds: use this module to deploy all non-Amazon databases, including MySQL, PostgreSQL,
MariaDB, Oracle, and SQL Server.
modules/aurora: use this module to deploy all Amazon’s Aurora and Aurora Serverless databases.
modules/lambda-create-snapshot: use this module and the other
lambda-xxx-snapshot modules to create custom snapshots of your databases and copy those snapshots to other
AWS accounts.
examples: This folder contains working examples of how to use the submodules.
test: Automated tests for the modules and examples.
If you need help with this repo or anything else related to infrastructure or DevOps, Gruntwork offers Commercial Support via Slack, email, and phone/video. If you’re already a Gruntwork customer, hop on Slack and ask away! If not, subscribe now. If you’re not sure, feel free to email us at support@gruntwork.io.
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.
{"treedata":{"name":"root","toggled":true,"children":[{"name":".circleci","children":[{"name":"config.yml","path":".circleci/config.yml","sha":"c3cbb3eb78791fbd6c701afb0f06125367ef162c"}]},{"name":".gitignore","path":".gitignore","sha":"13b2bbfb93f58d19fe66d274069b96f32ca5901e"},{"name":".pre-commit-config.yaml","path":".pre-commit-config.yaml","sha":"dd17d910687309b3ad64bae6e967df72e5417357"},{"name":"CODEOWNERS","path":"CODEOWNERS","sha":"d31d238cf5a50d3b077eedad6e7bc1f7404813be"},{"name":"LICENSE.txt","path":"LICENSE.txt","sha":"f4e3d9bd4717a044ed31ad847a300eee74371a78"},{"name":"README.adoc","path":"README.adoc","sha":"3febc0568334062c8b19707fc4dbcb3d6ab5450b"},{"name":"_docs","children":[{"name":"aurora-serverless.png","path":"_docs/aurora-serverless.png","sha":"5a53145be56705c76f7f7aa6a25aa0ddee78e4a3"},{"name":"aurora.png","path":"_docs/aurora.png","sha":"fc218831bfa34097a56f1b0e47fe05521bdb4a8a"},{"name":"data-backup-architecture.png","path":"_docs/data-backup-architecture.png","sha":"fcc7ce8753e28c19af87ea5cea96e6ded648d429"},{"name":"data-backup.png","path":"_docs/data-backup.png","sha":"116b10f231073f8c52255ca98e48cc228c48a2c3"},{"name":"mariadb.png","path":"_docs/mariadb.png","sha":"d540d3d3ff8797c4a4c3a62c65e7d3f63621568f"},{"name":"mysql.png","path":"_docs/mysql.png","sha":"73b55bd0d517dcba53c878712544abf96be3a66e"},{"name":"oracle.png","path":"_docs/oracle.png","sha":"b5f1ca801f5af4a30f1b812eea17cec516c1fe6c"},{"name":"postgresql.png","path":"_docs/postgresql.png","sha":"fd9c7ec282aef38a5813e8542d92227b96bd5be8"},{"name":"rds-architecture.png","path":"_docs/rds-architecture.png","sha":"8f2b1b5b4015a5777032c6aa64627ceee24330fc"},{"name":"sqlserver.png","path":"_docs/sqlserver.png","sha":"a800d188398262593f4f89f27c8f3ce2ce1e76a4"}]},{"name":"examples","children":[{"name":"aurora-global-cluster","children":[{"name":"README.md","path":"examples/aurora-global-cluster/README.md","sha":"897210c9a52ec96f902948e5a0bb10fb460747d0"},{"name":"main.tf","path":"examples/aurora-global-cluster/main.tf","sha":"86f00cb270ff79546ce995fb6c2e204016745d28"},{"name":"outputs.tf","path":"examples/aurora-global-cluster/outputs.tf","sha":"105d706d41684b4c7be092ebd43bf6ba8ebf6f80"},{"name":"vars.tf","path":"examples/aurora-global-cluster/vars.tf","sha":"29b33911054fde667cd778658a7bc63f3a61bedd"}]},{"name":"aurora","children":[{"name":"README.md","path":"examples/aurora/README.md","sha":"b71c1265123bd1bb680589d7436008d259f5e6a1"},{"name":"main.tf","path":"examples/aurora/main.tf","sha":"787286c5e4167d802e5c856a51ba47490f8c1f35"},{"name":"outputs.tf","path":"examples/aurora/outputs.tf","sha":"142569b7d9772c741ee28846de617f5a4b7f0d84"},{"name":"vars.tf","path":"examples/aurora/vars.tf","sha":"f3aa6ab272a9609d375debf73af3a5f49af22bf4"}]},{"name":"lambda-rds-snapshot","children":[{"name":"README.md","path":"examples/lambda-rds-snapshot/README.md","sha":"d7422ca3a039c7e1056c17fc73fbbddfddce6741"},{"name":"main.tf","path":"examples/lambda-rds-snapshot/main.tf","sha":"78e0c6e310230a8f817f29f514f8d2868a7c268e"},{"name":"outputs.tf","path":"examples/lambda-rds-snapshot/outputs.tf","sha":"375c8bb979dd4133c3675d9e6263e1138c448973"},{"name":"vars.tf","path":"examples/lambda-rds-snapshot/vars.tf","sha":"7719435a118a83273f733398c1b579d916a76c9c"}]},{"name":"rds-mariadb","children":[{"name":"README.md","path":"examples/rds-mariadb/README.md","sha":"6540229dddcb38071d37b6697762d27a54e28cc8"},{"name":"main.tf","path":"examples/rds-mariadb/main.tf","sha":"6e057cc1d3dee3f67c075d7094132c4b341bcbe8"},{"name":"outputs.tf","path":"examples/rds-mariadb/outputs.tf","sha":"bd45b0035943021763d0365da3fe0d1e9f9b16b9"},{"name":"vars.tf","path":"examples/rds-mariadb/vars.tf","sha":"6a8212a3c4e8d4bbd1fe6f000bb699b9f5ecf1e0"}]},{"name":"rds-mysql","children":[{"name":"README.md","path":"examples/rds-mysql/README.md","sha":"6a7fb5d5560cc42ec9a6ac830358aa7ab7ca502d"},{"name":"main.tf","path":"examples/rds-mysql/main.tf","sha":"0d75918ebe89cdb708fa459db9c1938a9dc598eb"},{"name":"outputs.tf","path":"examples/rds-mysql/outputs.tf","sha":"e2ae2afdbcc0d27baa5d50be333f9d0a717e1a33"},{"name":"vars.tf","path":"examples/rds-mysql/vars.tf","sha":"a54ce8449d94444f4d0d122e267fe1b3039ac6f8"}]},{"name":"rds-postgres","children":[{"name":"README.md","path":"examples/rds-postgres/README.md","sha":"ab4e18c200fc749a54ee700223d27261c731e436"},{"name":"main.tf","path":"examples/rds-postgres/main.tf","sha":"c0290c5ed183e848900bff33c75816799755019e"},{"name":"outputs.tf","path":"examples/rds-postgres/outputs.tf","sha":"5371c2284c0ea3d4de5790077ba45d9d445c2965"},{"name":"vars.tf","path":"examples/rds-postgres/vars.tf","sha":"ad285f33a53435e2039d5c0c88ba49a214335093"}]},{"name":"rds-sqlserver","children":[{"name":"README.md","path":"examples/rds-sqlserver/README.md","sha":"26bf52d347c247e5f63bc113476e87d75375ba84"},{"name":"main.tf","path":"examples/rds-sqlserver/main.tf","sha":"376fd7e96798604d81c1a8526f204114500ff835"},{"name":"outputs.tf","path":"examples/rds-sqlserver/outputs.tf","sha":"a1726fd73528af38b436c053128f24a17da740c3"},{"name":"vars.tf","path":"examples/rds-sqlserver/vars.tf","sha":"dabccb3da2548b8a9e302ed5e9be01b18c275ca9"}]},{"name":"rds-with-replicas","children":[{"name":"README.md","path":"examples/rds-with-replicas/README.md","sha":"327357a98e9b2bbf650d91a207bd96fc4a6f452f"},{"name":"main.tf","path":"examples/rds-with-replicas/main.tf","sha":"0f1c6e8363260849c031b38e9f696d8b931ea077"},{"name":"outputs.tf","path":"examples/rds-with-replicas/outputs.tf","sha":"991d5436a635194fec1ad1476eb7be6616032c7a"},{"name":"vars.tf","path":"examples/rds-with-replicas/vars.tf","sha":"a1ab0eaadeaee910d4b81265ba28524917926e6c"}]}]},{"name":"modules","children":[{"name":"aurora","children":[{"name":"README-Aurora-Serverless.adoc","path":"modules/aurora/README-Aurora-Serverless.adoc","sha":"7a28bba029bd95affa541548ac19cb5c49a07e27"},{"name":"README-Aurora.adoc","path":"modules/aurora/README-Aurora.adoc","sha":"89ebb7a7c5aa8632a930c34993fc6c4cebe7efb4"},{"name":"README.adoc","path":"modules/aurora/README.adoc","sha":"f1717f1c088760357ec7b87edce843360aef6924"},{"name":"core-concepts.md","path":"modules/aurora/core-concepts.md","sha":"a3bdce9f1bb2a1d8b68c61856073cc01944d0b81"},{"name":"main.tf","path":"modules/aurora/main.tf","sha":"dcf43c8493d5572001687fedca8e73c21dbcdeaa"},{"name":"outputs.tf","path":"modules/aurora/outputs.tf","sha":"60b68848bb307c9b2cb8ed5138c5e4703fbfcffb"},{"name":"vars.tf","path":"modules/aurora/vars.tf","sha":"37596f6a11fab47fe8a288de278597bac0a271a9"}]},{"name":"lambda-cleanup-snapshots","children":[{"name":"README.md","path":"modules/lambda-cleanup-snapshots/README.md","sha":"2c491aeca99fac0536e6c86ef850e00146ac7259"},{"name":"cleanup-rds-snapshots","children":[{"name":"index.py","path":"modules/lambda-cleanup-snapshots/cleanup-rds-snapshots/index.py","sha":"69a65b5022465ddf7e95579ead7a68ab64483b95"}]},{"name":"main.tf","path":"modules/lambda-cleanup-snapshots/main.tf","sha":"953df7fe7e9a29f3090ab293e59357c1a8010e9c"},{"name":"outputs.tf","path":"modules/lambda-cleanup-snapshots/outputs.tf","sha":"a99c0265d859dd0c87a6eba62aaf2b013e224873"},{"name":"vars.tf","path":"modules/lambda-cleanup-snapshots/vars.tf","sha":"5f6b12e00a66aa7a0d5d6717cd73496cbde7a25a"}]},{"name":"lambda-copy-shared-snapshot","children":[{"name":"README.md","path":"modules/lambda-copy-shared-snapshot/README.md","sha":"ec722eef9494e55b2945e0ac194561b4d0e1850c"},{"name":"copy-shared-rds-snapshot","children":[{"name":"index.py","path":"modules/lambda-copy-shared-snapshot/copy-shared-rds-snapshot/index.py","sha":"63194eb6ad0325e8b130d83858aec34d861fbab3"}]},{"name":"main.tf","path":"modules/lambda-copy-shared-snapshot/main.tf","sha":"63f8c01c58edf40b604038e926222be354280f68"},{"name":"outputs.tf","path":"modules/lambda-copy-shared-snapshot/outputs.tf","sha":"f4833d96fa6d47190b9d2c3af243142aefc59d59"},{"name":"vars.tf","path":"modules/lambda-copy-shared-snapshot/vars.tf","sha":"dd4a28dc1ca42d9fcc649f49999156559839c808"}]},{"name":"lambda-create-snapshot","children":[{"name":"README.adoc","path":"modules/lambda-create-snapshot/README.adoc","sha":"4c6a9c7fa49b66aeeeae492b895bb98d97ab3062"},{"name":"core-concepts.md","path":"modules/lambda-create-snapshot/core-concepts.md","sha":"a5cf8e7f3850c1e7b780a7cc0789202e88add463"},{"name":"create-rds-snapshot","children":[{"name":"index.py","path":"modules/lambda-create-snapshot/create-rds-snapshot/index.py","sha":"454ef5211ea590dba7e8a891f95ce2bcf4e1d6dd"}]},{"name":"main.tf","path":"modules/lambda-create-snapshot/main.tf","sha":"4435c68aa884342554543bc9a62a9ef549a40c79"},{"name":"outputs.tf","path":"modules/lambda-create-snapshot/outputs.tf","sha":"a0f5ffafa8ef11d00b72f1858b81e182ab2471dd"},{"name":"vars.tf","path":"modules/lambda-create-snapshot/vars.tf","sha":"81d9f4ed54a0361e25ea25318240a5ee5c56f51a"}]},{"name":"lambda-share-snapshot","children":[{"name":"README.md","path":"modules/lambda-share-snapshot/README.md","sha":"f00a0ab9745632e85d5f4c8e7a9389e1a8608b6b"},{"name":"main.tf","path":"modules/lambda-share-snapshot/main.tf","sha":"4431dc6165139d4c2eb9d3d148f44e10a1c69bd2"},{"name":"outputs.tf","path":"modules/lambda-share-snapshot/outputs.tf","sha":"c0d2854f967a6c963662c660d6ae96d8cabe471a"},{"name":"share-rds-snapshot","children":[{"name":"index.py","path":"modules/lambda-share-snapshot/share-rds-snapshot/index.py","sha":"a72d6191cf23e451ff2b8cd3789100827fd782df"}]},{"name":"vars.tf","path":"modules/lambda-share-snapshot/vars.tf","sha":"e90d02ff7f2915dda7d1b1cb6401efb53de4cea8"}]},{"name":"rds","children":[{"name":"README-MariaDb.adoc","path":"modules/rds/README-MariaDb.adoc","sha":"52c88eedb3410b14c6ccc4db8ea3eaa484b7c13a"},{"name":"README-MySQL.adoc","path":"modules/rds/README-MySQL.adoc","sha":"75a2e92b04368988ffe7fb405a99155881f2c4f7"},{"name":"README-Oracle.adoc","path":"modules/rds/README-Oracle.adoc","sha":"a9f084cfbd084413bbcc818fd9f438a4faee367b"},{"name":"README-PostgreSQL.adoc","path":"modules/rds/README-PostgreSQL.adoc","sha":"2486401acaa724eba2f0a8814ef9dfa19c510ae0"},{"name":"README-SqlServer.adoc","path":"modules/rds/README-SqlServer.adoc","sha":"76d7220a727d84567e819102617bd01a3bda0cb2","toggled":true},{"name":"README.adoc","path":"modules/rds/README.adoc","sha":"fa2c8270106116804fa8ee61a7b5885ab8a4833f"},{"name":"core-concepts.md","path":"modules/rds/core-concepts.md","sha":"11bfb303642008e506c4e822089b284e10626275"},{"name":"main.tf","path":"modules/rds/main.tf","sha":"8e79ee8984a73b80bcb5de656e460d95b5b0275c"},{"name":"outputs.tf","path":"modules/rds/outputs.tf","sha":"f86cf8efcb26ce2338b04502fb192879e2722b5b"},{"name":"vars.tf","path":"modules/rds/vars.tf","sha":"421b9d85f2c9956a309495af9440dd2dfb612f6e"}],"toggled":true}],"toggled":true},{"name":"test","children":[{"name":"Gopkg.lock","path":"test/Gopkg.lock","sha":"c8664629f9a0cbabca39e5ab84530f4764d1d763"},{"name":"Gopkg.toml","path":"test/Gopkg.toml","sha":"b41f04dc6b8d3fd5e03771dd2648a74cb1119f83"},{"name":"README.md","path":"test/README.md","sha":"ebcf2313b7664113168ca7e73d01acbd232d8f39"},{"name":"example_aurora_global_test.go","path":"test/example_aurora_global_test.go","sha":"f45e0eeaf9a7f6646a523cb4d1006bd41509b284"},{"name":"example_aurora_test.go","path":"test/example_aurora_test.go","sha":"43e1e37be5917d20c67f3c407508da33377f56de"},{"name":"example_lambda_rds_snapshot_test.go","path":"test/example_lambda_rds_snapshot_test.go","sha":"3aa5cc64122f7ce0d8edb42976b203de86a14b27"},{"name":"example_rds_mariadb_test.go","path":"test/example_rds_mariadb_test.go","sha":"bb26730828a0ccb71f524647be35e9f93876638b"},{"name":"example_rds_mysql_test.go","path":"test/example_rds_mysql_test.go","sha":"7a08ee04fb8b57790d4dd791ff46b62c452142da"},{"name":"example_rds_postgres_test.go","path":"test/example_rds_postgres_test.go","sha":"4758166580a255344ee07a332e31e6f63e60a880"},{"name":"example_rds_sqlserver_test.go","path":"test/example_rds_sqlserver_test.go","sha":"29a4f9ef76683c024623e44f2f54c2560d2690cf"},{"name":"example_rds_with_replicas_test.go","path":"test/example_rds_with_replicas_test.go","sha":"5744e4b8454f538720e472069f12ef7e1ee0195d"},{"name":"util.go","path":"test/util.go","sha":"12abab86511af62a50eebe68c0a329848e9543c2"}]}]},"detailsContent":"<div id=\"preamble\">\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p><span class=\"image\"><a class=\"image\" href=\"https://gruntwork.io/?ref=repo_aws_data_storage\" target=\"_blank\"><img src=\"https://img.shields.io/badge/maintained%20by-gruntwork.io-%235849a6.svg\" alt=\"maintained%20by gruntwork.io %235849a6\" class=\"preview__body--diagram\"></a></span>\n<span class=\"image\"><img src=\"https://img.shields.io/badge/tf-%3E%3D0.12.0-blue.svg\" alt=\"Terraform version\" class=\"preview__body--diagram\"></span></p>\n</div>\n<div class=\"paragraph\">\n<p>This module deploys Microsoft SQL Server on top of Amazon Relational Database Service (RDS). The cluster is managed by AWS\nand automatically handles standby failover, read replicas, backups, patching, and encryption.</p>\n</div>\n<div class=\"imageblock\">\n<div class=\"content\">\n<img src=\"/repos/images/v0.11.2/module-data-storage/_docs/rds-architecture.png?raw=true\" alt=\"RDS architecture\" class=\"preview__body--diagram\">\n</div>\n</div>\n<div id=\"toc\" class=\"toc\">\n<div id=\"toctitle\" class=\"title\"></div>\n<ul class=\"sectlevel1\">\n<li><a href=\"#_features\">Features</a></li>\n<li><a href=\"#_learn\">Learn</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_core_concepts\">Core concepts</a></li>\n<li><a href=\"#_repo_organization\">Repo organization</a></li>\n</ul>\n</li>\n<li><a href=\"#_deploy\">Deploy</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_non_production_deployment_quick_start_for_learning\">Non-production deployment (quick start for learning)</a></li>\n<li><a href=\"#_production_deployment\">Production deployment</a></li>\n</ul>\n</li>\n<li><a href=\"#_manage\">Manage</a>\n<ul class=\"sectlevel2\">\n<li><a href=\"#_day_to_day_operations\">Day-to-day operations</a></li>\n<li><a href=\"#_major_changes\">Major changes</a></li>\n</ul>\n</li>\n<li><a href=\"#_support\">Support</a></li>\n<li><a href=\"#_contributions\">Contributions</a></li>\n<li><a href=\"#_license\">License</a></li>\n</ul>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"_features\"><a class=\"anchor\" href=\"#_features\"></a><a class=\"link\" href=\"#_features\">Features</a></h2>\n<div class=\"sectionbody\">\n<div class=\"ulist\">\n<ul>\n<li>\n<p>Deploy a fully-managed relational database</p>\n</li>\n<li>\n<p>Supports MySQL, PostgreSQL, MariaDB, Oracle, and SQL Server</p>\n</li>\n<li>\n<p>Automatic failover to a standby in another availability zone</p>\n</li>\n<li>\n<p>Read replicas</p>\n</li>\n<li>\n<p>Automatic nightly snapshots</p>\n</li>\n</ul>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"_learn\"><a class=\"anchor\" href=\"#_learn\"></a><a class=\"link\" href=\"#_learn\">Learn</a></h2>\n<div class=\"sectionbody\">\n<div class=\"admonitionblock note\">\n<table>\n<tr>\n<td class=\"icon\">\n<div class=\"title\">Note</div>\n</td>\n<td class=\"content\">\nThis repo is a part of <a href=\"https://gruntwork.io/infrastructure-as-code-library/\" target=\"_blank\">the Gruntwork Infrastructure as Code\nLibrary</a>, a collection of reusable, battle-tested, production ready infrastructure code. If you’ve never used the\nInfrastructure as Code Library before, make sure to read\n<a href=\"https://gruntwork.io/guides/foundations/how-to-use-gruntwork-infrastructure-as-code-library/\" target=\"_blank\">How to use the Gruntwork Infrastructure as Code Library</a>!\n</td>\n</tr>\n</table>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_core_concepts\"><a class=\"anchor\" href=\"#_core_concepts\"></a><a class=\"link\" href=\"#_core_concepts\">Core concepts</a></h3>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"/repos/v0.11.2/module-data-storage/modules/rds/core-concepts.md#what-is-amazon-rds\">What is Amazon RDS?</a></p>\n</li>\n<li>\n<p><a href=\"/repos/v0.11.2/module-data-storage/modules/rds/core-concepts.md#common-gotchas\">Common gotchas with RDS</a></p>\n</li>\n<li>\n<p><a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html\" target=\"_blank\">RDS documentation</a>: Amazon’s docs for RDS that\ncover core concepts such as the types of databases supported, security, backup & restore, and monitoring.</p>\n</li>\n<li>\n<p><em><a href=\"https://dataintensive.net\" target=\"_blank\">Designing Data Intensive Applications</a></em>: the best book we’ve found for understanding data\nsystems, including relational databases, NoSQL, replication, sharding, consistency, and so on.</p>\n</li>\n</ul>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_repo_organization\"><a class=\"anchor\" href=\"#_repo_organization\"></a><a class=\"link\" href=\"#_repo_organization\">Repo organization</a></h3>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"/repos/v0.11.2/module-data-storage/modules\">modules</a>: the main implementation code for this repo, broken down into multiple standalone, orthogonal submodules.</p>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"/repos/v0.11.2/module-data-storage/modules/rds\">modules/rds</a>: use this module to deploy all non-Amazon databases, including MySQL, PostgreSQL,\nMariaDB, Oracle, and SQL Server.</p>\n</li>\n<li>\n<p><a href=\"/repos/v0.11.2/module-data-storage/modules/aurora\">modules/aurora</a>: use this module to deploy all Amazon’s Aurora and Aurora Serverless databases.</p>\n</li>\n<li>\n<p><a href=\"/repos/v0.11.2/module-data-storage/modules/lambda-create-snapshot\">modules/lambda-create-snapshot</a>: use this module and the other\n<code>lambda-xxx-snapshot</code> modules to create custom snapshots of your databases and copy those snapshots to other\nAWS accounts.</p>\n</li>\n</ul>\n</div>\n</li>\n<li>\n<p><a href=\"/repos/v0.11.2/module-data-storage/examples\">examples</a>: This folder contains working examples of how to use the submodules.</p>\n</li>\n<li>\n<p><a href=\"/repos/v0.11.2/module-data-storage/test\">test</a>: Automated tests for the modules and examples.</p>\n</li>\n</ul>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"_deploy\"><a class=\"anchor\" href=\"#_deploy\"></a><a class=\"link\" href=\"#_deploy\">Deploy</a></h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_non_production_deployment_quick_start_for_learning\"><a class=\"anchor\" href=\"#_non_production_deployment_quick_start_for_learning\"></a><a class=\"link\" href=\"#_non_production_deployment_quick_start_for_learning\">Non-production deployment (quick start for learning)</a></h3>\n<div class=\"paragraph\">\n<p>If you just want to try this repo out for experimenting and learning, check out the following resources:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"/repos/v0.11.2/module-data-storage/examples\">examples folder</a>: The <code>examples</code> folder contains sample code optimized for learning, experimenting,\nand testing (but not production usage).</p>\n</li>\n</ul>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_production_deployment\"><a class=\"anchor\" href=\"#_production_deployment\"></a><a class=\"link\" href=\"#_production_deployment\">Production deployment</a></h3>\n<div class=\"paragraph\">\n<p>If you want to deploy this repo in production, check out the following resources:</p>\n</div>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"/repos/infrastructure-modules-multi-account-acme/data-stores/rds\">rds module in the Acme example Reference Architecture</a>: Production-ready sample code from the Acme Reference Architecture examples.</p>\n</li>\n</ul>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"_manage\"><a class=\"anchor\" href=\"#_manage\"></a><a class=\"link\" href=\"#_manage\">Manage</a></h2>\n<div class=\"sectionbody\">\n<div class=\"sect2\">\n<h3 id=\"_day_to_day_operations\"><a class=\"anchor\" href=\"#_day_to_day_operations\"></a><a class=\"link\" href=\"#_day_to_day_operations\">Day-to-day operations</a></h3>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"/repos/v0.11.2/module-data-storage/modules/rds/core-concepts.md#how-do-you-connect-to-the-database\">How to connect to an RDS instance</a></p>\n</li>\n<li>\n<p><a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAM.html\" target=\"_blank\">How to authenticate to RDS with IAM</a></p>\n</li>\n<li>\n<p><a href=\"/repos/v0.11.2/module-data-storage/modules/rds/core-concepts.md#how-do-you-scale-this-database\">How to scale RDS</a></p>\n</li>\n<li>\n<p><a href=\"/repos/v0.11.2/module-data-storage/modules/lambda-create-snapshot#how-do-you-backup-your-rds-snapshots-to-a-separate-aws-account\">How to backup RDS snapshots to a separate AWS account</a></p>\n</li>\n</ul>\n</div>\n</div>\n<div class=\"sect2\">\n<h3 id=\"_major_changes\"><a class=\"anchor\" href=\"#_major_changes\"></a><a class=\"link\" href=\"#_major_changes\">Major changes</a></h3>\n<div class=\"ulist\">\n<ul>\n<li>\n<p><a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Upgrading.html\" target=\"_blank\">Upgrading a DB instance</a></p>\n</li>\n<li>\n<p><a href=\"https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html\" target=\"_blank\">Restoring from a DB snapshot</a></p>\n</li>\n</ul>\n</div>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"_support\"><a class=\"anchor\" href=\"#_support\"></a><a class=\"link\" href=\"#_support\">Support</a></h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>If you need help with this repo or anything else related to infrastructure or DevOps, Gruntwork offers <a href=\"https://gruntwork.io/support/\" target=\"_blank\">Commercial Support</a> via Slack, email, and phone/video. If you’re already a Gruntwork customer, hop on Slack and ask away! If not, <a href=\"https://www.gruntwork.io/pricing/\" target=\"_blank\">subscribe now</a>. If you’re not sure, feel free to email us at <a href=\"mailto:support@gruntwork.io\" target=\"_blank\">support@gruntwork.io</a>.</p>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"_contributions\"><a class=\"anchor\" href=\"#_contributions\"></a><a class=\"link\" href=\"#_contributions\">Contributions</a></h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>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.</p>\n</div>\n<div class=\"paragraph\">\n<p>Please see <a href=\"https://gruntwork.io/guides/foundations/how-to-use-gruntwork-infrastructure-as-code-library/#contributing-to-the-gruntwork-infrastructure-as-code-library\" target=\"_blank\">Contributing to the Gruntwork Infrastructure as Code Library</a> for instructions.</p>\n</div>\n</div>\n</div>\n<div class=\"sect1\">\n<h2 id=\"_license\"><a class=\"anchor\" href=\"#_license\"></a><a class=\"link\" href=\"#_license\">License</a></h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Please see <a href=\"/repos/v0.11.2/module-data-storage/LICENSE.txt\">LICENSE.txt</a> for details on how the code in this repo is licensed.</p>\n</div>\n</div>\n</div>","repoName":"module-data-storage","repoRef":"v0.11.2","serviceDescriptor":{"serviceName":"SQL Server","serviceRepoName":"module-data-storage","serviceRepoOrg":"gruntwork-io","serviceMainReadmePath":"/modules/rds/README-SqlServer.adoc","cloudProviders":["aws"],"description":"Run SQL Server on Amazon’s Relational Database Service (RDS). Supports read replicas, multi-zone automatic failover, and automatic backup.","imageUrl":"sql-server.png","licenseType":"subscriber","technologies":["Terraform","Bash"],"compliance":[],"tags":[""]},"serviceCategoryName":"Database","fileName":"README-SqlServer.adoc","filePath":"/modules/rds/README-SqlServer.adoc","title":"Repo Browser: SQL Server","description":"Browse the repos in the Gruntwork Infrastructure as Code Library."}