# 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.apono.io/docs/connectors-and-secrets/high-availability-for-connectors.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
