ansible share image

In our previous article, we demonstrated how to automate the process of creating an EC2 instance on AWS using the Red Hat Ansible Automation Platform. We demonstrated how Ansible Automation Platform can streamline the process of deploying virtual machines (VMs) in AWS, making it more efficient and less error-prone. In this final installment, we will take things a step further by exploring how to simplify the process of creating EC2 instances in AWS using workflow templates.

Workflow templates can help standardize the process of creating instances and reduce the amount of manual intervention. In this article, we will dive into the details of how to use a workflow template to further optimize our infrastructure management in AWS.

If you are following along with our series, you may recall that we previously discussed the importance of an execution environment and setting up credentials. These are essential steps to complete before deploying a workflow template. In case you missed the previous articles, we recommend you to check them out to ensure you are ready to move forward with the next steps.

Follow the series:

Part 1: How to create an EC2 instance in AWS using Ansible CLI

Part 2: How to create an EC2 instance in AWS using Ansible Automation

Part 3: How to create an EC2 instance in AWS using Ansible workflow

How to create a job template

We will assume that you have already set up your execution environment and credentials using our previous blogs. Now, we will focus on how to deploy a workflow template in AWS using Ansible Automation Platform.

Create and configure the project

  • Log in to the Ansible Automation Platform portal in the browser.
  • Navigate to the Projects tab under Resources and click Add.
  • Enter your project name.
  • Choose Git as the source control type.
  • Enter this source control URL: https://github.com/redhat-developer-demos/ansible-automation-platform-cloud-solutions. If you're interested in checking out the playbooks, you can find them on GitHub.
  • Save your changes and wait for the operation to complete successfully. When selecting Git as your source control type, the platform pulls down the latest versions of your files for use in Ansible Automation Platform jobs and workflows. This makes it easy to manage changes, collaborate with others, and track configuration history over time.

Create and configure the job templates

  • Go to the Templates tab and click Add.
  • Select Job template.
  • Name your job and select the default or Demo-Inventory under Inventory.
  • Under Project, select the project name you created earlier and choose the AWS/Workflow/VPC_01.yml playbook file.
  • Choose the credentials (Figure 1).
Figure 1: Selecting pre-configured AWS credentials for secure authentication
Figure 3: Selecting pre-configured AWS credentials for secure authentication.
Figure 1: Enter the AWS credentials.
  • Select Default execution environment for the execution environment, as shown in Figure 2.
A screenshot of where to Select the default execution environment in Ansible.
Figure 4: Selecting the default execution environment.
Figure 2: Select the pre-configured default execution environment.
  • Repeat the previous steps for any other playbooks in the AWS/Workflow/ directory.

Create and configure the workflow templates

  • To start, create a workflow template and assign a name to it, as shown in Figure 3.
    Figure 3: Create a workflow template
    Figure 3: Create a workflow template.
  • In the Variables section, add the variables as follows:
---

region: ap-south-1

instance_type: t3.micro

ami: ami-0f9d9a251c1a44858

key_name: ansible-demo

vpc_name: ansible-vpc-test

cidr_block: 10.10.0.0/16

cidr: 10.10.0.0/24
  • Save the workflow before proceeding and visualize the workflow when prompted, as shown in Figure 4.
A screenshot of the form for selecting the job templates as nodes in Ansible workflow.
Figure 4: Selecting the job templates as nodes in workflow.
Figure 4: Selecting the job templates as nodes in workflow.
  • Once you have confirmed the workflow, add each job template to its respective node.
  • After all job templates have been added, launch the workflow to execute it, as shown in Figure 5.
    A screenshot of the final workflow visualizer nodes.
    Figure 5: Final workflow visualizer nodes.
    Figure 5: Final workflow visualizer nodes

Once the workflow is executed, the VM will be up and running, ready for you to use as illustrated in Figure 6. This streamlined process ensures that the VM is created quickly and efficiently, saving you valuable time and effort while helping different teams analyze the possible points of failure.

Figure 6: EC2 Instance in AWS
Figure 1: The EC2 instance in AWS.
Figure 6: The EC2 instance in AWS.

Ansible Automation Platform offers more

We demonstrated how Ansible Automation Platform streamlines the process of deploying virtual machines in AWS. By automating repetitive tasks, you can reduce manual intervention and avoid human error, leading to faster, more consistent deployments and improved reliability.

To explore more of what Ansible Automation Platform has to offer, visit the official website to download and get started. Additionally, there are various e-books available to help you explore the capabilities of Ansible Automation Platform such as:

There is also a cheat sheet for WiFi automation with Ansible and SD that provides a quick reference for network automation tasks.

We hope this article series has provided you with a solid foundation to explore the potential of Ansible Automation Platform in your own environment. As you continue to learn and experiment with cloud infrastructure management, remember to stay up to date with the latest trends and techniques by exploring blogs and interactive labs for free at Red Hat Developer.

Last updated: January 11, 2024