1. Use Case Considerations

Because Amazon Web Services is an image-only service, there are common Foreman use cases that do not work, or require extra configuration in an Amazon Web Service environment. If you plan to use Foreman on AWS, ensure that the use case scenarios that you want to use are available in an AWS environment.

1.1. Use Cases Known to Work

You can perform the following Foreman use cases on AWS:

Subscriptions

Not all Red Hat subscriptions are eligible to run in public cloud environments. For more information about subscription eligibility, see the Red Hat Cloud Access Page. You can create additional organizations and then import additional manifests to the organizations. For more information, see Creating an Organization in the Content Management Guide.

Multi-homed Foreman and Smart Proxy

One way to use multi-homed Smart Proxies is by configuring Smart Proxies with a load balancer. For more information, see Configuring Smart Proxies with a Load Balancer.

You must do this when Foreman server or Smart Proxy server has different internal and external DNS host names and there is no site-to-site VPN connection between the locations where you deploy Foreman server and Smart Proxy server.

On demand content sources

You can use the On demand download policy to reduce the storage footprint of the Red Hat Enterprise Linux server that runs Foreman. When you set the download policy to On Demand, content syncs to the Foreman server or Smart Proxy server when a content host requests it.

For more information, see Importing Red Hat Content in the Content Management Guide.

1.2. Use Cases that Do Not Work

In AWS, you cannot manage the DHCP. Because of this, most of Foreman server’s kickstart and PXE provisioning models are unusable. This includes:

  • PXE Provisioning

  • Discovery and Discovery Rules

  • ISO Provisioning methods.

    • PXE-Less Discovery (iPXE)

    • Per-host ISO

    • Generic ISO

    • Full-host ISO

2. Deployment Scenarios

There are three deployment scenarios for Foreman in Amazon Web Services:

  1. One region setup

  2. Connecting on-premise and AWS region

  3. Connecting different regions

The graphics in this section are Red Hat illustrations. Non-Red Hat illustrations are welcome. If you want to contribute alternative images, raise a pull request in the Foreman Documentation GitHub page. Note that in Red Hat terminology, "Satellite" refers to Foreman and "Capsule" refers to Smart Proxy.

Scenario 1: One region setup

aws image1

The least complex configuration of Foreman server in Amazon Web Services consists of both the Foreman server and the content hosts residing within the same region and within the Virtual Private Cloud (VPC).

You can also use a different availability zone.

Scenario 2: Connecting on-premise and AWS region

Create a VPN connection between the on-premise location and the AWS region where the Smart Proxy resides.

It is also possible to use the external host name of Foreman server when you register the instance which runs Smart Proxy server.

Option 1: Site-to-Site VPN connection between the AWS region and the On-Premise Datacenter

aws image2

Option 2: Direct connection using the External DNS host name

aws image3

Scenario 3: Connecting different regions

Create a site-to-site VPN connection between the different regions so that you can use the Internal DNS host name when you register the instance that runs Smart Proxy server to the Foreman server.

If you do not establish a site-to-site VPN connection, use the external DNS host name when you register the instance that runs Smart Proxy server to the Foreman server.

Note
Most Public Cloud Providers do not charge for data being transferred into a region, or between availability zones within a single region; however, they do charge for data leaving the region to the Internet.

Option 1: Site-to-Site VPN connection between AWS regions

aws image4

Option 2: Direct connection using the External DNS host name

aws image5

3. Prerequisites

Before you can install and register Foreman and Smart Proxy, you must set up accounts with Amazon Web Services (AWS) and create and start Red Hat Enterprise Linux instances on AWS.

3.1. Amazon Web Service Assumptions

To use this guide, you must have a working knowledge of the following aspects of Amazon Web Services:

  • Creating and accessing Red Hat Enterprise Linux images in AWS

  • Editing network access in AWS Security

  • Creating EC2 instances and how to create EBS volumes

  • Launching instances

  • Importing and exporting virtual machines in AWS

  • Using AWS Direct Connect

To install Foreman in an AWS environment, you must ensure that your AWS set up meets the System Requirements in Installing Foreman server.

To install Smart Proxy in an AWS environment, you must ensure that your AWS set up meets the System Requirements in Installing an External Smart Proxy Server.

For more information about Amazon Web Services and terminology, see Amazon Elastic Compute Cloud Documentation.

For more information about Amazon Web Services Direct Connect, see What is AWS Direct Connect?

3.2. Red Hat Cloud prerequisites

To use this guide, you must complete the following steps:

  • Register with Red Hat Cloud Access.

  • Migrate any Red Hat subscriptions that you want to use.

  • Create an AWS instance and deploy a Red Hat Enterprise Linux virtual machine to the instance.

  • Ensure that your subscriptions are eligible for transfer to Red Hat Cloud. For more information, see Red Hat Cloud Access Program Details.

For more information about deploying Red Hat Enterprise Linux in AWS, see How to Locate Red Hat Cloud Access Gold Images on AWS EC2.

3.3. Foreman-specific prerequisites

  • Ensure that the Amazon EC2 instance type meets or exceeds the System Requirements in Installing Foreman server. For the best performance, use an AWS storage optimized instance.

  • Use Storage Requirements in Installing Foreman server to understand and assign the correct storage to your AWS EBS volumes.

  • Store the synced content on an EBS volume that is separate to the boot volume.

  • Mount the synced content EBS volume separately in the operating system.

  • Optional: store other data, for example, the mongodb directory on a separate EBS volume.

  • If you want the Foreman server and Smart Proxy server to communicate using external DNS hostnames, open the required ports for communication in the AWS Security Group that is associated with the instance.

3.4. Preparing for the Foreman Installation

In your AWS environment, complete the following steps:

  1. Launch an EC2 instance of a Red Hat Enterprise Linux AMI.

  2. Connect to the newly created instance.

  3. If you use a Red Hat Gold Image, remove the RHUI client and set the enabled parameter in the product-id.conf to 1.

    # yum remove -y rh-amazon-rhui-client*
    # yum clean all
    # cat << EOF > /etc/yum/pluginconf.d/product-id.conf
    > [main]
    > enabled=1
    > EOF

4. Installing Foreman server on AWS

On your AWS environment, complete the following steps:

  1. Connect to the new instance.

  2. Use Installing Foreman server to install Foreman server.

5. Installing Smart Proxy on AWS

On your AWS environment, complete the following steps:

  1. Connect to the new instance.

  2. Install Smart Proxy server. For more information, see Installing an External Smart Proxy Server.

6. Registering Hosts to Foreman Using The Bootstrap Script

This procedure applies only to users of the Katello plug-in.

When you install Foreman server and Smart Proxy server, you must then register the content hosts on EC2 instances to Foreman with the bootstrap script.

For more information about using the bootstrap script, see Registering Hosts to Foreman Using The Bootstrap Script in the Managing Hosts guide.

Install the Katello Agent. For more information, see Installing the katello Agent.

Note that the Katello agent is deprecated and will be removed in a future Foreman version. Migrate your workloads to use the remote execution feature to update clients remotely. For more information, see Host Management Without Goferd and Katello Agent in the Managing Hosts Guide.