Para administrar y supervisar varias instalaciones de VMware Cloud Director distribuidas geográficamente o grupos de servidores y sus organizaciones como entidades únicas, puede usar la función de multisitio de VMware Cloud Director.
Implementación efectiva de un multisitio
Cuando se asocian dos sitios de VMware Cloud Director, se habilita la administración de los sitios como una única entidad. También se permite que las organizaciones de esos sitios formen asociaciones entre sí. Consulte la Crear una asociación de sitios en su VMware Cloud Director. Cuando una organización forma parte de una asociación, los usuarios de la organización pueden utilizar el VMware Cloud Director Tenant Portal a fin de acceder a los activos de la organización en cualquier sitio miembro, aunque cada organización miembro y sus activos son locales para el sitio que ocupan.
Los sitios deben tener la misma versión de API de VMware Cloud Director o una versión principal de diferencia. Por ejemplo, puede asociar un sitio de VMware Cloud Director 10.1 (versión de API 34.0) con un sitio de VMware Cloud Director versión 10.0, 10.1, 10.2 o 10.2.2, con las respectivas versiones de API 33.0, 34.0, 35.0 o 35.2.
Tras asociar dos sitios, puede usar la API de VMware Cloud Director o el VMware Cloud Director Tenant Portal para asociar las organizaciones que ocupan dichos sitios. Consulte el tema Guía de programación de API de VMware Cloud Director o Configurar y administrar implementaciones de varios sitios en Guía para subproveedores y tenants de VMware Cloud Director.
Un sitio o una organización puede formar un número ilimitado de asociaciones con un elemento de su mismo nivel, pero cada asociación incluye exactamente dos miembros. Cada sitio u organización debe tener su propia clave privada. Los miembros de la asociación establecen una relación de confianza mediante el intercambio de claves públicas, que se usan para comprobar las solicitudes firmadas de un miembro a otro.
Cada sitio de una asociación se define por el ámbito de un grupo de servidores de VMware Cloud Director (un grupo de servidores que comparten una base de datos de VMware Cloud Director). Cada organización en una asociación ocupa un sitio. El administrador de la organización controla el acceso de usuarios y grupos de la organización a los activos de cada sitio miembro.
Objetos de sitio y asociaciones de sitio
El proceso de instalación o actualización crea un objeto de Site que representa el grupo de servidores local de VMware Cloud Director. Un administrador del sistema cuya autoridad se extienda a más de un grupo de servidores de VMware Cloud Director puede configurar esos grupos del servidor como si se tratara de una asociación de sitios de VMware Cloud Director.
Nombres de sitio
GET https://Site-B.example.com/api/site ... <Site name="b5920690-fe13-4c31-8e23-9e86005e7a7b" ...> ... <RestEndpoint>https://Site-A.example.com/api/org/Org-A</RestEndpoint> <RestEndpointCertificate>-----BEGIN CERTIFICATE----- MIIDDTCCAfWgAwIBAgI...Ix0eSE= -----END CERTIFICATE----- </RestEndpointCertificate> ... </Site>Si bien no es necesario que el nombre del sitio coincida con el nombre de host del endpoint de API, un administrador del sistema puede actualizar el nombre del sitio por comodidad para los usuarios de la API de VMware Cloud Director, con una solicitud como la siguiente:
PUT https://Site-B.example.com/api/site content-type: application/vnd.vmware.vcloud.site+xml ... <Site name="Site-B" ...> ... <RestEndpoint>https://Site-A.example.com/api/org/Org-A</RestEndpoint> <RestEndpointCertificate>-----BEGIN CERTIFICATE----- MIIDDTCCAfWgAwIBAgI...Ix0eSE= -----END CERTIFICATE----- </RestEndpointCertificate> ... </Site>El elemento Site del cuerpo de la solicitud debe conservar el formato con el que lo devolvió la solicitud
GET .../site
. Los caracteres adicionales, particularmente los retornos de carro, los avances de línea o los espacios, anteriores o posteriores a los certificados pueden provocar una excepción de solicitud incorrecta en el sistema.
Asociaciones de organizaciones
Encabezados de autorización y distribución ramificada de solicitudes
La respuesta de Session a una solicitud de inicio de sesión correcta incluye tanto un encabezado X-VMWARE-VCLOUD-ACCESS-TOKEN (cuyo valor es una clave codificada que puede utilizar) como el valor del encabezado X-VMWARE-VCLOUD-TOKEN-TYPE para generar un encabezado Authorization de JWT con el fin de incluirlo en posteriores solicitudes en lugar del encabezado x-vcloud-authorization obsoleto, el cual no le autentica ante miembros de la asociación. Consulte Crear una sesión de API de VMware Cloud Director para obtener más información sobre cómo iniciar sesión en la API de VMware Cloud Director.
Puede realizar solicitudes que se distribuyan a varios miembros de la asociación especificando el par multisite=valor en el encabezado Accept. Si desea que la solicitud se distribuya, el valor puede ser global o una lista separada por dos puntos de los identificadores de ubicación. Para obtener información sobre cómo conseguir los identificadores de ubicación, consulte Ubicaciones autorizadas. Cuando el valor se establece como local, la solicitud no se distribuye, pero incluye metadatos multisitio incluidos en la distribución.
Accept: application/*;version=30.0;multisite=global
Puede especificar una lista separada por dos puntos de identificadores de ubicación (por ejemplo, multisite=ID-a:ID-b:ID-x). A menos que incluya este valor en el encabezado Accept, la solicitud solo devuelve los recursos que pertenezcan a la organización que es el destino de la solicitud. A menos que realice una solicitud a la misma organización en la que se ha autenticado, también debe incluir un encabezado X-VMWARE-VCLOUD-AUTH-CONTEXT que especifique el nombre de la organización que satisfará la solicitud.
- rel="fanout:failed"
- El estado del miembro era ACTIVE, pero no se ha podido autenticar en el miembro por algún otro motivo.
- rel="fanout:skipped"
- La autenticación en el miembro se ha omitido porque el estado de la asociación era ASYMMETRIC o UNREACHABLE.
Ubicaciones autorizadas
- Sitio-A.ejemplo.com y Sitio-B.ejemplo.com están asociados.
- El usuario inicia sesión en Sitio-A como administrador del sistema.
POST https://Site-A.example.com/api/sessions Authorization: Basic ... Accept: application/*;version=30.0 ...
200 OK ... X-VMWARE-VCLOUD-ACCESS-TOKEN: eyJhbGciOiJSUzI1NiJ9....Rn4Xw X-VMWARE-VCLOUD-TOKEN-TYPE: Bearer Content-Type: application/vnd.vmware.vcloud.session+xml;version=30.0;multisite=global ... <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Session ... ... <AuthorizedLocations> <Location> <LocationId>a93c9db9-7471-3192-8d09-a8f7eeda85f9@9a41... </LocationId> <SiteName>Site-A</SiteName> <OrgName>System</OrgName> <RestApiEndpoint>https://site-a.example.com </RestApiEndpoint> <UIEndpoint>https://site-a.example.com </UIEndpoint> <AuthContext>System</AuthContext> </Location> <Location> <LocationId>a93c9db9-7471-3192-8d09-a8f7eeda85f9@4f56... </LocationId> <SiteName>Site-B</SiteName> <OrgName>System</OrgName> <RestApiEndpoint>https://site-b.example.com </RestApiEndpoint> <UIEndpoint>https://site-b.example.com </UIEndpoint> <AuthContext>System</AuthContext> </Location> </AuthorizedLocations> </Session>
Identidades de grupo y usuario
Las asociaciones de sitios y organizaciones deben aceptar usar el mismo proveedor de identidades (IDP). Las identidades de los usuarios y grupos que componen todas las organizaciones de la asociación deben administrarse mediante este IDP.
Las asociaciones pueden elegir el IDP que mejor les funcione. Consulte la Administrar proveedores de identidad en VMware Cloud Director.
A partir de VMware Cloud Director 10.4.1, las cuentas de servicio pueden administrar y supervisar varios grupos de servidores o instalaciones de VMware Cloud Director distribuidas geográficamente y sus organizaciones como entidades únicas mediante la función multisitio. Si una cuenta de servicio realiza una solicitud a una organización diferente de aquella en la que está autenticada, compruebe que la cuenta de servicio existe en la organización asociada y que tiene el mismo nombre y el mismo identificador de software. Consulte la Administrar cuentas de servicio en VMware Cloud Director.
Control de acceso del sitio para grupos y usuarios de la organización
Los administradores de organización pueden configurar su IDP para que genere tokens de acceso para grupos o usuarios que sean válidos en todos los sitios miembro, o bien que solo sean válidos en un subconjunto de sitios miembro. Aunque las identidades de usuario y grupo deben ser las mismas en todas las organizaciones miembro, los derechos de usuario y grupo están limitados por las funciones asignadas a dichos usuarios y grupos en cada organización miembro. La asignación de una función a un usuario o un grupo se realiza de forma local en cada organización miembro del mismo modo que las funciones personalizadas que se crean.
Requisitos de equilibrador de carga
Para que una implementación de varios sitios sea eficaz, hay que configurar un equilibrador de carga que distribuya las solicitudes que llegan a un endpoint institucional, como https://vcloud.example.com, hasta los endpoints de cada miembro de la asociación de sitios (por ejemplo, https://us.vcloud.example.com y https://uk.vcloud.example.com). Si un sitio tiene más de una celda, también se debe configurar un equilibrador de carga que distribuya las solicitudes entrantes entre todas sus celdas, de manera que una solicitud a https://us.vcloud.example.com la pueda procesar https://cell1.us.vcloud.example.com, https://cell2.us.vcloud.example.com, etc.
A partir VMware Cloud Director 10.3, se redireccionan todas las solicitudes de cliente que llegan al endpoint de equilibrio de carga para una implementación multisitio. Cuando una solicitud llega al endpoint de equilibrio de carga, incluso si el sitio en el que llega la solicitud es el correcto, se emite un redireccionamiento y se refleja en la URL visible para el usuario para especificar que la solicitud se dirige a la ubicación correcta.
Por ejemplo, puede tener una implementación que consta de dos sitios (https://site1.vcloud.example.com y https://site2.vcloud.example.com) detrás de un endpoint de equilibrio de carga global https://us.vcloud.example.com. A partir de VMware Cloud Director 10.3, cuando una solicitud llega al endpoint de equilibrio de carga de una organización ubicada en el sitio 1 - https://us.vcloud.example.com/org1, si la solicitud llega al sitio 1, el sitio emite un redireccionamiento a sí mismo reenviando la solicitud a https://site1.vcloud.example.com/org1. VMware Cloud Director 10.2.x y versiones anteriores no emiten redireccionamientos cuando un equilibrador de carga recibe una solicitud de una organización que se encuentra en el mismo lugar y la solicitud se atiende a través de la URL del endpoint público https://us.vcloud.example.com/org1.
Requisitos de conectividad de red
Si desea utilizar la función multisitio, cada celda de cada sitio debe poder realizar solicitudes de REST API a los endpoints de REST API de todos los sitios. Si utiliza los ejemplos de la sección Requisitos de equilibrador de carga, cell1.us.vcloud.example.com y cell2.us.vcloud.example.com, debe poder acceder al endpoint de REST API para uk.example.com. Lo contrario sucede con todas las celdas en uk.example.com. Esto significa que una celda también debe poder realizar llamadas de REST API a su propio endpoint de REST API, por lo que cell1.us.vcloud.example.com debe poder realizar una llamada de REST API a https://us.vcloud.example.com.
Es necesario realizar solicitudes de REST API a los endpoints de REST API de todos los sitios para la distribución de REST API. Por ejemplo, si la interfaz de usuario o un cliente de API realiza una solicitud multisitio para obtener una página de organizaciones de todos los sitios y cell1.us.vcloud.example.com da respuesta a la solicitud. El grupo cell1
debe realizar una llamada de REST API para obtener una página de organizaciones de cada sitio mediante el endpoint de REST API configurado para ese sitio. Cuando todos los sitios devuelven su página de organizaciones, cell1
recopila los resultados y devuelve una única página de resultados que contiene los datos del resto de los sitios.
Sitios y certificados
Cuando un sitio está asociado a otros sitios, si actualiza su certificado, es posible que deba hacer que los otros sitios sepan del cambio. Si no permite que los otros sitios estén al corriente del cambio de certificado, la distribución multisitio se puede ver afectada.
Si va a reemplazar un certificado en un sitio por un certificado válido y correctamente firmado, no es necesario que informe a los otros sitios. Debido a que el certificado es válido y está correctamente firmado, las celdas de otros sitios pueden seguir conectándose a él de forma segura sin interrupciones.
Estado de miembro de la asociación
- ACTIVE
- La asociación se ha establecido por ambas partes y la comunicación con la parte remota se ha realizado correctamente.
- ASYMMETRIC
- La asociación se ha establecido en el sitio local, pero el sitio remoto todavía no ha correspondido.
- UNREACHABLE
- Ambas partes han creado una asociación, pero actualmente no se puede acceder al sitio remoto en la red.
En Service Provider Admin Portal y Tenant Portal, los estados aparecen como Connected
, Partially Connected
y Unreachable
.
El proceso de "latido" de estado del miembro se ejecuta con la identidad del usuario del sistema multisitio, una cuenta de usuario local de VMware Cloud Director creada en la organización del sistema durante la instalación de VMware Cloud Director. Aunque esta cuenta forma parte de la organización del sistema, no tiene derechos de administrador del sistema. Solo tiene el derecho Multisite: System Operations
, que le da permiso para realizar una solicitud de API de VMware Cloud Director para recuperar el estado del miembro remoto de una asociación de sitios.