Cloud Experts Documentation

Adding a Public Ingress endpoint to a ROSA PrivateLink Cluster

This content is authored by Red Hat experts, but has not yet been tested on every supported configuration.

This is an example guide for creating a public ingress endpoint for a ROSA Private-Link cluster. Be aware of the security implications of creating a public subnet in your ROSA VPC this way.

architecture diagram showing privatelink with public ingress

Refer to the blog “How to add public Ingress to a PrivateLink ROSA cluster” , to expose applications to the internet by deploying in a PrivateLink Red Hat OpenShift Service on AWS (ROSA) cluster within a truly private Virtual Private Cloud (VPC) that doesn’t have an internet gateway attached to it. Additionally, the blog details about creating CloudFront distribution for content delivery and WAF to protect web applications by filtering and monitoring HTTP traffic between a web application and the internet. Also,AWS network firewall will be used for fine-grained control over network traffic.

Prerequisites

Getting Started

Set some environment variables

  1. Set the following environment variables, changing them to suit your cluster.

Create a public subnet

If you followed the above instructions to create the ROSA Private-Link cluster, you should already have a public subnet in your VPC and can skip to tagging the subnet.

  1. Get a Private Subnet ID from the cluster.

  2. Get the VPC ID from the subnet ID.

  3. Get the Cluster Tag from the subnet

  4. Create a public subnet

  5. Tag the public subnet for the cluster

Create a Custom Domain

  1. Create TLS Key Pair for custom domain using certbot:

    Skip this if you already have a key pair.

  2. Create TLS secret for custom domain:

    Note use your own keypair paths if not using certbot.

  3. Create Custom Domain resource:

  4. Wait for the domain to be ready:

  5. Once its ready grab the CLB name:

  6. Create a CNAME in your DNS provider for *.<$DOMAIN> that points at the CLB NAME from the above command.

Deploy a public application

  1. Create a new project

  2. Create a new application

  3. Create a route for the application

  4. Check that you can access the application:

  5. You should see the output

Interested in contributing to these docs?

Collaboration drives progress. Help improve our documentation The Red Hat Way.

Red Hat logo LinkedIn YouTube Facebook Twitter

Products

Tools

Try, buy & sell

Communicate

About Red Hat

We’re the world’s leading provider of enterprise open source solutions—including Linux, cloud, container, and Kubernetes. We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Subscribe to our newsletter, Red Hat Shares

Sign up now
© 2023 Red Hat, Inc.