Con OpenAI Private Link, tus cargas de trabajo de Azure pueden acceder a los puntos de acceso regionales de la API de OpenAI mediante Azure Private Link en lugar de conectarse directamente a los puntos de acceso públicos de la API. Crea un punto de acceso privado para cada servicio regional de Private Link que te proporcione OpenAI, asocia su nombre de host regional con la dirección IP privada correspondiente en el DNS privado y envía tus solicitudes a la API usando ese nombre de host y la autenticación habitual.
Usa Private Link si tu organización exige que el tráfico permanezca en la red privada de Azure. Si no tienes requisitos de red privada, los puntos de acceso públicos de OpenAI son más fáciles de configurar y operar. Private Link no es compatible con los controles de acceso basados en listas de direcciones IP permitidas ni con TLS mutuo (mTLS). Ponte en contacto con OpenAI si necesitas ayuda para elegir los controles de red adecuados para tu empresa.
Por ahora, Private Link no ofrece acceso de autoservicio. Habla con tu contacto de OpenAI o ponte en contacto con el equipo de ventas para solicitar acceso y recibir los alias o identificadores de recursos de los servicios regionales de Private Link que necesitas.
Cómo funciona Private Link
Algunos clientes han estado usando la versión anterior de Private Link (v1), que conecta cada punto de acceso privado a un clúster específico de la API de OpenAI. La solución regional actual presenta las siguientes diferencias:
| Versión anterior de Private Link (v1) | Private Link regional | |
|---|---|---|
| Nombre de host | Específico del clúster, como privatelink.enterprise.unified-1.api.openai.com |
Regional, como southcentralus.privatelink.api.openai.com |
| Enrutamiento de OpenAI | El tráfico siempre se dirige al mismo clúster de la API de OpenAI | Una puerta de enlace regional en el perímetro de la red privada puede dirigir el tráfico a más de un clúster de la API de OpenAI |
| Comprobación de estado desde la red del cliente | Rutas de comprobación de estado de la versión v1 | GET /v2/privatelink_healthcheck |
Una solicitud sigue este recorrido:
- Tu aplicación consulta el nombre de host regional de Private Link en tu DNS privado.
- El DNS resuelve el nombre de host a la dirección de un punto de acceso privado de Azure en tu red virtual.
- El punto de acceso privado se conecta al servicio regional de Private Link de OpenAI.
- El servicio de Private Link envía la solicitud a la puerta de enlace regional de OpenAI en el perímetro de la red privada.
- La puerta de enlace dirige la solicitud a uno de los clústeres de la API de OpenAI habilitados para uso empresarial que atienden esa ruta regional.
Si un clúster deja de estar disponible, Private Link puede dirigir el tráfico a otro clúster de la misma ruta regional. OpenAI también puede agregar clústeres a esa ruta sin que tengas que reconfigurar tus puntos de acceso privados. Private Link no redirige automáticamente el tráfico del nombre de host regional que elegiste al punto de acceso privado de otra región. No des por hecho que Private Link enruta el tráfico de la misma manera que los puntos de acceso públicos de OpenAI. Configura cómo debe cambiar de región tu aplicación en caso de falla.
Elige los puntos de acceso regionales
Durante la incorporación, OpenAI te proporciona el alias o el identificador de recurso exacto del servicio de Private Link. Estos son los nombres de host regionales que se usan actualmente en producción:
| Nombre de la región | Nombre de host para el cliente |
|---|---|
| Centro-sur de EE. UU. | southcentralus.privatelink.api.openai.com |
| Oeste de EE. UU. | westus.privatelink.api.openai.com |
| Este de EE. UU. 2 | eastus2.privatelink.api.openai.com |
| Centro de España / UE | spaincentral.privatelink.api.openai.com |
El tráfico dirigido al nombre de host de Centro de España / UE puede llegar a clústeres de otras regiones de la UE, como Norte de Europa.
Configura Private Link
1. Proporciona la información para la incorporación
Envía a OpenAI los siguientes datos:
- Los ID de las suscripciones de Azure que necesitan acceso a los servicios de Private Link de OpenAI.
- El ID de tu organización de OpenAI.
- Las regiones que necesitas.
- Los contactos de operaciones que recibirán los avisos de mantenimiento y de cambios en la región a la que se dirige el tráfico.
OpenAI autoriza a las suscripciones a ver los servicios regionales de Private Link correspondientes y a conectarse a ellos. Luego te proporciona los alias o los identificadores de recursos de esos servicios.
2. Crea los puntos de acceso privados
Crea un punto de acceso privado por cada región seleccionada. Azure exige que el punto de acceso privado esté en la misma región que tu red virtual. Configura --location con esa región, que puede ser distinta de la región del servicio de Private Link de OpenAI.
El siguiente comando usa el identificador de recurso que OpenAI proporciona para el servicio de Private Link:
az network private-endpoint create \
--name openai-privatelink-southcentralus \
--resource-group <customer-resource-group> \
--location <customer-vnet-region> \
--vnet-name <customer-vnet> \
--subnet <customer-private-endpoint-subnet> \
--private-connection-resource-id <openai-provided-pls-resource-id> \
--connection-name openai-privatelink-southcentralus
Si OpenAI te proporciona un alias, usa ese alias y agrega --manual-request true:
az network private-endpoint create \
--name openai-privatelink-southcentralus \
--resource-group <customer-resource-group> \
--location <customer-vnet-region> \
--vnet-name <customer-vnet> \
--subnet <customer-private-endpoint-subnet> \
--private-connection-resource-id <openai-provided-pls-alias> \
--connection-name openai-privatelink-southcentralus \
--manual-request true
Azure exige --manual-request true para las conexiones mediante un alias. Aun así, las suscripciones que figuran en la lista de acceso pueden recibir aprobación automática.
Sigue un procedimiento similar en el portal de Azure o en Terraform si tu organización administra los puntos de acceso privados mediante infraestructura como código.
3. Prueba la conectividad antes de cambiar el DNS
Una vez que OpenAI apruebe el punto de acceso privado y Azure lo aprovisione, anota su dirección IP privada. Usa curl --resolve para probar el nombre de host regional sin cambiar la configuración global del DNS:
curl -v \
--resolve southcentralus.privatelink.api.openai.com:443:<PRIVATE_ENDPOINT_IP> \
https://southcentralus.privatelink.api.openai.com/v2/privatelink_healthcheck
Si el servicio funciona correctamente, devuelve el código HTTP 200 con un mensaje como este:
{ "message": "Service is up" }
Usa la ruta exacta /v2/privatelink_healthcheck para la comprobación de estado. Mantén bajo el volumen de tráfico de las comprobaciones automáticas de estado. Envía como máximo 1 consulta por segundo por punto de acceso regional, salvo que OpenAI apruebe otra frecuencia.
4. Configura el DNS privado
Crea registros DNS privados para que, dentro de tu red, cada nombre de host regional de OpenAI Private Link se resuelva a la dirección IP del punto de acceso privado correspondiente:
| Nombre de host | Dirección IP del punto de acceso privado |
|---|---|
southcentralus.privatelink.api.openai.com |
<southcentralus-private-endpoint-ip> |
westus.privatelink.api.openai.com |
<westus-private-endpoint-ip> |
eastus2.privatelink.api.openai.com |
<eastus2-private-endpoint-ip> |
spaincentral.privatelink.api.openai.com |
<spaincentral-private-endpoint-ip> |
Comprueba el DNS y la conectividad desde la misma ruta de red que usa tu aplicación:
nslookup southcentralus.privatelink.api.openai.com
curl -v https://southcentralus.privatelink.api.openai.com/v2/privatelink_healthcheck
5. Configura la conmutación por error entre regiones
Private Link proporciona un punto de entrada regional, pero el tráfico sigue dirigiéndose al nombre de host regional que elijas. Configura la conmutación por error entre regiones en tu cliente, en la malla de servicios, en la capa de DNS o en la de balanceo de carga.
Sigue estas recomendaciones:
- Comprueba cada región configurada con
GET /v2/privatelink_healthcheck. - Considera que la región está disponible si devuelve el código HTTP
200. - Considera que la región no está disponible si recibes respuestas
5xx, se producen errores de conexión o de TLS, o se agota repetidamente el tiempo de espera. - Espera a que se produzcan unos pocos errores consecutivos antes de cambiar de región para evitar cambios continuos de una región a otra.
- Sigue comprobando en segundo plano el estado de la región que no está disponible y vuelve a dirigir el tráfico a ella de acuerdo con tu política operativa.
La comprobación de estado regional refleja el estado de los clústeres de la API de OpenAI que atienden la ruta privada regional. La comprobación devuelve un error si no se conocen clústeres que atiendan la región, si falta la configuración de las comprobaciones de estado o si no hay suficientes clústeres en buen estado.
Si tu decisión de enrutamiento depende de una API o un modelo en particular, complementa esta comprobación de estado con una solicitud sintética a esa API y ese modelo. Envíala con poca frecuencia desde la misma ruta de red.
6. Actualiza las URL base de la aplicación
Usa el nombre de host regional de Private Link en la URL base de la API de OpenAI:
from openai import OpenAI
client = OpenAI(
base_url="https://southcentralus.privatelink.api.openai.com/v1",
)El SDK lee OPENAI_API_KEY de tu entorno.
También puedes llamar directamente al punto de acceso regional:
curl https://southcentralus.privatelink.api.openai.com/v1/responses \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6-astra",
"input": "Say hello from Private Link."
}'Empieza en un entorno de desarrollo o de preproducción y luego dirige gradualmente el tráfico de producción al punto de acceso regional.
Verifica tu configuración
Usa esta lista de verificación al empezar a usar Private Link o al migrar a este servicio:
- OpenAI confirmó que las suscripciones de Azure cuyos ID proporcionaste tienen acceso a los servicios regionales de Private Link seleccionados.
- Creaste los puntos de acceso privados para cada región seleccionada y OpenAI los aprobó.
- Anotaste las direcciones IP de los puntos de acceso privados.
curl --resolvese ejecuta correctamente al consultar/v2/privatelink_healthcheck.- Desde la red de la aplicación, el DNS privado resuelve los nombres de host regionales a las direcciones IP de los puntos de acceso privados.
- La aplicación puede llamar a un punto de acceso representativo de la API
/v1mediante el nombre de host regional. - Las comprobaciones automáticas de estado tienen un límite de frecuencia y, si se produce un error, registran la región, el código de estado y el tipo de error.
- Probaste cómo cambia de región la aplicación al simular en un entorno controlado que una región no está disponible.
- Tu documentación operativa indica quién puede modificar el DNS, la configuración de los puntos de acceso privados y el enrutamiento regional de la aplicación.
Verifica la compatibilidad de los puntos de acceso
La siguiente matriz refleja la configuración de despliegue actual de los servicios que atienden las rutas públicas de la API que aparecen en la tabla. También debes validar el comportamiento en tu propio entorno. Prueba en cada región de destino la disponibilidad de los modelos, las condiciones de acceso a los productos, las dependencias de otros servicios, los límites de tamaño de las solicitudes y el comportamiento tanto de la transmisión de datos como de las conexiones WebSocket. Yes (“Sí” en la tabla) indica que la ruta de la API está disponible en todos los clústeres que atienden esa ruta regional. No indica que el servicio no está presente en esa ruta regional.
| Familia de puntos de acceso | Centro-sur de EE. UU. | Oeste de EE. UU. | Este de EE. UU. 2 | Centro de España / UE |
|---|---|---|---|---|
/v1/responses |
Sí | Sí | Sí | Sí |
/v1/chat/completions |
Sí | Sí | Sí | Sí |
/v1/completions |
Sí | Sí | Sí | Sí |
/v1/embeddings |
Sí | Sí | Sí | Sí |
/v1/audio/* (inferencia) |
Sí | Sí | Sí | Sí |
/v1/audio/* (administración) |
Sí | No | No | Sí |
/v1/models |
Sí | Sí | Sí | Sí |
/v1/files, /v1/uploads |
Sí | Sí | Sí | Sí |
/v1/batches |
Sí | Sí | Sí | Sí |
/v1/images/* |
Sí | Sí | Sí | Sí |
/v1/moderations |
Sí | Sí | Sí | Sí |
/v1/vector_stores |
Sí | Sí | Sí | Sí |
/v1/organization/audit_logs |
Sí | Sí | Sí | Sí |
Otras rutas de /v1/organization/*, /v1/usage |
Sí | No | No | Sí |
/v1/realtime |
Sí | Sí | Sí | Sí |
Preguntas frecuentes
¿Private Link cambia automáticamente de región si se produce una falla?
No. La ruta privada regional puede dirigir el tráfico a cualquiera de los clústeres configurados para atenderla, pero no lo redirige automáticamente al punto de acceso privado de otra región. Configura tu aplicación para que, en caso de falla, pueda cambiar entre los puntos de acceso regionales que usas.
¿Qué comprobación de estado debo usar?
Usa GET /v2/privatelink_healthcheck con el nombre de host regional. Las rutas de comprobación de estado de la versión v1 consultan la ruta interna de supervisión de los clústeres, así que no las uses para las comprobaciones desde la red del cliente.
¿Qué nombre de host deben usar las aplicaciones para acceder a la API?
Usa el nombre de host regional con la ruta habitual de la API /v1, por ejemplo, https://southcentralus.privatelink.api.openai.com/v1.
¿Las cargas de trabajo de AWS o Google Cloud pueden conectarse mediante Private Link?
No de forma directa. La conectividad mediante Private Link es específica de Azure. Las cargas de trabajo de AWS o Google Cloud solo pueden conectarse a través de una conexión de red a Azure que tú administres, como un proxy de Azure o una conexión privada entre nubes. Desde Azure, la conexión a OpenAI se establece mediante Azure Private Link.
¿Private Link cambia la autenticación?
No. Private Link solo cambia la ruta de red. Las solicitudes siguen requiriendo la autenticación y la autorización habituales de la API de OpenAI.
¿Private Link es compatible con todas las API de OpenAI?
No. La compatibilidad depende de que la API esté disponible en todos los clústeres que atienden la ruta regional seleccionada. Usa la matriz de compatibilidad como punto de partida y luego prueba cada interfaz de API y cada modelo que necesites en todas las regiones de destino.