Create a VM using a RHEL BYOS image

You can create a virtual machine (VM) instance on Compute Engine by using images from your Red Hat Cloud Access subscription.

With this option, you pay Red Hat for license subscriptions and pay Google Cloud only for infrastructure costs you incur. When you use OS images from your Red Hat Cloud Access subscription on Google Cloud, you must request support directly from Red Hat. To request support, log into your Red Hat Customer Portal and open a support ticket.

When you create a VM that uses a RHEL OS image, you can access the Red Hat Knowledgebase by using a single-sign-on (SSO) option available through the Google Cloud console.

Before you begin

  • If you haven't already, set up authentication. Authentication is the process by which your identity is verified for access to Google Cloud services and APIs. To run code or samples from a local development environment, you can authenticate to Compute Engine as follows.

    Select the tab for how you plan to use the samples on this page:


    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.


    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.

Required roles

To get the permissions that you need to create VMs, ask your administrator to grant you the Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) IAM role on the project. For more information about granting roles, see Manage access.

This predefined role contains the permissions required to create VMs. To see the exact permissions that are required, expand the Required permissions section:

Required permissions

The following permissions are required to create VMs:

  • compute.instances.create on the project
  • To use a custom image to create the VM: compute.images.useReadOnly on the image
  • To use a snapshot to create the VM: compute.snapshots.useReadOnly on the snapshot
  • To use an instance template to create the VM: compute.instanceTemplates.useReadOnly on the instance template
  • To assign a legacy network to the VM: compute.networks.use on the project
  • To specify a static IP address for the VM: compute.addresses.use on the project
  • To assign an external IP address to the VM when using a legacy network: compute.networks.useExternalIp on the project
  • To specify a subnet for your VM: compute.subnetworks.use on the project or on the chosen subnet
  • To assign an external IP address to the VM when using a VPC network: compute.subnetworks.useExternalIp on the project or on the chosen subnet
  • To set VM instance metadata for the VM: compute.instances.setMetadata on the project
  • To set tags for the VM: compute.instances.setTags on the VM
  • To set labels for the VM: compute.instances.setLabels on the VM
  • To set a service account for the VM to use: compute.instances.setServiceAccount on the VM
  • To create a new disk for the VM: compute.disks.create on the project
  • To attach an existing disk in read-only or read-write mode: compute.disks.use on the disk
  • To attach an existing disk in read-only mode: compute.disks.useReadOnly on the disk

You might also be able to get these permissions with custom roles or other predefined roles.

Create a VM with a RHEL BYOS image

In summary, to use Red Hat Cloud Access subscription on Google Cloud, you need to complete the following steps:

  1. Give Google Cloud access to the images in your Red Hat Cloud Access subscription.
  2. Use Google Cloud console or Google Cloud CLI to create the VM.

Give your Google Group access to your RHEL subscription

To provide your Google Group with access to RHEL BYOS images, complete the following steps:

  1. Select an existing or create a Google Group.
  2. Add all users and service accounts that you want to use these BYOS images, to the Google Group. See Add people to your group.
  3. Log into the Red Hat Customer Portal and complete the following steps:
    1. On the navigation menu, select Cloud Access.
    2. Click Enable a new provider.
    3. In the Select a Red Hat Certified Cloud and Service Provider menu, select Google Compute Engine.
    4. Enter your Google Compute Engine ID. This is the email address for the Google Group that you created in step one.
    5. Select the products that you want to enable.
    6. Click Enable.

It might take 3-4 hours for your Google Cloud account to be linked to the Red Hat Customer Portal.

Create the VM

After you give your Google Group access to your RHEL subscription, your RHEL BYOS images are then available in the rhel-byos-cloud project on Compute Engine. You can then create a VM using your RHEL BYOS image.


  1. In the Google Cloud console, go to the Create an instance page.

    Go to Create an instance

  2. Specify a Name for your VM. For more information, see Resource naming convention.

  3. Optional: Change the Zone for this VM. Compute Engine randomizes the list of zones within each region to encourage use across multiple zones.

  4. Select a Machine configuration for your VM.

  5. In the Boot disk section, click Change.

  6. In the Public images tab, complete the following steps:

    1. In the Operating system drop-down, select one of the following:
      • Red Hat Enterprise Linux
      • Red Hat Enterprise Linux for SAP
    2. In the Version Type drop-down, select the image that you want to use.
    3. In the License type section, select Bring your own subscription or license (BYOS/BYOL).
    4. Specify boot disk type.
    5. Specify boot disk size.
    6. Optional: For advanced configuration options, click Show advanced configuration.
    7. To confirm your boot disk options, click Select.
  7. Make additional VM customizations, as needed.

  8. To create and start the VM, click Create.


  1. Review a list of the RHEL BYOS images that are available. To view a list of RHEL BYOS images, run the following command.

    gcloud compute images list \
        --project=rhel-byos-cloud \
  2. Run the gcloud compute instances create command to create a VM with a BYOS image.

     gcloud compute instances create VM_NAME \
        --image-family=IMAGE_FAMILY \

    Replace the following:

    • VM_NAME: name of the new VM
    • IMAGE_FAMILY: the RHEL BYOS image family that you want to use. For example, rhel-9-byos or rhel-9-2-sap-byos.

What's next