Découvrez l'équilibrage de charge StorageGRID
Vous pouvez utiliser l'équilibrage de charge pour gérer les charges de travail d'ingestion et de récupération des clients S3.
Qu'est-ce que l'équilibrage de charge ?
Lorsqu'une application cliente enregistre ou récupère des données depuis un système StorageGRID, StorageGRID utilise un équilibreur de charge pour gérer la charge de travail d'ingestion et de récupération. L'équilibrage de charge optimise la vitesse et la capacité de connexion en répartissant la charge de travail sur plusieurs nœuds de stockage.
Le service d'équilibrage de charge StorageGRID est installé sur tous les nœuds d'administration et tous les nœuds de passerelle et assure l'équilibrage de charge de couche 7. Il effectue la terminaison TLS (Transport Layer Security) des requêtes client, les inspecte et établit de nouvelles connexions sécurisées avec les nœuds de stockage.
Le service d'équilibrage de charge de chaque nœud fonctionne indépendamment lors de la répartition du trafic client vers les nœuds de stockage. Grâce à un processus de pondération, le service d'équilibrage de charge achemine davantage de requêtes vers les nœuds de stockage disposant d'une plus grande disponibilité de processeur.
|
|
Bien que le service StorageGRID Load Balancer soit le mécanisme d'équilibrage de charge recommandé, vous pouvez également intégrer un équilibreur de charge tiers. Pour plus d'informations, contactez votre représentant de compte NetApp ou consultez "Utilisez des équilibreurs de charge tiers avec StorageGRID". |
De combien de nœuds d'équilibrage de charge avez-vous besoin ?
En bonne pratique, chaque site de votre système StorageGRID devrait comporter au moins deux nœuds avec le service d'équilibrage de charge. Par exemple, un site peut inclure deux nœuds de passerelle ou à la fois un nœud d'administration et un nœud de passerelle. Assurez-vous de disposer d'une infrastructure réseau, matérielle ou de virtualisation adéquate pour chaque nœud d'équilibrage de charge, que vous utilisiez des appliances de services, des nœuds bare metal ou des nœuds basés sur des machines virtuelles (VM).
Qu'est-ce qu'un point de terminaison d'équilibrage de charge ?
Un point de terminaison d'équilibrage de charge définit le port et le protocole réseau (HTTPS ou HTTP) que les requêtes entrantes et sortantes des applications clientes utiliseront pour accéder aux nœuds qui contiennent le service Load Balancer. Ce point de terminaison définit également le type de client (S3), le mode de liaison et, éventuellement, une liste de locataires autorisés ou bloqués.
Pour créer un point de terminaison d'équilibrage de charge, utilisez Grid Manager ou terminez la configuration S3 et les assistants FabricPool :
Considérations relatives à la mise en cache de l'équilibreur de charge
La mise en cache améliore considérablement les performances lorsqu'une charge de travail traite un sous-ensemble de données et accède plusieurs fois aux objets. De plus, la mise en cache permet un accès distant au stockage d'objets sans déploiement complet de la grille. La mise en cache de l'équilibreur de charge est disponible uniquement pour les Gateway Nodes.
Lors de la création des points de terminaison de l'équilibreur de charge :
-
N'activez la mise en cache que pour les charges de travail pouvant être mises en cache. Les charges de travail accédant plus fréquemment aux données non mises en cache qu'aux données mises en cache auront des performances inférieures à celles qui n'auraient pas été prises en charge par le cache. Dans certains cas, les charges de travail avec des taux élevés de réécriture et d'éviction peuvent également dépasser l'endurance d'écriture garantie du disque.
-
Envisagez d'ajouter des points de terminaison ou des nœuds supplémentaires pour la mise en cache des charges de travail individuelles qui sont de bons candidats pour la mise en cache.
-
Utilisez des points de terminaison distincts pour les charges de travail pouvant être mises en cache et celles qui ne le peuvent pas. Cette séparation garantit que les mécanismes de mise en cache sont appliqués correctement et n'interfèrent pas avec le traitement des données non mises en cache.
-
Évaluez la pertinence d'une charge de travail pouvant être mise en cache en la dirigeant vers le point de terminaison compatible avec la mise en cache. Surveillez et vérifiez le taux d'accès au cache afin de déterminer si la charge de travail est adaptée à la mise en cache. Cette évaluation contribue à optimiser les performances et à garantir une utilisation efficace des ressources du cache.
-
"Examiner les journaux d'audit" pour déterminer si une charge de travail existante serait un bon candidat pour la mise en cache. Pour une période donnée, déterminez quel pourcentage des requêtes GET concerne des objets uniques. Pour être adaptée à la mise en cache, cette valeur doit être inférieure à 50 %.
Exemples de charges de travail qui pourraient être de bons candidats pour la mise en cache
-
lacs de données
-
Calcul haute performance (HPC)
-
Entraînement IA/ML
-
Réseaux de distribution de contenu (CDN)
-
gestion des ressources média
-
Production vidéo
|
|
|
Exemples de charges de travail qui ne sont pas de bons candidats pour la mise en cache
-
FabricPool
-
Applications de sauvegarde
-
hiérarchisation du stockage
|
|
Si un contenu quelconque à servir par le cache nécessite un chiffrement au repos, "activer le chiffrement du nœud ou du disque" sur le nœud de cache. |
Types d'objets et de requêtes qui ne seront pas mis en cache
-
Le
response-content-encodingparamètre de requête -
Le
partNumberparamètre de requête -
En-têtes conditionnels
-
If-Match -
If-Modified-Since -
If-None-Match -
If-Unmodified-Since
-
-
Les requêtes qui ont été chiffrées au repos avec l’un des éléments suivants :
-
SSE (chiffrement côté serveur avec des clés gérées par StorageGRID)
-
SSE-C (chiffrement côté serveur avec clés fournies par le client)
-
Chiffrement des objets stockés
-
Toute requête qui n'est pas mise en cache est transmise à un LDR en amont comme si le cache n'était pas activé.
-
Pour plus d'informations sur la mise en cache de l'équilibreur de charge, contactez le support technique.
Considérations relatives au port
Le port d’un point de terminaison d’équilibrage de charge est par défaut 10433 pour le premier point de terminaison que vous créez, mais vous pouvez spécifier n’importe quel port externe inutilisé entre 1 et 65535. Si vous utilisez le port 80 ou 443, le point de terminaison utilisera le service Load Balancer uniquement sur les Gateway Nodes. Ces ports sont réservés sur les Admin Nodes. Si vous utilisez le même port pour plus d’un point de terminaison, vous devez spécifier un mode de liaison différent pour chaque point de terminaison.
Les ports utilisés par d'autres services de grid ne sont pas autorisés. Voir "Ports internes de StorageGRID".
Considérations relatives au protocole réseau
Dans la plupart des cas, les connexions entre les applications clientes et StorageGRID doivent utiliser le chiffrement Transport Layer Security (TLS). La connexion à StorageGRID sans chiffrement TLS est possible, mais déconseillée, notamment en environnement de production. Lorsque vous sélectionnez le protocole réseau pour le point de terminaison de l'équilibreur de charge StorageGRID, vous devez choisir HTTPS.
Considérations relatives aux certificats des points de terminaison de l'équilibreur de charge
Si vous sélectionnez HTTPS comme protocole réseau pour le point de terminaison de l'équilibreur de charge, vous devez fournir un certificat de sécurité. Vous pouvez utiliser l'une de ces trois options lors de la création du point de terminaison de l'équilibreur de charge :
-
Téléchargez un certificat signé (recommandé). Ce certificat peut être signé par une autorité de certification (CA) publique ou privée. Utiliser un certificat de serveur CA public pour sécuriser la connexion est la bonne pratique. Contrairement aux certificats générés, les certificats signés par une CA peuvent être renouvelés sans interruption, ce qui permet d’éviter les problèmes d’expiration.
Vous devez obtenir les fichiers suivants avant de créer le point de terminaison de l'équilibreur de charge :
-
Le fichier de certificat serveur personnalisé.
-
Le fichier de clé privée du certificat serveur personnalisé.
-
En option, un ensemble de certificats CA provenant de chaque autorité de certification émettrice intermédiaire.
-
-
Générez un certificat auto-signé.
-
Utilisez le certificat S3 global StorageGRID. Vous devez importer ou générer une version personnalisée de ce certificat avant de pouvoir le sélectionner pour le point de terminaison de l’équilibreur de charge. Voir "Configurer les certificats de l’API S3".
De quelles valeurs avez-vous besoin ?
Pour créer le certificat, vous devez connaître tous les noms de domaine et adresses IP que les applications clientes S3 utiliseront pour accéder au point de terminaison.
L'entrée Subject DN (Nom distinctif) du certificat doit inclure le nom de domaine complet que l'application cliente utilisera pour StorageGRID. Par exemple :
Subject DN: /C=Country/ST=State/O=Company,Inc./CN=s3.storagegrid.example.com
Conformément aux exigences, le certificat peut utiliser des caractères génériques pour représenter les noms de domaine complets de tous les nœuds d'administration et les nœuds de passerelle exécutant le service Load Balancer. Par exemple, *.storagegrid.example.com utilise le caractère générique * pour représenter adm1.storagegrid.example.com et gn1.storagegrid.example.com.
Si vous prévoyez d'utiliser des requêtes de type hébergement virtuel S3, le certificat doit également inclure une entrée Nom alternatif pour chaque "nom de domaine du terminal S3" que vous avez configuré, y compris tout nom générique. Par exemple :
Alternative Name: DNS:*.s3.storagegrid.example.com
|
|
Si vous utilisez des caractères génériques pour les noms de domaine, consultez la "Recommandations pour le renforcement de la sécurité des certificats de serveur". |
Vous devez également définir une entrée DNS pour chaque nom figurant dans le certificat de sécurité.
Comment gérer les certificats qui expirent ?
|
|
Si le certificat utilisé pour sécuriser la connexion entre l'application S3 et StorageGRID expire, l'application risque de perdre temporairement l'accès à StorageGRID. |
Pour éviter les problèmes d'expiration de certificat, suivez ces bonnes pratiques :
-
Surveillez attentivement toutes les alertes signalant l'approche des dates d'expiration des certificats, telles que les alertes Expiration of load balancer endpoint certificate et Expiration of global server certificate for S3 API.
-
Veillez à toujours synchroniser les versions du certificat de StorageGRID et de l'application S3. Si vous remplacez ou renouvelez le certificat utilisé pour un point de terminaison d'équilibrage de charge, vous devez également remplacer ou renouveler le certificat équivalent utilisé par l'application S3.
-
Utilisez un certificat signé par une autorité de certification (CA) publique. Si vous utilisez un certificat signé par une CA, vous pouvez remplacer les certificats arrivant bientôt à expiration sans interruption de service.
-
Si vous avez généré un certificat StorageGRID auto-signé et que ce certificat est sur le point d’expirer, vous devez le remplacer manuellement à la fois dans StorageGRID et dans l’application S3 avant l’expiration du certificat existant.
Considérations relatives au mode de liaison
Le mode de liaison permet de contrôler les adresses IP qui peuvent être utilisées pour accéder à un point de terminaison d'équilibreur de charge. Si un point de terminaison utilise un mode de liaison, les applications clientes ne peuvent accéder au point de terminaison que si elles utilisent une adresse IP autorisée ou son domaine complet (FQDN) correspondant. Les applications clientes utilisant toute autre adresse IP ou tout autre FQDN ne peuvent pas accéder au point de terminaison.
Vous pouvez spécifier l'un des modes de liaison suivants :
-
Global (par défaut) : les applications clientes peuvent accéder au point de terminaison via l’adresse IP de n’importe quel nœud de passerelle ou nœud d’administration, l’adresse IP virtuelle (VIP) de n’importe quel groupe HA sur n’importe quel réseau, ou un domaine complet (FQDN) correspondant. Utilisez ce paramètre sauf si vous devez restreindre l’accessibilité d’un point de terminaison.
-
Adresses IP virtuelles des groupes HA. Les applications clientes doivent utiliser une adresse IP virtuelle (ou le nom de domaine complet correspondant) d'un groupe HA.
-
Interfaces de nœud. Les clients doivent utiliser les adresses IP (ou les domaines complets correspondants) des interfaces de nœud sélectionnées.
-
Type de nœud. En fonction du type de nœud que vous sélectionnez, les clients doivent utiliser soit l'adresse IP (ou le domaine complet correspondant) de n'importe quel nœud d'administration, soit l'adresse IP (ou le domaine complet correspondant) de n'importe quel nœud de passerelle.
Considérations relatives à l'accès des locataires
Le contrôle d'accès des locataires est une fonctionnalité de sécurité optionnelle qui vous permet de contrôler quels comptes locataires StorageGRID peuvent utiliser un point de terminaison d'équilibrage de charge pour accéder à leurs compartiments. Vous pouvez autoriser tous les locataires à accéder à un point de terminaison (par défaut), ou spécifier une liste de locataires autorisés ou bloqués pour chaque point de terminaison.
Vous pouvez utiliser cette fonctionnalité pour offrir une meilleure isolation de sécurité entre les locataires et leurs terminaux. Par exemple, vous pouvez utiliser cette fonctionnalité pour garantir que les documents ultra-confidentiels ou hautement classifiés appartenant à un locataire restent totalement inaccessibles aux autres locataires.
|
|
Aux fins du contrôle d'accès, le locataire est déterminé à partir des clés d'accès utilisées dans la requête du client ; si aucune clé d'accès n'est fournie dans le cadre de la requête (comme dans le cas d'accès anonyme), le propriétaire du compartiment est utilisé pour déterminer le locataire. |
Exemple d'accès locataire
Pour comprendre le fonctionnement de cette fonction de sécurité, considérez l'exemple suivant :
-
Vous avez créé deux points de terminaison d'équilibrage de charge, comme suit :
-
Point de terminaison public : utilise le port 10443 et permet l’accès à tous les tenants.
-
Point d'accès Top secret : utilise le port 10444 et autorise l'accès uniquement au locataire Top secret. Tous les autres locataires sont bloqués de l'accès à ce point d'accès.
-
-
Le
top-secret.pdfse trouve dans un compartiment appartenant au locataire Top secret.
Pour accéder à top-secret.pdf, un utilisateur du locataire Top secret peut envoyer une requête GET à https://w.x.y.z:10444/top-secret.pdf. Ce locataire étant autorisé à utiliser le point de terminaison 10444, l'utilisateur peut accéder à l'objet. Cependant, si un utilisateur appartenant à un autre locataire envoie la même requête à la même URL, il reçoit immédiatement un message Accès refusé. L'accès est refusé même si les identifiants et la signature sont valides.
disponibilité du processeur
Le service d'équilibrage de charge sur chaque nœud d'administration et de passerelle fonctionne indépendamment lors de l'acheminement du trafic S3 vers les nœuds de stockage. Grâce à un processus de pondération, le service d'équilibrage de charge dirige davantage de requêtes vers les nœuds de stockage disposant d'une plus grande disponibilité CPU. Les informations sur la charge CPU des nœuds sont mises à jour toutes les quelques minutes, mais la pondération peut être actualisée plus fréquemment. Tous les nœuds de stockage se voient attribuer une valeur de poids minimale, même si un nœud signale une utilisation de 100 % ou ne parvient pas à signaler son utilisation.
Dans certains cas, les informations relatives à la disponibilité du processeur sont limitées au site où se trouve le service de Load Balancer.