Passer au contenu

Comment redimensionner un cluster Amazon Redshift ?

Lecture de 6 minute(s)
0

Je souhaite redimensionner un cluster Amazon Redshift et savoir comment le redimensionnement affecte les performances et la facturation.

Brève description

Pour redimensionner votre cluster, utilisez le redimensionnement Elastic ou le redimensionnement classique. Il est recommandé d'utiliser le redimensionnement Elastic si votre cluster est éligible. Si votre cluster n'est pas éligible, utilisez le redimensionnement classique.

Résolution

Déterminer l'éligibilité de votre cluster

Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'AWS CLI.

Pour vérifier si votre cluster est éligible au redimensionnement Elastic, exécutez la commande describe-node-configuration-options de l'interface de ligne de commande AWS :

aws redshift describe-node-configuration-options --cluster-identifier example-cluster-id --action-type resize-cluster

Remarque : Remplacez example-cluster-id par l’ID de votre cluster.

Si le cluster est éligible au redimensionnement Elastic, la sortie ressemble à ce qui suit :

{
  "NodeConfigurationOptionList": [
    {
      "NodeType": "dc2.large",
      "NumberOfNodes": 2,
      "EstimatedDiskUtilizationPercent": 0.01
    },
    {
      "NodeType": "ra3.16xlarge",
      "NumberOfNodes": 2,
      "EstimatedDiskUtilizationPercent": 0.01
    }
  ]
}

Si le cluster n'est pas éligible au redimensionnement Elastic, la sortie ressemble à ce qui suit :

{
  "NodeConfigurationOptionList": []
}

Réduire le temps de fonctionnement

Lorsque vous utilisez le redimensionnement Elastic pour un cluster avec le même type de nœud, l'opération ne crée pas de nouveau cluster et se termine rapidement.

Lorsque vous utilisez le redimensionnement classique, la durée de fonctionnement dépend des facteurs suivants :

  • La charge de travail sur le cluster source.
  • Le nombre et la taille des tables que vous transférez du cluster source vers le cluster cible.
  • La distribution des données entre les nœuds et les tranches de calcul.
  • La configuration du nœud dans les clusters source et cible.

Pour réduire la durée d'un redimensionnement classique, effectuez les opérations suivantes :

  • Migrez vers un type de nœud RA3.
  • Identifiez et corrigez les tables asymétriques. Pour identifier les tables asymétriques, exécutez le script d'inspecteur de tables AWS Labs. Pour plus d'informations, consultez la page table_inspector sur le site Web de GitHub. Pour corriger les tables asymétriques, choisissez une clé de distribution appropriée.
  • Supprimez les tables non utilisées. Pour identifier les tables non utilisées, exécutez le script de résumé des tables non scannées d'AWS Labs. Pour plus d'informations, consultez la page unscanned_table_summary sur le site Web de GitHub.
    Remarque : Le résumé des tables non scannées ne présente que l'historique récent des 2 à 5 derniers jours. Pour capturer les données d'utilisation sur une période plus longue, utilisez l'utilitaire de persistance des objets système. Pour plus d'informations, consultez la page SystemTablePersistence sur le site Web de GitHub.
  • Identifiez les données de table manquantes. Pour identifier les données de table manquantes, utilisez le script missing_table_stats d’AWS Labs. Pour plus d'informations, consultez la page missing_table_stats sur le site Web de GitHub. Puis, exécutez la commande ANALYSER sur ces tables.

Pour plus d'informations sur l'optimisation des performances de redimensionnement, reportez-vous à 10 meilleures techniques d'optimisation des performances pour Amazon Redshift. Pour vérifier l'état de votre opération de redimensionnement à l'aide de la console Amazon Redshift, choisissez l'onglet État sur la page des détails du cluster. L'onglet État indique le taux de transfert moyen, le temps écoulé et le temps restant.

Redimensionner votre cluster

Utilisez le redimensionnement Elastic pour modifier le type de nœud de votre cluster, le nombre de nœuds, ou les deux.

Utilisez le redimensionnement classique lorsque le redimensionnement Elastic ne prend pas en charge la modification dans la taille du cluster ou du nœud.

Résoudre les problèmes liés à votre opération de redimensionnement

Lors d'une opération de redimensionnement, la taille de votre table peut augmenter ou diminuer. Pour plus d'informations, consultez la section Pourquoi une table d'un cluster provisionné par Amazon Redshift consomme-t-elle plus ou moins d'espace de stockage sur disque que prévu ?

Si l’état de votre cluster est AUCUN dans l'AWS CLI, Amazon Redshift est toujours en cours de provisionnement du cluster cible. Votre cluster cible n'effectue aucune copie tant que l’étape de provisionnement n'est pas terminée. Une fois qu'Amazon Redshift a provisionné votre cluster cible, l’état passe à IN_PROGRESS.

Si vos AWS CloudFormation StackSets ne sont pas redimensionnés et que vous recevez un message d'erreur interne, vérifiez si le cluster est éligible au redimensionnement Elastic. Le message d'erreur est similaire à l’exemple suivant : « An internal error has occurred. Please try your query again at a later time. » Ce message apparaît parce qu’une pile CloudFormation utilise le redimensionnement Elastic et que Classic:false est défini par défaut.

Si vous recevez le message d'erreur « Please choose a larger target cluster », alors vos données ne tiennent pas dans le cluster cible. Redimensionnez votre cluster Amazon Redshift avec plus de nœuds ou un type de nœud différent.

Pour annuler une opération de redimensionnement classique avant la fin de l'opération, choisissez Annuler le redimensionnement dans la liste de clusters de la console Amazon Redshift.

Facturation des clusters redimensionnés

Pendant l'opération de redimensionnement, AWS vous facture les clusters qui sont mis à votre disposition. Par exemple, pendant l'opération de redimensionnement, AWS vous facture la configuration source. Une fois le redimensionnement terminé, AWS ne vous facture plus la configuration source. La facturation commence pour la configuration cible dès que l'état du cluster passe à Disponible.

Lorsque vous redimensionnez des types de nœuds de plus petite taille (grand, xlarge) en types de nœuds de plus grande taille (8xlarge), votre cluster a besoin de plus d'espace de stockage par nœud. Plus le stockage par nœud est important, plus les métadonnées écrites lors de l'exécution d'une opération COMMIT sont nombreuses. Par conséquent, le coût de base d'une seule opération COMMIT est plus élevé pour les nœuds plus grands. Si vous exécutez plusieurs petites opérations COMMIT simultanément, vous risquez de voir les performances diminuer. Pour améliorer les performances, regroupez plusieurs modifications en une seule opération COMMIT.

Si vous avez acheté des instances réservées, votre facturation dépend de la configuration du cluster redimensionné, des types de nœuds réservés et du nombre de nœuds réservés. Pour plus d'informations, reportez-vous à la section Comment fonctionnent les nœuds réservés.

Informations connexes

Résolution des problèmes de connexion dans Amazon Redshift

Création de tests de référence de haute qualité pour Amazon Redshift à l'aide de SQLWorkbench et psql

Opérations de cluster

AWS OFFICIELA mis à jour il y a 7 mois