

To communicate with the Terraform server, it uses a CloudFormationRegistry Cloudsoft::Terraform::Infrastructure resource type. The AWS CloudFormation template acts as a proxy to Terraform.

Our registry resource creates and uses the following AWS Systems Manager parameters: To set up the registry resource, you need to gather the following information beforehand: Cloudsoft helps businesses throughout their cloud journey by providing innovative combinations of services, software, and expertise. To communicate with the Terraform server, our resource uses the Secure Shell (SSH) networking protocol.Ĭloudsoft is an AWS Partner Network (APN) Advanced Consulting Partner with the AWS DevOps Competency. Terraform is not on the list of currently supported resources, so Cloudsoft had to create a registry resource for it. We named it Cloudsoft::Terraform::Infrastructure. If your resource is not currently on the AWS list, CloudFormation lets you create a resource using the CloudFormation Registry. CloudFormation currently supports a large number of resources. How it WorksĪWS CloudFormation codifies the details of an infrastructure into a configuration file, referred to as a template.

More specifically, we’ll walk you through the steps to create a CloudFormation registry resource type for Terraform and deploy it as an AWS Service Catalog product.Īs a bonus, we’ll conclude with some recommendations for security best practices. In this post, we show you how to use Terraform to control your AWS resources programmatically. To accommodate that preference, CloudFormation allows you to use non-AWS resources to manage AWS infrastructure. Two services- AWS CloudFormation and Terraform by HashiCorp-allow you to express your infrastructure resources as code and manage them programmatically.Įach has its advantages, but some enterprises already have expertise in Terraform and prefer using it to manage their Amazon Web Services (AWS) resources. Programmable infrastructures become particularly interesting when you provision workloads on a hybrid cloud environment that consists of on-premises and public cloud resources. It can also have changes to it implemented and tracked with the version control methods customarily used in software development. Programmable infrastructures allow you to manage on-premises and cloud resources through code instead of with the management platforms and manual methods traditionally used by IT teams.Īn infrastructure captured in code is simpler to manage, can be replicated or altered with greater accuracy, and benefits from all sorts of automation. By Alex Heneveld, CTO at Cloudsoft Corporationīy Kenneth Walsh, Sr.
