:_mod-docs-content-type: ASSEMBLY
[id=“cloud-experts-rosa-hcp-activation-and-account-linking-tutorial”]
= Tutorial: {product-title} activation and account linking
include::_attributes/attributes-openshift-dedicated.adoc[]
:context: cloud-experts-rosa-hcp-activation-and-account-linking-tutorial

toc::[]

//Mobb content metadata
//Brought into ROSA product docs 2024-02-08
//---
//date: '2024-02-08'
//title: Jiri Fiala
//authors:
//  - Jiri Fiala
//---

This tutorial describes the process for activating {product-title} and linking to an AWS account, before deploying the first cluster.

[IMPORTANT]
====
If you have received a private offer for the product, make sure to proceed according to the instructions provided with the private offer before following this tutorial. The private offer is designed either for a case when the product is already activated, which replaces an active subscription, or for first time activations.
====

== Prerequisites

* Log in to the Red{nbsp}Hat account that you want to associate with the AWS account that will activate the {product-title} product subscription.
* The AWS account used for service billing can only be associated with a single Red{nbsp}Hat account. Typically an AWS payer account is the one that is used to subscribe to {product-title} and used for account linking and billing.
* All team members belonging to the same Red{nbsp}Hat organization can use the linked AWS account for service billing while creating {product-title} clusters.

== Subscription enablement and AWS account setup

. Activate the {product-title} product at the link:https://console.aws.amazon.com/rosa/home[AWS console page] by clicking the *Get started* button:
+
.Get started 
+
image::rosa-get-started.png[]
+
If you have activated {product-title} before but did not complete the process, you can click the button and complete the account linking as described in the following steps.

. Confirm that you want your contact information to be shared with Red{nbsp}Hat and enable the service:
+
.Enable {product-title}
image::rosa-enable-2.png[]
+
* You will not be charged by enabling the service in this step. The connection is made for billing and metering that will take place only after you deploy your first cluster. This could take a few minutes.
+
. After the process is completed, you will see a confirmation:
+
.{product-title} enablement confirmation
+
image::rosa-prereq-enable-3.png[]
+
. Other sections on this verification page show the status of additional prerequisites. In case any of these prerequisites are not met, a corresponding message is shown. Here is an example of insufficient quotas in the selected region:
+
.Service quotas
+
image::rosa-service-quota-4.png[]

.. Click the *Increase service quotas* button or use the *Learn more* link to get more information about the about how to manage service quotas. In the case of insufficient quotas, note that quotas are region-specific. You can use the region switcher in the upper right corner of the web console to re-run the quota check for any region you are interested in and then submit service quota increase requests as needed.

. If all the prerequisites are met, the page will look like this:
+
.Verify {product-title} prerequisites 
+
image::rosa-prereq-5.png[]
+
The ELB service-linked role is created for you automatically. You can click any of the small *Info* blue links to get contextual help and resources.

== AWS and Red{nbsp}Hat account and subscription linking

. Click the orange *Continue to Red{nbsp}Hat* button to proceed with account linking:
+
.Continue to Red{nbsp}Hat
+
image::rosa-continue-rh-6.png[]

. If you are not already logged in to your Red{nbsp}Hat account in your current browser's session, you will be asked to log in to your account:
+
[NOTE]
====
Your AWS account must be linked to a single Red{nbsp}Hat organization. 
====
+
.Log in to your Red{nbsp}Hat account
+
image::rosa-login-rh-account-7.png[]
+
* You can also register for a new Red{nbsp}Hat account or reset your password on this page.
* Log in to the Red{nbsp}Hat account that you want to associate with the AWS account that has activated the {product-title} product subscription.
* The AWS account used for service billing can only be associated with a single Red{nbsp}Hat account. Typically an AWS payer account is the one that is used to subscribe to {product-title} and used for account linking and billing.
* All team members belonging to the same Red{nbsp}Hat organization can use the linked AWS account for service billing while creating {product-title} clusters.

. Complete the Red{nbsp}Hat account linking after reviewing the terms and conditions:
+
[NOTE]
====
This step is available only if the AWS account was not linked to any Red{nbsp}Hat account before.

This step is skipped if the AWS account is already linked to the user's logged in Red{nbsp}Hat account.

If the AWS account is linked to a different Red{nbsp}Hat account, an error will be displayed. See link:https://access.redhat.com/articles/7066995[Correcting Billing Account Information for HCP clusters] for troubleshooting.
====
+
.Complete your account connection
+
image::rosa-rh-account-connection-8.png[]
+
Both the Red{nbsp}Hat and AWS account numbers are shown on this screen.

. Click the *Connect accounts* button if you agree with the service terms.
+
If this is the first time you are using the {hybrid-console}, you will be asked to agree with the general managed services terms and conditions before being able to create the first cluster:
+
.Terms and conditions
+
image::rosa-terms-conditions-9.png[]
+
Additional terms that need to be reviewed and accepted are shown after clicking the *View Terms and Conditions* button:
+
.Red{nbsp}Hat terms and conditions
+
image::rosa-terms-conditions-9-5.png[]
+
Submit your agreement once you have reviewed any additional terms when prompted at this time.

. The {hybrid-console-second} provides a confirmation that AWS account setup was completed and lists the prerequisites for cluster deployment:
+
.Complete {product-title} prerequisites
+
image::rosa-cluster-create-10.png[]
+
The last section of this page shows cluster deployment options, either using the `rosa` CLI or through the web console:
+
.Deploy the cluster and set up access
+
image::rosa-cli-ui-12.png[]

== Selecting the AWS billing account for {product-title} during cluster deployment using the CLI

[IMPORTANT]
====
Make sure that you have the most recent ROSA command-line interface (CLI) and AWS CLI installed and have completed the {product-title} prerequisites covered in the previous section. See xref:../cli_reference/rosa_cli/rosa-get-started-cli.adoc#rosa-get-started-cli[Help with ROSA CLI setup] and link:https://aws.amazon.com/cli/[Instructions to install the AWS CLI] for more information.
====

. Initiate the cluster deployment using the `rosa create cluster` command. You can click the *copy* button on the link:https://console.redhat.com/openshift/create/rosa/getstarted[Set up Red{nbsp}Hat OpenShift Service on AWS (ROSA) console page] and paste the command in your terminal. This launches the cluster creation process in interactive mode:
+
.Deploy the cluster and set up access
+
image::rosa-cli-15.png[]

. To use a custom AWS profile, one of the non-default profiles specified in your `~/.aws/credentials`, you can add the `–profile <profile_name>` selector to the rosa create cluster command so that the command looks like rosa create cluster `–profile stage`. If no AWS CLI profile is specified using this option, the default AWS CLI profile will determine the AWS infrastructure profile into which the cluster is deployed. The billing AWS profile is selected in one of the following steps.

. When deploying a {product-title} cluster, the billing AWS account needs to be specified:
+
.Specify the Billing Account
+
image::rosa-create-cli-billing-17.png[]
+
* Only AWS accounts that are linked to the user's logged in Red{nbsp}Hat account are shown.
* The specified AWS account is charged for using the {product-title} service.
* An indicator shows if the {product-title} contract is enabled or not enabled for a given AWS billing account.
** If you select an AWS billing account that shows the _Contract enabled_ label, on-demand consumption rates are charged only after the capacity of your pre-paid contract is consumed.
** AWS accounts without the _Contract enabled_ label are charged the applicable on-demand consumption rates.

.Additional resources 

ifdef::openshift-rosa-hcp[]
* The detailed cluster deployment steps are beyond the scope of this tutorial. See xref:../rosa_hcp/rosa-hcp-sts-creating-a-cluster-quickly.adoc#rosa-hcp-sts-creating-a-cluster-quickly[Creating {product-title} clusters using the default options] for more details about how to complete the {product-title} cluster deployment using the CLI.
endif::openshift-rosa-hcp[]
ifdef::openshift-rosa[]
* The detailed cluster deployment steps are beyond the scope of this tutorial.
endif::openshift-rosa[]

== Selecting the AWS billing account for {product-title} during cluster deployment using the web console

. A cluster can be created using the web console by selecting the second option in the bottom section of the introductory *Set up {product-title}* page:
+
.Deploy with web interface
+
image::rosa-deploy-ui-19.png[]
+
[NOTE]
====
Complete the prerequisites before starting the web console deployment process. 

The `rosa` CLI is required for certain tasks, such as creating the account roles. If you are deploying {product-title} for the first time, follow this the CLI steps until running the `rosa whoami` command, before starting the web console deployment steps.
====

. The first step when creating a {product-title} cluster using the web console is the control plane selection. Make sure the *Hosted* option is selected before clicking the *Next* button:
+
.Select hosted option
+
image::rosa-deploy-ui-hcp-20.png[]

. The next step *Accounts and roles* allows you specifying the infrastructure AWS account, into which the {product-title} cluster is deployed and where the resources are consumed and managed:
+
.AWS infrastructure account
+
image::rosa-ui-account-21.png[]
+
* Click the *How to associate a new AWS account*, if you don not see the account into which you want to deploy the {product-title} cluster for detailed information on how to create or link account roles for this association.
* The `rosa` CLI is used for this.
* If you are using multiple AWS accounts and have their profiles configured for the AWS CLI, you can use the `--profile` selector to specify the AWS profile when working with the `rosa` CLI commands.

. The billing AWS account is selected in the immediately following section:
+
.AWS billing account
+
image::rosa-ui-billing-22.png[]
+
* Only AWS accounts that are linked to the user's logged in Red{nbsp}Hat account are shown.
* The specified AWS account is charged for using the {product-title} service.
* An indicator shows if the {product-title} contract is enabled or not enabled for a given AWS billing account.
** If you select an AWS billing account that shows the _Contract enabled_ label, on-demand consumption rates are charged only after the capacity of your pre-paid contract is consumed.
** AWS accounts without the _Contract enabled_ label are charged the applicable on-demand consumption rates.

The following steps past the billing AWS account selection are beyond the scope of this tutorial.

.Additional resources

* For information on using the CLI to create a cluster, see xref:../rosa_hcp/rosa-hcp-sts-creating-a-cluster-quickly.adoc#rosa-hcp-sts-creating-a-cluster-cli_rosa-hcp-sts-creating-a-cluster-quickly[Creating a {product-title} cluster using the CLI].
* See link:https://cloud.redhat.com/learning/learn:getting-started-red-hat-openshift-service-aws-rosa/resource/resources:how-deploy-cluster-red-hat-openshift-service-aws-using-console-ui[this learning path] for more details on how to complete cluster deployment using the web console.