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).
- Select Default execution environment for the execution environment, as shown in Figure 2.
- 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. - 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.
- 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.
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.
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