Overview
Amazon Web Services (AWS) is a subsidiary of Amazon that provides these metered pay-as-you-go services:
-
On-demand cloud computing platforms
-
APIs to individuals, companies, and governments
Deploying an AWS Terraform Blueprint is a three-step process where you’ll need to:
-
Create a Terraform Blueprint
-
Provision your Resource using Terraform Blueprint
-
Deploy your Terraform Blueprint
Before you begin
Ensure that you have access to at least one resource pool.
Create a Terraform Blueprint
Create a Terraform-based Blueprint is a three-step process. You’ll need to:
-
Configure a Terraform Backend State
-
Create a Terraform Workspace
-
Create a Terraform Blueprint
Configure a Backend State
A Terraform backend allows for abstraction and determines how a state is loaded, and operations executed. Terraform uses the local backend by default. In the HCP portal, a Terraform Backend state stores the current state of the deployment. [1]
To create a Terraform Backend State:
-
Log in to your HCP portal account.
-
Click Service Orchestration and navigate to Services > Infra as Code > Backend State > Click + New Backend State.
-
Enter the following details in the New backend State dialog:
-
Enter a Name for your Backend State.
-
Select the Cloud Type from the drop-down list.
-
Select your Resource Pool from the drop-down list.
-
Enter a brief Description of your Backend State.
-
To entitle users to your Backend State, select:
-
Only Me: if you do not want anyone to access your backend state.
-
Everyone: if you want to share your backend state with everyone.
-
Groups & Users: if you want to share the backend state with specific users or groups.
-
Enter the first three alphabets of the username in the Users drop-down and select the username.
-
Type the first three alphabets of the Group Name in the Groups drop-down and select the group name.
-
-
-
-
Click Save Changes.
Note
-
[1] If the backend state has no state saved previously, the Terraform plan will provide you an information object which will be created.
-
Otherwise, the Terraform output will show updates and delete tasks too, which means existing resources will change if ignored.
-
Create your Terraform Workspace
Workspaces are collections of infrastructure that run locally. In other words, a workspace is an isolated instance of state data for a Terraform CLI. A Terraform workspace manages each collection of infrastructure with a persistent working directory, which contains a configuration, state data, and variables. You can create multiple workspaces to manage various sets of discrete infrastructure from a single configuration in a single directory. The Terraform cloud manages infrastructure collections through workspaces instead of directories. The terraform workspace organizes your infrastructure into groups. You can create a workspace to manage your collection of infrastructure resources.
To create a Terraform Workspace: [1]
-
Login to your HCP account.
-
Click Service Orchestration and navigate to Infra as Code > Workspace > Click + New Workspace.
-
Enter the following details in the New Workspace dialog:
-
Enter your workspace Name.
-
Enter a brief description of your Workspace.
-
Select your workspace Environment.
-
Select the Cloud Type from the drop-down list.
-
Select your Resource Pool from the drop-down list.
-
Select your Backend State from the drop-down list.
-
To entitle users to your new Workspace, select:
-
Only Me: if you do not want anyone to access your Workspace.
-
Everyone: if you want to share your Workspace with everyone.
-
Groups & Users: if you want to share the Workspace with specific users or groups.
-
Enter the first three alphabets of the username in the Users drop-down and select the username.
-
Type the first three alphabets of the Group Name in the Groups drop-down and select the group name.
-
-
-
-
Click New Workspace.
Notes
-
[1] Resource pool contains cloud provider information. Therefore, a Terraform deployment does not affect the quota limit of the resource pool.
Create a Terraform Blueprint
Terraform-based blueprints let you create infrastructure on your cloud environment using a template.
Before you begin
If you want to upload a Terraform-based template, follow these steps:
-
Download the Sample Terraform Template.
-
Zip the downloaded files.
Example: aws-s3-bucket-tf.zip -
Follow Step 2c below to upload your Terraform template to the HCP portal.
Follow these steps to create a Terraform-based blueprint:
-
Log in to your HCP portal account.
-
Click Service Orchestration and navigate to AppStore > Click New > Select Terraform from the drop-down list.
-
Enter these details in the New Terraform dialog:
-
Enter a Name for your Terraform Template,
Example: AWS S3 Bucket. -
Enter a brief description of your Terraform Template. This is an optional field.
-
You can create a Terraform template using a template file in .zip format. Click Choose File to upload a Terraform template file.
-
Configure your Terraform template version. This is an optional step.
-
Select AWS from the Cloud Type drop-down list.
-
To entitle users to your Terraform template, select:
-
Only Me: if you do not want anyone to access your Terraform template.
-
Everyone: if you want to share your Terraform template with everyone.
-
Groups & Users: if you want to share your Terraform template with specific users or groups.
-
Enter the first three alphabets of the username in the Users drop-down and select the username.
-
Type the first three alphabets of the Group Name in the Groups drop-down and select the group name.
-
-
If you are a Cloud Administrator, you can choose All Tenants to make the template available to all the tenants.
-
-
-
Click Create.
Provision your Terraform Blueprint
Once you’ve created a Terraform workspace, you can provision your Terreform Blueprint on your Amazon Web Service (AWS) resource. Follow these steps to provision your Terraform Blueprint:
-
Login to your HCP portal account.
-
Click Service Orchestration and navigate to AppStore > Terraform > Click open your Terraform Blueprint.
-
From the Blueprint Details page:
-
Review your blueprint Overview, and click Next.
-
Select New Workspace Type from the Workspace page.
-
Enter these details to create a new workspace:
-
Enter a Name for workspace.
-
Enter a brief Description of the new workspace.
-
Select the following configurations for your workspace from the drop-down list:
-
Select your workspace Environment
-
Select Cloud Type
-
Select your Resource Pool
-
Select the backend state
-
-
To entitle users to your new Workspace, select:
-
Only Me: if you do not want anyone to access your Workspace.
-
Everyone: if you want to share your Workspace with everyone.
-
Groups & Users: if you want to share the Workspace with specific users or groups.
-
Enter the first three alphabets of the username in the Users drop-down and select the username.
-
Type the first three alphabets of the Group Name in the Groups drop-down and select the group name.
-
-
-
Click Create Workspace and Validate.
-
Alternately, you can select an Existing Workspace Type from the drop-down list, if you’ve configured one already.
-
From the Define Variables page, click Action and provide the value for Bucket_Name.
Example: "hg-prod-bk1" [1] -
Click Plan and Review the Successful Plan Output. [2]
-
Click Apply.
-
Click open your Workspace.
-
Click Timeline to monitor the Terraform provisioning status.
-
Once you’ve successfully provisioned your Terraform template, click the Resource to view the resources created via the Terraform template.
-
-
-
Note
-
[1] All variables must be enclosed in double-quotes.
-
[2] If you are deploying your Terraform template for the first time, it ensures that it does not delete or update your existing resources.
-
If any of your resources are slated for deletion or updates, the template verifies that this is intentional before performing these tasks.
-
-
You can create your own templates. Refer to your Terraform Amazon Web Services Documentation.
Deploy your Terraform Blueprint
Once you’ve provisioned a Terraform Blueprint, you’ll need to deploy it. Follow these steps to deploy your Terraform Blueprint:
-
Login to your HCP portal account.
-
Click Service Orchestration and navigate to AppStore > Terraform > Click open your Terraform Blueprint.
-
Select your Workspace and click Validate.
-
Check your Terraform variables for syntax errors by clicking Validate.
-
Click Plan to create a plan of execution and review the changes to your deployed resource.
-
Click Apply to deploy your Blueprint and configure your resources in the cloud provider.
Comments
0 comments
Please sign in to leave a comment.