ansible share image

In this article, you will learn how to use the Red Hat Ansible Automation Platform from the Amazon Web Services (AWS) Marketplace to automatically provision AWS resources.

Overview of Ansible Automation Platform on AWS 

Red Hat Ansible Automation Platform is available on the Amazon Web Services (AWS) Marketplace. It is a self-managed offering that enables enterprise-wide automation with the benefits of deploying Ansible Automation Platform on AWS cloud. This offering integrates seamlessly with native AWS services and the full Ansible collection for AWS, co-developed and security-tested by AWS and Red Hat.

By combining the power of Red Hat Enterprise Linux, Red Hat OpenShift, and AWS services, developers can effectively scale their cloud infrastructure and leverage technologies such as containers, Kubernetes, and hybrid cloud architecture. The collaboration between Red Hat and AWS offers a hybrid cloud environment that simplifies IT management, reduces complexity, and streamlines innovation.

4 Components of Ansible Automation Platform

You can obtain the Ansible Automation Platform offering from AWS Marketplace. Once you have the subscription, refer to the comprehensive documentation guide to set up and configure your Ansible Automation Platform on AWS.

The following is an overview of four components of Ansible Automation Platform.

1. Execution environment

Ansible Playbooks run on the execution environment platform. It includes everything needed to run the Ansible Automation Platform, including the runtime environment and dependencies. The Ansible Automation Platform provides a default execution environment that includes many commonly used modules and plugins.

However, you can also create custom execution environments tailored to your specific needs (Figure 1). This allows you to include only the modules and plugins required for your use case, reducing the size of the environment and minimizing security risks. You can manage the execution environment through the Ansible Automation Platform web console or the execution environment builder.

A screenshot of the execution environment page of Ansible Automation Platform.
Figure 1: The execution environment page of Ansible Automation Platform.

To learn more about the execution environment and execution environment builder, refer to the documentation.

2. Inventories

An inventory is a collection of hosts and groups managed and orchestrated by Ansible Automation Platform. It is used to define and organize the hosts and groups, targeted during an automation job. An inventory can be a static file, a dynamic inventory script, or an inventory plugin.

  • A static inventory file is a simple text file that lists the hosts and their attributes.
  • A dynamic inventory script retrieves the inventory information from a third-party system or cloud provider in real time.
  • Inventory plugins provided for specific platforms, such as Amazon Web Services (AWS) and Microsoft Azure.

In addition to hosts and groups, an inventory can also contain variables that are specific to a host or group. These variables can be used to customize how Ansible interacts with each host or group during a job.

As shown in Figure 2, inventories can be created, imported, and synchronized from external sources, such as cloud providers and configuration management databases (CMDBs). To learn more about Inventories and how to create, manage, and work with them, refer to the official documentation.

The Inventory page in Ansible Automation Platform.
Figure 2: The Inventory page in Ansible Automation Platform.

3. Credentials

In the credentials section of Ansible Automation Platform, you can manage and store sensitive information, such as usernames, passwords, and private keys. These credentials can be used in your playbooks and roles to authenticate with remote hosts, cloud providers, Kubernetes and OpenShift clusters, and other systems.

You can create a variety of credential types, such as SSH, sudo, AWS access keys, tokens, certificates, endpoints, and more. These credentials can be associated with a specific organization, project, or even a specific playbook or role. By using the credential section, you can centrally manage and secure your sensitive data, making it easier to rotate or revoke credentials as needed.

To learn more about using credentials in Ansible Automation Platform, refer to the official documentation.

4. Projects

In the projects section of Ansible Automation Platform, you can manage your automation content, including playbooks, roles, collections, modules, and plugins. A project is a collection of related content, such as all the playbooks, roles, and other files that are related to a specific task or application.

Projects can be created and managed through the Ansible Automation Platform web UI or by utilizing the AWX CLI tool. They can be associated with a source control repository, such as Git or SVN, for version control and collaborative development.

Once you have a project set up, you can easily manage and organize your automation content, collaborate with other users, and ensure that your automation runs consistently across your infrastructure. You can also use projects to deploy automation content to remote servers, such as virtual machines or containers, for testing and production use.

For more information on managing projects in Ansible Automation Platform, you can refer to the user guide.

Job and workflow templates 

Job templates and workflow templates are powerful features of the Ansible Automation Platform that enable IT teams to automate and orchestrate their infrastructure management tasks.

A job template is a predefined set of tasks that can be executed on one or more hosts, making it a powerful tool for automating repetitive tasks, such as software installations or configuration changes. With job templates, we can define the tasks to be executed, the hosts on which they should run, and any required input parameters, all through an intuitive user interface.

On the other hand, workflow templates allow you to chain together multiple job templates to create a more complex process or workflow. With workflow templates, you can automate even the most complex tasks, such as deploying a multi-tiered application with multiple components and dependencies.

Together, job and workflow templates provide a comprehensive automation solution that streamlines IT operations and ensures that your infrastructure is configured and maintained consistently and efficiently.

Find more resources

To learn about using job templates to create Amazon Web Services (AWS) EC2 instances with Ansible Automation Platform, check out our step-by-step guide for How to create an EC2 instance in AWS using Ansible automation. For information on creating instances using workflow templates, read the article, How to create an EC2 instance in AWS using Ansible workflow.

If you want understand automation more in-depth, refer to the IT Executive's Guide to Automation e-book, which provides a comprehensive overview of automation and its impact on businesses. If you're new to Ansible Automation Platform, you can download it and get started by exploring interactive labs at no cost.

Last updated: January 11, 2024