> ## Documentation Index
> Fetch the complete documentation index at: https://artie.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Azure Private Link

> Artie supports connections through Azure Private Link. You can configure Private Link directly from the Artie dashboard.

## How Private Link works

```mermaid theme={null}
flowchart LR
  subgraph Artie data plane
    direction TB
    B[Private endpoint]
  end

  B -->|Private Link| C

  subgraph Customer virtual network
    direction TB
    C[Private Link Service] --> D[Internal load balancer]
    D --> E[("Database")]
  end
```

## Pre-requisites

* Private Link Service on a Standard internal load balancer that points to your database
* Added Artie's subscription ID (`42421fa2-f3e4-4eee-a55d-ae543e47d794`) to the **Visibility** list of the Private Link Service.

<Info>
  For BYOC customers, the Artie subscription ID may be different. Please reach out to us if you need this subscription ID.
</Info>

## Setting up a Private Link connection

<Steps>
  <Step title="Open PrivateLink settings">
    Go to the [PrivateLink connections tab](https://app.artie.com/settings?tab=privateLinkConnections) under Settings.
  </Step>

  <Step title="Submit a request">
    Request a new PrivateLink connection and specify the environment, the Azure data plane, and your Private Link Service alias. You can find the alias on the overview page of your Private Link Service in the Azure portal.
  </Step>

  <Step title="Approve the connection">
    Once approved, Artie creates a private endpoint that connects to your Private Link Service and the status changes to "Pending Acceptance". Approve the connection in your Azure portal under **Private Link Service > Private endpoint connections**.
  </Step>

  <Step title="Start using the endpoint">
    Once approved, Artie detects the change (checked every 20 minutes), the private IP address of the endpoint will be displayed, and you can create a pipeline using it as the source address.
  </Step>
</Steps>

<Note>
  Artie runs a daily job to verify that all active PrivateLink connections are still connected and working.
</Note>

## Troubleshooting

If you are having issues with your PrivateLink connections and it's timing out, try our [debugging tool](https://app.artie.com/settings?tab=privateLinkConnections). For Azure connections, the debugging tool runs a TCP check.

<Accordion title="Advanced debugging: connection is timing out">
  If the debugging tool above does not surface the issue, work through these checks in order.

  ### Verify the load balancer rule and health probe

  1. Open **Load balancers** in your Azure portal and select the load balancer behind your Private Link Service.
  2. Make sure there is a load balancing rule for your database port (e.g. `5432`).
  3. Make sure the health probe for that rule is healthy. If the probe fails, the load balancer drops the traffic.

  ### Verify network security group rules

  Make sure the network security group on your database (or the VM that forwards traffic to it) allows inbound traffic on the database port from the subnet of your Private Link Service.
</Accordion>

## Frequently asked questions

### Which region is Private Link available in?

Private Links are available in the region your data plane is located in (currently Azure South Central US). Reach out to your team if you need to set up Private Links in a different region.

### What if I have multiple databases?

You have two options when it comes to connecting to multiple databases:

1. **(Recommended)** Create one PrivateLink connection and add a load balancing rule for each database within your load balancer.
2. Create a separate PrivateLink connection for each database. This is only necessary if you expect <Tooltip tip="Typically > 500 MB/s sustained data transfer or > 100k concurrent connections.">extremely high throughput</Tooltip> and you would like to have dedicated resources and isolate the traffic.

### How do I connect to my read-only database for backfills?

Artie supports backfilling from a read-only database. However, if you are using PrivateLink you will want to add a new load balancing rule for the read-only database.

Please see above **What if I have multiple databases?** for more information.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.