IBM Cloud Docs
Setting up Amazon Web Services location

Setting up Amazon Web Services location

Follow these steps to set up Cloud Databases enabled by IBM Cloud Satellite® in an on-premises location.

Prepare a Satellite location for Cloud Databases

Prepare your Satellite location before deploying the Cloud Databases enabled by the IBM Cloud Satellite service.

Attach extra hosts to the Satellite location

These additional-attached worker nodes are used to create a service cluster into which the database instances will later be deployed. Attach to your Satellite location:

  • Three type 8x32 hosts
    • On AWS, choose three hosts of type AWS m5d.2xlarge
  • Three type 32x128 hosts
    • On AWS choose three hosts of type AWS m5d.8xlarge

You should also attach an additional three 32x128 hosts to be kept in reserve. While optional, this step is recommended and you will see a notification in the UI until the reserve workers are attached.

To be assigned to a service cluster, your worker nodes must match these specifications exactly.

Create a Satellite block storage configuration

To set up your Satellite location using AWS, configure your block storage with Amazon Elastic Block Storage (EBS).

ibmcloud sat storage config create  \\
  --name 'aws-ebs-config-storage-testing-1' \\
  --template-name 'aws-ebs-csi-driver' \\
  --template-version '0.9.14' \\
  --location '${LOCATION_ID}' \\
  -p "aws-access-key=${SAT_EBS_ADMIN_KEY_ID}" \\
  -p "aws-secret-access-key=${SAT_EBS_ADMIN_KEY}"

Grant a service authorization

Begin by configuring IAM Authorizations:

  • Configure your IAM Authorizations under the Manage tab.
  • Choose the Authorizations tab from the left menu.
  • Click Create to create an authorization that allows a service instance access to another service instance.
    • The source service is the service that is granted access to the target service. The roles that you select define the level of access for this service. The target service is the service that you are granting permission to be accessed by the source service based on the assigned roles.
    • In the Source service field, select the Database type.
    • In the Target service field, select Satellite.
    • Select all options:
      • Satellite Cluster Creator
      • Satellite Link Administrator
      • Satellite Link Source Access Controller
    • Then, click Authorize.

Ensure location readiness

Before provisioning your Cloud Databases Satellite deployment, your location needs to report Normal. This status can be confirmed in the UI, as shown in the following image:

UI showing location is normal
UI showing location is normal

The normal status can also be confirmed by using the CLI, with a command like:

ibmcloud sat location get --location <location name> --output=json -q | jq -r .state

If successful, the command output reports normal.

Obtaining normal state

To get to this state, attach a minimum of three 4x16 hosts to your location and assign them to the Control plane. After that step is complete, provisioning of the Control plane begins. Upon successful completion, the location state is going to report as Normal, as shown:

Control plane in normal state
Control plane in normal state

Attempting to provision a database instance into a location without a running Control plane (that is, Normal state), causes provisioning to fail.

Provisioning Cloud Databases Satellite deployment

You can provision your Cloud Databases Satellite deployment by selecting the Satellite location that you created from the Location dropdown on the provisioning page. For more information, see the relevant Provisioning documentation for your Cloud Databases Satellite deployment. After you create a new service instance, this instance will appear in the IBM Cloud® Resource List as Provisioned.

When you deploy the first database service instance, a service cluster is automatically deployed into your Satellite location. The deployment of the service cluster can take up to 1 hour.

You can verify in the IBM Cloud UI whether the service cluster is already created:

  • From the left Navigation menu, select Satellite, then Locations.
  • Select your Satellite location.
  • Select Services.

After the service cluster is created, you must create a storage assignment manually (see next step) before the database instance will be started. Subsequent database service instances provision more quickly since instances land on the same service cluster.

Create a storage assignment

When the service cluster is available in your Satellite location, the next step is to create a Satellite storage assignment. Creating the storage assignment allows the service cluster to create volumes on the previously configured storage.

The first database you provision into a location remains "Provision in progress" until this step is complete.

For more information, see AWS EBS IBM Cloud Satellite documentation.

First, obtain your ROKS-Service-cluster-ID by entering the following command into the IBM Cloud CLI:

ic sat service ls  --location <location name/location id>

The output of the command includes the Cluster ID of the newly created Satellite service cluster.

Use the Cluster ID as an input parameter for --service-cluster-id in the following AWS Satellite location storage assignment command:

ibmcloud sat storage assignment create  \\
    --name "ebs-assignment"  \\
    --service-cluster-id <ROKS-Service-cluster-ID>  \\
    --config 'aws-ebs-config-storage-testing-1'

Assigning a storage configuration to a service cluster autogenerates a --name and any user-provided name is ignored.

After the storage assignment is created, allow up to 30 minutes for the database instance to be ready for usage.