| new skills - Team Nuggets
New Training: Deploy and Manage AWS Infrastructure Resources with Terraform
In this 7-video skill, CBT Nuggets trainer Trevor Sullivan uses Terraform, an open-source and cloud-agnostic tool developed by Hashicorp that provides a powerful infrastructure-as-code deployment model. Watch this new AWS training.
Watch the full course: AWS Cloud Automation
This training includes:
- 7 videos
- 1 hour of training
You’ll learn these topics in this skill:
- What is Hashicorp Terraform and Why Use It on AWS?
- Setting Up Your Development Environment for Terraform
- Create a Terraform Template for AWS VPC
- Add Subnets to a VPC Configuration in Terraform
- Declaring Variables in Terraform Configurations
- Pass In Variable Values using Terraform CLI
- Easy AWS Resource Cleanup with Terraform
Basic Steps For Configuring Terraform With AWS
Terraform is a popular open-source infrastructure as code software tool developed by a company called Hashicorp that can be used to configure and deploy cloud infrastructure resources. Since Terraform is open-source and agnostic to the cloud environment, it can be used with a variety of cloud providers like AWS or GCP.
Terraform can be configured in multiple ways for different development environments, but there are a few common steps developers may want to take.
First, create an IAM policy within the cloud provider's platform of choice. For this article, we'll reference AWS. When you create an IAM user for Terraform to access your AWS account, ensure that it has the proper policies attached to it for the AWS resources that Terraform will need to use. This may mean adding policies for EC2, S3, CloudFormation, etc…
It should be noted that not all cloud service providers offer a service like IAM in AWS. Using IAM policies with AWS is a powerful security tool, though. With AWS's IAM features, developers can control what applications have access to their AWS resources and how much access those applications have.
Configure workspaces for Terraform. It's common to create a different workspace for development and production. This way untested code does not make its way into a production build.
Depending on how Terraform is being used and deployed, additional steps may be required.
It should be noted that Terraform is not the only tool that can accomplish these tasks. Other tools like Ansible, Kubernetes, Chef, Jenkins, etc… can be used similarly.