Connect to Oracle Cloud Infrastructure GoldenGate using a public load balancer

Learn to create and configure a public load balancer in your tenancy to access a private OCI GoldenGate deployment.

Overview

When you create an OCI GoldenGate deployment, you can enable or disable the deployment's public endpoint. Because the OCI GoldenGate Public Endpoint is managed by the OCI GoldenGate service tenancy, it's not possible for you to create network security group (NSG) rules from your customer tenancy.

Description of secure-deployment.png follows
Description of the illustration secure-deployment.png

Before you begin

You must have the following in order to proceed:

  • A free or paid Oracle Cloud Infrastructure account
  • Access to OCI GoldenGate and Networking services
  • Access to DNS service or third-party DNS management system, such as GoDaddy

Task 1: Create a certificate bundle

Create a certificate bundle that includes the public certificate, the corresponding private key, and any associated Certificate Authority (CA) certificates. For more information, see SSL Certificate for Load Balancers.

Task 2: Create a deployment

  1. In the Console navigation menu, click Oracle Database, and then select GoldenGate.
  2. On the Deployments page, click Create deployment.
  3. In the Create deployment panel, enter a name and optionally, a description.
  4. From the Compartment dropdown, select a compartment in which to create the deployment.
  5. Select one of the following options:
    • Production: Sets up a deployment with recommended defaults for a production environment. The minimum number of OCPUs is 4, with auto-scaling enabled.
    • Development or testing: Sets up a deployment with recommended defaults for a development or testing environment. The minimum number of OCPUs is 1.
  6. For OCPU count enter the number of Oracle Compute units (OCPUs) to use.

    Note:

    One OCPU is equivalent to 16gb of memory. For more information, see OCPU management and billing.
  7. (Optional) Select Auto scaling.

    Note:

    Auto scaling enables OCI GoldenGate to scale up to three times the number of OCPUs you specify for OCPU Count, up to 24 OCPUs. For example, if you specify your OCPU Count as 2 and enable Auto Scaling, then your deployment can scale up to 6 OCPUs. If you specify your OCPU Count as 20 and enable Auto Scaling, OCI GoldenGate can only scale up to 24 OCPUs.
  8. From the Subnet in <Compartment> dropdown, select the subnet to which a private endpoint is created from the OCI GoldenGate service tenancy. This ensures that the deployment is always available over this subnet, as long as the policies for this subnet allow access. The private endpoint is only used to access the deployment console, and doesn't provide access to other resources in the subnet.

    To select a subnet in a different compartment, click Change compartment.

    Note:

    You can only select a private subnet when creating a deployment.
  9. Select a license type.
  10. (Optional) Click Show advanced options for network options and to add tags.
    1. In the Network tab,
      1. Select Enable GoldenGate console public access to include a public endpoint in addition to a private endpoint, and allow public access to the deployment console for users. If selected, OCI GoldenGate creates a load balancer in your tenancy to create a public IP. Select a subnet in the same VCN as this deployment in which to create the load balancer.

        Note:

        The load balancer is a resource that comes with an additional cost. You can manage this resource, but ensure that you don't delete the load balancer while your deployment is still in use. Learn more about load balancer pricing.
      2. Select Customize endpoint to provide a private fully qualified domain name (FQDN) prefix that you'll use to access the private service console URL. You can also optionally upload an SSL/TLS certificate (.pem) and its corresponding private key, however, password protected certificates are not supported.

        • It's your responsibility to ensure that the FQDN resolves to the deployment's private IP address in the subnet you previously selected.
        • If the deployment is public, it's your responsibility to ensure that the FQDN publicly resolves to the deployment's public IP address.

        A self-signed certificate is generated for you, if you don't provide one.

        Note:

        Your SSL certificate must meet the following requirements:
        • It's common name should match the deployment's FQDN. If it doesn't, you'll encounter warnings when you access the deployment console.
        • It must be signed using a strong hashing algorithm. arcfour, arcfour128, arcfour256, none algorithm types are not permitted.
        • It must not be expired.
        • It's maximum validity should not exceed 13 months.
        • It must not be a self-signed certificate.
        If you encounter "Invalid Private Key" errors, you can check the correctness of the key using the following OpenSSL commands. Run this command against the certificate:
        openssl x509 --noout --modulus --in <cert>.pem |openssl md5

        Then run this command on the private key:

        openssl rsa --noout --modulus --in <key>.pem |openssl md5

        The output of the two commands should return the same md5 value. If it doesn't, then the certificate and private key don't match.

    2. In the Maintenance tab:
      1. Select Customize maintenance window to define the start of the maintenance window to upgrade the deployment.
      2. (Optional) For Major release auto-upgrade period in days, enter the number of days, between 0 and 365.
      3. (Optional) For Bundle release auto-upgrade period in days, enter the number of days, between 0 and 180 days.
      4. (Optional) For Security patch auto-upgrade period in days, enter the number of days, between 0 and 14 days.
      5. Select Enable interim release auto-upgrade, and, optionally, enter the number of days.

      Note:

      Learn more about scheduling upgrades.
    3. In the Tags tab, add tags to help track the resources within your tenancy. Click + Additional tag to add more tags. Learn more about tagging.
  11. Click Next.
  12. For Deployment type, select Data replication.
  13. From the Select a technology dropdown, select one of the following technology types:
    • Oracle Database
    • Big Data
    • MySQL
    • PostgreSQL
    • Microsoft SQL Server
    • IBM Db2 for z/OS

    See what's supported to learn which databases and technologies you can use as OCI GoldenGate sources and targets.

  14. For Version, the latest version is automatically selected. Click Change version to select a different version.

    Note:

    Learn more about versions.
  15. For GoldenGate instance name, enter the name that the deployment will assign to the GoldenGate deployment instance upon creation.
  16. For Credential store, select one of the following:
    • OCI Identity and Access Management (OCI IAM), to enable users to log in to the the deployment console using their Oracle Cloud account (single sign on) in IAM (Identity and Access Management) enabled tenancies.

      Note:

      Once you select IAM, you won't be able to switch to GoldenGate when you edit the deployment settings at a later time.
    • GoldenGate, for GoldenGate to manage users.
      1. Enter the Administrator username
      2. Select a password secret in your compartment or click Change compartment to select one in a different compartment. You can also create a new password secret.

        To create a new password secret:

        1. Click Create password secret.
        2. In the Create secret panel, enter a name for the secret, and optionally, a description.
        3. Select a compartment from the Compartment dropdown in which to save your secret.
        4. Select a vault in the current compartment, or click Change compartment to select a vault in a different compartment.
        5. Select an Encryption key.

          Note:

          Only AES keys, Software protected keys, and HSM keys are supported. RSA and ECDSA keys are not supported for GoldenGate password secret keys.
        6. Enter a password 8 to 30 characters in length, containing at least 1 uppercase, 1 lowercase, 1 numeric and 1 special character. The special characters must not be '$', '^' or '?'.
        7. Confirm the password.
        8. Click Create.

      Note:

      You can manage GoldenGate users in the deployment console. Learn more.
  17. Click Create.

Task 3: Create the load balancer

To create a load balancer with SSL:
  1. In the OCI Console navigation menu, select Networking, and then click Load Balancers.
  2. On the Load Balancers page, click Create Load Balancer.
  3. In the Select Load Balancer Type dialog, select Load Balancer, and then click Create Load Balancer.
  4. On the Add Details page, complete the following fields, and then click Next:
    1. For Load Balancer Name, enter a name.
    2. For Visibility, select either Public or Private.
    3. For Assign a public IP address, select Reserved IP.
    4. For Shapes, select Dynamic and then move the selector from Small to Micro.
    5. For Choose Networking, select your VCN and subnet from their respective dropdowns.
  5. On the Choose Backends page, complete the following fields, and then click Next
    1. For Specify a Load Balacing Policy, select Weighted Round Robin.
    2. Under Specify Health Check Policy, select TCP from the Protocol dropdown, and then enter 443 for Port.
    3. Leave SSL unchecked.
  6. On the Configure Listener page, completed the following fields, and then click Next:
    1. For Specify the type of traffic your listener handles, select HTTPS.
    2. For Specify the port your listener monitors for ingress traffic, ensure that 443 is displayed.
    3. For SSL Certificate, drag-and-drop or select the SSL Certificate (.cer).
    4. Select Specify CA Certificate and then drag-and-drop or select the CA Certificate (.crt).
    5. Select Specify Private Key, and then drag-and-drop or select the Private Key File.
  7. On the Managing Logging page, complete the following fields, disable Error Logs, and then click Submit.
  8. On the Load Balancer Details page, under Resources, click Backend Sets.
  9. Under Backend Sets, select the backend set displayed in the list, and then click Edit.
  10. In the Edit Backend Set panel, select Use SSL, ensure that your certificate is selected, and then click Save Changes.
  11. On the Backend Sets Details page, under Resources, click Backends, and then click Add Backends.
  12. In the Add Backends panel, select IP Addresses, enter the OCI GoldenGate deployment's Private IP Address (from Step 2) for IP Address, and 443 in for Port, and then click Add.
  13. In the breadcrumb, click Load Balancer Details, and then copy the IP Address.

    You can use a web browser to access this IP address, verify the certificate is the digitally signed certificate that you uploaded, and access the OCI GoldenGate Deployment Console. Next, you'll create a DNS record for the Load Balancer's IP.

Task 4: Create a DNS record

Create a DNS record for the Load Balancer's Public IP in a DNS management system.

You can use Oracle Cloud Infrastructure DNS Management or any public DNS management system.

After a few minutes, verify that you can access the OCI GoldenGate Deployment Console through the domain you created.

Task 5: Create OCI Network Security Rules to allow/deny ingress

  1. From the OCI Console navigation menu (hamburger icon), click Networking, then Virtual Cloud Networks.
  2. From the Virtual Cloud Networks list, select your VCN.
  3. On the VCN Details page, select your subnet.
  4. On the Subnet Details page, copy the IPv4 CIDR Block value, and then click Default Security List for <VCN> under Security Lists.
  5. On the Default Security Lists Details page, under Ingress Rules, locate the ingress rule for TCP that is currently open for all source and destination port ranges, and then select Edit from its Actions (ellipsis) menu.
  6. In the Edit Ingress Rule dialog, replace the Source CIDR value with the IPv4 CIDR Block value copied from Step 5d, and then click Save Changes.

    Wait a few minutes for the changes to take effect.

  7. Click Add Ingress Rule, and then replace the Source CIDR value with an IP address range that includes the Load Balancer's IP address, and then click Add Ingress Rules.

    You can also add an ingress rule for the IP address of your local machine to verify that the routing rules are in effect.