# High Availability for Connectors

**Active-active availability** refers to a high availability (HA) architecture, where two or more systems are actively handling requests simultaneously.

HA can provide the following benefits:

* Provide redundancy by maintaining operations during downtime
* Distribute requests across multiple active systems to improve load balancing
* Maximize resource use by employing standby systems
* Reroute traffic through automatic failover to the remaining active system

Apono leverages HA to guarantee uptime to customers. Our on-premise connector can be deployed with several instances. If one instance is down, HA ensures that others are available to continue provisioning.

***

## Prerequisite

| Item                    | Description                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Installed connector** | <p>Active Apono connector</p><p>The connector can be installed in any of the following environments:</p><ul><li><a href="https://docs.apono.io/docs/apono-connector-for-aws">AWS</a></li><li><a href="https://docs.apono.io/docs/apono-azure-connector">Azure</a></li><li><a href="https://docs.apono.io/docs/apono-connector-for-gcp">GCP</a></li><li><a href="https://docs.apono.io/docs/apono-connector-for-kubernetes">Kubernetes</a></li></ul> |

***

## Deploy HA connector instances

For HA, you can add instances to an existing connector using the same connector ID.

{% hint style="warning" %}
All connector instances must be the **same version**. Update any older versions to maintain functionality ([AWS](https://docs.apono.io/docs/updating-a-connector-in-aws) | [Azure](https://docs.apono.io/docs/updating-a-connector-in-azure) | [GCP](https://docs.apono.io/docs/updating-a-connector-in-google-cloud) | [Kubernetes](https://docs.apono.io/docs/updating-a-kubernetes-connector)).
{% endhint %}

Follow these steps to add a connector instance for high availability:

1. From the [**Connectors**](https://app.apono.io/connectors) page, click **Install Connector**. The **Install Connector** page appears.
2. Select **Cloud Installation**.
3. Select a platform for the connector. The permission options appear.
4. Select a permissions option.
5. Select an installation method.

{% hint style="info" %}
The Apono UI auto-populates the token for the new connector instance.
{% endhint %}

6. In the connector installation module, configure the connector ID parameter to share the **same value** as an existing connector ID in the environment.\
   \
   You can find the connector ID of an existing instance on the [**Connectors**](https://app.apono.io/connectors) page.

{% hint style="info" %}
Depending on the environment, the connector ID parameter may appear as any of the following properties:

* `APONO_CONNECTOR_ID`
* `apono.connectorId`
* `connectorId`
  {% endhint %}

{% code overflow="wrap" lineNumbers="true" fullWidth="false" %}

```json
module "connector" {
    source = "github.com/apono-io/terraform-modules/azure/connector-with-permissions/stacks/apono-connector"
    aponoToken = $APONO_TOKEN
    connectorId = $EXISTING_CONNECTOR_ID
    resourceGroup = $AZURE_RESOURCE_GROUP
    ipAddressType = // "Private" or "None"
    subnetIds = [$SUBNET_ID]
}
```

{% endcode %}

7. Complete the installation of the connector in your environment ([AWS](https://docs.apono.io/docs/apono-connector-for-aws) | [Azure](https://docs.apono.io/docs/apono-azure-connector) | [GCP](https://docs.apono.io/docs/apono-connector-for-gcp) | [Kubernetes](https://docs.apono.io/docs/apono-connector-for-kubernetes)).

Upon completion, you can integrate your HA connectors with your environment.
