Configurar las conexiones y las cuentas de inquilino
Para configurar StorageGRID para aceptar conexiones desde aplicaciones cliente, es necesario crear una o más cuentas de inquilino y configurar las conexiones.
Crear y configurar cuentas de inquilinos de Swift
Se requiere una cuenta de inquilino de Swift para que los clientes de la API de Swift puedan almacenar y recuperar objetos en StorageGRID. Cada cuenta de inquilino tiene su propio ID de cuenta, grupos y usuarios, y contenedores y objetos.
Las cuentas de inquilino de Swift las crea un administrador de grid de StorageGRID mediante Grid Manager o la API de gestión de grid.
Al crear una cuenta de inquilino de Swift, el administrador de grid especifica la siguiente información:
-
Nombre para mostrar del inquilino (el ID de cuenta del inquilino se asigna automáticamente y no se puede cambiar)
-
Opcionalmente, una cuota de almacenamiento para la cuenta de inquilino: El número máximo de gigabytes, terabytes o petabytes disponibles para los objetos del inquilino. La cuota de almacenamiento de un inquilino representa una cantidad lógica (tamaño de objeto), no una cantidad física (tamaño en disco).
-
Si el sistema StorageGRID no utiliza el inicio de sesión único (SSO), tanto si la cuenta de inquilino usará su propio origen de identidad como si comparte el origen de identidad de la cuadrícula, así como la contraseña inicial del usuario raíz local del inquilino.
-
Si SSO está habilitado, qué grupo federado tiene permiso de acceso raíz para configurar la cuenta de inquilino.
Después de crear una cuenta de inquilino de Swift, los usuarios con permiso de acceso raíz pueden acceder al Administrador de inquilinos para realizar tareas como las siguientes:
-
Configurar la federación de identidades (a menos que el origen de identidades se comparta con la cuadrícula) y crear grupos y usuarios locales
-
Supervisión del uso de almacenamiento
Los usuarios de Swift deben tener el permiso acceso raíz para acceder al Administrador de inquilinos. Sin embargo, el permiso Root Access no permite que los usuarios se autentiquen en la API DE REST de Swift para crear contenedores y procesar objetos. Los usuarios deben tener el permiso de administrador de Swift para autenticarse en la API DE REST de Swift. |
Cómo se pueden configurar las conexiones de clientes
Un administrador de grid toma opciones de configuración que afectan a la forma en que los clientes de Swift se conectan a StorageGRID para almacenar y recuperar los datos. La información específica que necesita para realizar una conexión depende de la configuración elegida.
Las aplicaciones cliente pueden almacenar o recuperar objetos conectándose a cualquiera de los siguientes elementos:
-
El servicio Load Balancer en los nodos de administrador o de puerta de enlace, o bien, de forma opcional, la dirección IP virtual de un grupo de alta disponibilidad (ha) de nodos de administración o nodos de puerta de enlace
-
El servicio CLB en los nodos de puerta de enlace o, opcionalmente, la dirección IP virtual de un grupo de nodos de puerta de enlace de alta disponibilidad
El servicio CLB está obsoleto. Los clientes configurados antes de la versión StorageGRID 11.3 pueden seguir utilizando el servicio CLB en los nodos de puerta de enlace. El resto de aplicaciones cliente que dependen de StorageGRID para proporcionar equilibrio de carga se deben conectar mediante el servicio Load Balancer. -
Nodos de almacenamiento, con o sin un equilibrador de carga externo
Al configurar StorageGRID, un administrador de grid puede utilizar Grid Manager o la API de gestión de grid para realizar los siguientes pasos, todos ellos opcionales:
-
Configure los extremos para el servicio Load Balancer.
Debe configurar los extremos para usar el servicio Load Balancer. El servicio Load Balancer en los nodos de administrador o de puerta de enlace distribuye conexiones de red entrantes desde aplicaciones cliente hasta los nodos de almacenamiento. Al crear un extremo de equilibrio de carga, el administrador de StorageGRID especifica un número de puerto, tanto si el extremo acepta conexiones HTTP o HTTPS, como el tipo de cliente (S3 o Swift) que utilizará el extremo y el certificado que se utilizará para las conexiones HTTPS (si procede).
-
Configure redes de cliente no fiables.
Si un administrador de StorageGRID configura la red cliente de un nodo para que no sea de confianza, el nodo sólo acepta conexiones entrantes en la red cliente en puertos que se configuran explícitamente como extremos equilibradores de carga.
-
Configuración de grupos de alta disponibilidad.
Si un administrador crea un grupo de alta disponibilidad, las interfaces de red de varios nodos de administrador o nodos de puerta de enlace se colocan en una configuración de backup activo. Las conexiones de clientes se realizan mediante la dirección IP virtual del grupo de alta disponibilidad.
Para obtener más información acerca de cada opción, consulte las instrucciones para administrar StorageGRID.
Resumen: Direcciones IP y puertos para conexiones cliente
Las aplicaciones cliente se conectan a StorageGRID mediante la dirección IP de un nodo de grid y el número de puerto de un servicio en ese nodo. Si se configuran los grupos de alta disponibilidad, las aplicaciones cliente se pueden conectar mediante la dirección IP virtual del grupo de alta disponibilidad.
Información necesaria para realizar conexiones de cliente
La tabla resume las distintas maneras en que los clientes pueden conectarse a StorageGRID y las direcciones IP y los puertos que se utilizan para cada tipo de conexión. Póngase en contacto con el administrador de StorageGRID para obtener más información o consulte las instrucciones para administrar StorageGRID para obtener una descripción de cómo encontrar esta información en el administrador de grid.
Dónde se realiza la conexión | Servicio al que se conecta el cliente | Dirección IP | Puerto |
---|---|---|---|
Grupo de ALTA DISPONIBILIDAD |
Equilibrador de carga |
La dirección IP virtual de un grupo de alta disponibilidad |
|
Grupo de ALTA DISPONIBILIDAD |
CLB Nota: el servicio CLB está en desuso. |
La dirección IP virtual de un grupo de alta disponibilidad |
Puertos Swift predeterminados:
|
Nodo de administración |
Equilibrador de carga |
La dirección IP del nodo de administrador |
|
Nodo de puerta de enlace |
Equilibrador de carga |
La dirección IP del nodo de puerta de enlace |
|
Nodo de puerta de enlace |
CLB Nota: el servicio CLB está en desuso. |
La dirección IP del nodo de puerta de enlace Nota: de forma predeterminada, los puertos HTTP para CLB y LDR no están habilitados. |
Puertos Swift predeterminados:
|
Nodo de almacenamiento |
LDR |
La dirección IP del nodo de almacenamiento |
Puertos Swift predeterminados:
|
Ejemplo
Para conectar un cliente Swift al extremo Load Balancer de un grupo de ha de nodos de Gateway, utilice una URL estructurada como se muestra a continuación:
-
https://VIP-of-HA-group:LB-endpoint-port
Por ejemplo, si la dirección IP virtual del grupo de alta disponibilidad es 192.0.2.6 y el número de puerto de un extremo de equilibrio de carga de Swift es 10444, un cliente de Swift puede usar la siguiente URL para conectarse a StorageGRID:
-
https://192.0.2.6:10444
Es posible configurar un nombre DNS para la dirección IP que utilizan los clientes para conectarse a StorageGRID. Póngase en contacto con el administrador de red local.
Decisión de usar conexiones HTTPS o HTTP
Cuando se realizan conexiones de cliente mediante un extremo de equilibrio de carga, es necesario realizar conexiones mediante el protocolo (HTTP o HTTPS) especificado para ese extremo. Para utilizar HTTP para las conexiones de clientes a nodos de almacenamiento o al servicio CLB en nodos de puerta de enlace, debe habilitar su uso.
De forma predeterminada, cuando las aplicaciones cliente se conectan a nodos de almacenamiento o al servicio CLB en nodos de puerta de enlace, deben utilizar HTTPS cifrado para todas las conexiones. Opcionalmente, puede habilitar conexiones HTTP menos seguras seleccionando la opción de cuadrícula Activar conexión HTTP en el Administrador de grid. Por ejemplo, una aplicación cliente puede utilizar HTTP al probar la conexión a un nodo de almacenamiento en un entorno no de producción.
Tenga cuidado al habilitar HTTP para una cuadrícula de producción, ya que las solicitudes se enviarán sin cifrar. |
El servicio CLB está obsoleto. |
Si se selecciona la opción Activar conexión HTTP, los clientes deben utilizar puertos diferentes para HTTP que los que utilizan para HTTPS. Consulte las instrucciones para administrar StorageGRID.
Probar la conexión en la configuración de la API de Swift
Puede usar la interfaz de línea de comandos de Swift para probar la conexión con el sistema StorageGRID y verificar que puede leer y escribir objetos en el sistema.
-
Debe haber descargado e instalado python-swiftclient, el cliente de línea de comandos de Swift.
-
Debe tener una cuenta de inquilino de Swift en el sistema StorageGRID.
Si no ha configurado la seguridad, debe añadir el --insecure
marque cada uno de estos comandos.
-
Consulte la URL de información para la implementación de Swift de StorageGRID:
swift -U <Tenant_Account_ID:Account_User_Name> -K <User_Password> -A https://<FQDN | IP>:<Port>/info capabilities
Esto es suficiente para probar que la implementación de Swift es funcional. Para seguir probando la configuración de la cuenta almacenando un objeto, continúe con los pasos adicionales.
-
Coloque un objeto en el contenedor:
touch test_object swift -U <Tenant_Account_ID:Account_User_Name> -K <User_Password> -A https://<FQDN | IP>:<Port>/auth/v1.0 upload test_container test_object --object-name test_object
-
Obtenga el contenedor para verificar el objeto:
swift -U <Tenant_Account_ID:Account_User_Name> -K <User_Password> -A https://<FQDN | IP>:<Port>/auth/v1.0 list test_container
-
Elimine el objeto:
swift -U <Tenant_Account_ID:Account_User_Name> -K <User_Password> -A https://<FQDN | IP>:<Port>/auth/v1.0 delete test_container test_object
-
Elimine el contenedor:
swift -U `<_Tenant_Account_ID:Account_User_Name_>` -K `<_User_Password_>` -A `\https://<_FQDN_ | _IP_>:<_Port_>/auth/v1.0' delete test_container