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:
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 Backend State
To provision, your Terraform requires a backend state configured via the HyperCloud™ Platform(HCP). The backend state in Terraform preserves the current state of the deployment. (Refer Note 1)
You can use the following steps to configure your Terraform Backend State:
Login to HyperCloudTM with your credentials.
Click Service Orchestration > Select AppStore > Click Terraform
Click on Terraform Blueprint to open your Blueprint Azure Postgres (PaaS)
On the Overview page, review details and click Next
On the Workspace page:
Select the Workspace type as New:
Enter the name for your new workspace.
Enter the brief description for your new workspace.
Select the environment type from the drop-down list e.g: Dev.
Select the Cloud type from the drop-down list.
Select the Resource pool e.g: RP.ARM.Australia Central.atest
Select the backend state for your new workspace.
To entitled users:
Select Only Me: If this template is not meant to be shared.
Select Everyone If this template is to be shared with everyone in the.
Select Groups & Users: if the template is to be shared with specific users or groups.
Click Create Workspace and Validate
Select the workspace type as Existing and Select the existing workspace e.g. hgprodazurewks1 and click Validate
On the Define Variables page, click on the Action button and update the following values:
rg_name: "hgprod-tf-rg"
pg_name: "hgprod-psqlsrv01"
client_startip: "your system's public ip address"
client_endip: "your system's public ip address"
Click on Plan
Review the Successful Plan Output.
Click on Apply
Click on the Workspace for e.g hgprodazurewks1
Click on Timeline Tab to monitor the status of the Terraform provisioning.
Once the Terraform template has successfully provisioned, click on the Resource Tab to view the resources created via Terraform template
To create additional templates refer to the Terraform documentation.
Note
All values must be enclosed in double-quotes.
Terraform Template provides the information regarding, Overlapping the Existing Workspace that may destroy the existing deployment.
If this is the first time a Terraform template is being deployed, ensure no resources are updated or deleted.
If so verify that this is intentional and then proceed to the next step.
Create your Terraform Workspace
The Workspaces are collections of infrastructure when you run locally, Terraform manages each collection of infrastructure with a persistent working directory, which contains a configuration, state data, and variables. The Terraform cloud manages infrastructure collections with workspaces instead of directories. The terraform workspace organizes your infrastructure in a good manner into groups. You can create your new workspace to manage your collection of infrastructure resources.
You can use the following steps to Create your Terraform Workspace:
Login to the HyperCloud™ Platform(HCP) with your credentials.
Click Services Orchestration > Select Services > Click on Infra as Code >Click on Workspace > Click on +New workspace.
Enter the following details in your new Workspace:
Enter the name Example: hgprodawswks1
Enter a brief description of your new workspace.
Select a suitable environment for your new workspace, Example: dev.
Select the Cloud Type from the drop-down list, Example: AWS.
Select the Resource pool, Example: RP.AWS.ap-southeast-1a.<RP-Name>(Refer Note (1))
Backend State: select a backend state for Example: hgprodawsbs1.
To your Entitled Users:
Select Only Me: If this template is not meant to be shared
Select Everyone: If this template is to be shared with everyone in the Tenant
Select Groups & Users: if the template is to be shared with specific users or groups
Click New Workspace.
Note
(1)In this release, the resource pool is only required to obtain the cloud provider information.
Terraform deployment does not account against the limits in the resource pool
Create a Terraform Blueprint
Your Terraform based blueprints help you to create an Infrastructure of your cloud environment.
Download the Sample Terraform Template
Download the Sample Terraform Template.
Create a zip archive with the files downloaded for Example: aws-s3-bucket-tf.zip
To create a Terraform based HyperCloud™ Platform(HCP) Blueprint:
Login to the HCP account with your credentials.
Click Services Orchestration > Select AppStore > Click on New > Select Terraform.
Enter the Following details in your Terraform blueprint:
Enter a Name for the Terraform Template, Example: AWS S3 Bucket.
This is an optional step, enter a brief Description, for Example: Terraform Template to AWS S3 bucket.
Click on Choose File and upload the aws-s3-bucket-tf.zip file
This is an optional step, configure a version, Example: 1.0
Select the Cloud Type from the drop-down: select AWS.
To your entitled users:
Select Only Me: If this template is not meant to be shared.
Select Everyone: If this template is to be shared with everyone in the Tenant.
Select Groups & Users: if the template is to be shared with specific users or groups.
Select All Tenants (Only available to Cloud Admins): if the template is to be shared with all tenants.
Click Create
Provision your Terraform Blueprint
You can provision your Terreform Blueprints in the Amazon Web Service(AWS) resource once you have created Terraform workspace.
You can use the following steps to provision your Terraform Blueprint:
Login to your HyperCloudTM Platform(HCP) with your credentials.
Click on Service Orchestration > Select AppStore > Click on Terraform > Click on the Blueprint Azure Postgres (PaaS).
Click on Terraform Blueprint to open your Blueprint Azure Postgres (PaaS)
On the Overview page, review details and click Next.
On the Workspace page:
Select the Workspace type as New:
Enter the name for your new workspace.
Enter the brief description for your new workspace.
Select the environment type from the drop-down list Example: Dev.
Select the Cloud type from the drop-down list.
Select the Resource pool Example: RP.ARM.Australia Central.atest.
Select the backend state for your new workspace.
To entitled users:
Select Only Me: If this template is not meant to be shared.
Select Everyone If this template is to be shared with everyone in the.
Select Groups & Users: if the template is to be shared with specific users or groups.
Click Create Workspace and Validate.
Select the workspace type as Existing and Select the existing workspace e.g. hgprodazurewks1 and click Validate.
On the Define Variables page, click on the Action button and update the following values.
Bucket_name: for e.g "hg-prod-bk1"(Refer Note1)
Click on Plan and
Review the Successful Plan Output. (Please refer note 2)
Click on
Apply.
Click on the Workspace for
Example: hgprodawswks1.
Click on
Timeline Tab to monitor the status of the Terraform provisioning.
Once the Terraform template has successfully provisioned, click on the
Resource Tab to view the resources created via the Terraform template.
More Terraform templates can be created by referring to Terraform Templates.
Note
(1) All values must be enclosed in double-quotes.
(2)The Terraform template ensures that there are no resources are being updated or deleted in its first deployment.
If so, then verifies that this is intentional and then proceed to the next step.
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 > Click Edit.
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.