Writing Terraform Blueprints By Hand
AutoCloud Terraform Blueprints are a way for organizations to deploy consistent, well-architected patterns that meet organization standards and requirements across many teams, with less friction between application, security, and platform concerns.
This "write-once, deploy-many" strategy allows pattern architects to design, define, and maintain best practice patterns with cost, security, and compliance standards baked in, and makes them available for consumption to end users in a self-service portal. These consumers are shown a form wizard that quickly gathers the required configuration input. Upon submission, AutoCloud runs cost, security, and compliance analysis, and autogenerates Terraform code implementing the assets. This code is then submitted in a git pull request for review and deployment using your existing Terraform tooling and workflows.
This getting started guide walks through the definition, creation, and deployment of an example pattern to document the end-to-end process, and highlight key capabilities and use cases. It addresses a very common use case for AWS users that is a frequent source of misconfiguration: the deployment of a private, KMS-encrypted S3 bucket. At the end of this walkthrough, you will have an AutoCloud Blueprint to deploy a secure S3 bucket to an AWS footprint using best practices.
This getting started guide assumes several things about you, the reader, and your cloud environment.
The target audience is Terraform authors who are responsible for implementing cloud assets via Terraform. Thus, it first assumes that you are familiar with Terraform and its ecosystem. Secondly, it assumes that you are familiar with Amazon Web Services, as the guide is aimed at deploying resources there. Thirdly, it assumes that you are familiar with git as a source code management tool, as the autogenerated code is submitted to a git repository as a pull request at the end of the consumer process.
AutoCloud recognized that there are many different methodologies for deploying Terraform to the cloud, and does not make any requirements regarding this process. The handoff point is at source control, to integrate with whatever workflows your organization currently uses to deploy Terraform, and assumes that you already have such a toolchain in place (e.g. Terraform Cloud, Terraform Enterprise).
Finally, it is assumed that the reader has an AutoCloud account with user permissions to create and deploy Blueprints. Contact your AutoCloud organization administrator to request access if you do not already have it.
Before beginning the getting started guide, several prerequisite tools and connections must exist in order for the process to be completed.
The guide assumes that the reader has an active AutoCloud account with access to the Terraform Blueprints feature.
This guide assumes that the reader is working on a local development environment with a Linux shell environment. The machine must have Terraform installed. The guide was written targeting Terraform 1.3, and any recent version should be compatible.
The Terraform Blueprints feature generates git pull requests and workflow tickets to track the deployment of the generated code. Before embarking on the getting started walkthrough, please connect your git repository and ticketing system to AutoCloud.