Avantages offerts par l'utilisation d'Amazon EMR - Amazon EMR

Avantages offerts par l'utilisation d'Amazon EMR

Il existe de nombreux avantages à l'utilisation d'Amazon EMR. Cette section fournit une présentation de ces avantages et des liens vers des informations supplémentaires qui vous aideront à approfondir le sujet.

Économies sur les coûts

La tarification d'Amazon EMR dépend du type d'instance et du nombre d'instances Amazon EC2 que vous déployez, ainsi que de la région dans laquelle vous lancez votre cluster. La tarification à la demande offre des taux horaires faibles, mais vous pouvez réduire encore le coût en achetant des instances réservées ou en faisant une offre sur des instances Spot. Les instances Spot permettent des économies importantes et peuvent même parfois ne représenter qu'un dixième de la tarification à la demande.

Note

Si vous utilisez Amazon S3, Amazon Kinesis ou DynamoDB avec votre cluster EMR, des frais supplémentaires s'appliquent pour les services qui sont facturés séparément de votre utilisation d'Amazon EMR.

Note

Lorsque vous configurez un cluster Amazon EMR dans un sous-réseau privé, nous vous recommandons de configurer également des points de terminaison VPC pour Amazon S3. Si votre cluster EMR se trouve dans un sous-réseau privé sans points de terminaison VPC pour Amazon S3, vous devrez payer des frais de passerelle NAT supplémentaires associés au trafic S3, car le trafic entre votre cluster EMR et S3 ne restera pas dans votre VPC.

Pour de plus amples informations sur les options et les détails de tarification, veuillez consulter Tarification d'Amazon EMR.

AWSIntégration

Amazon EMR s'intègre à d'autres services AWS pour fournir des capacités et des fonctionnalités de mise en réseau, de stockage, de sécurité, etc., pour votre cluster. La liste suivante fournit plusieurs exemples de cette intégration :

  • Amazon EC2 pour les instances qui incluent les nœuds du cluster ;

  • Amazon Virtual Private Cloud (Amazon VPC) pour configurer le réseau virtuel dans lequel vous devez lancer vos instances ;

  • Amazon S3 pour stocker les données d'entrée et sortie ;

  • Amazon CloudWatch pour surveiller les performances de cluster et configurer des alarmes ;

  • AWS Identity and Access Management (IAM) pour configurer les autorisations IAM ;

  • AWS CloudTrail pour effectuer l'audit des demandes effectuées auprès du service ;

  • AWS Data Pipeline pour planifier et démarrer vos clusters ;

  • AWS Lake Formation pour découvrir, cataloguer et sécuriser des données dans un lac de données Amazon S3.

Déploiement

Votre cluster EMR se compose d'instances EC2, qui effectuent le travail que vous soumettez à votre cluster. Lorsque vous lancez votre cluster, Amazon EMR configure les instances avec les applications que vous choisissez, telles qu'Apache Hadoop ou Spark. Choisissez le type et la taille d'instance qui conviennent le mieux aux besoins de traitement pour votre cluster : traitement par lots, requêtes à faible latence, streaming de données ou stockage de données volumineuses. Pour plus d'informations sur les types d'instances disponibles pour Amazon EMR, consultez Configuration du matériel et de la mise en réseau d'un cluster.

Amazon EMR offre diverses façons de configurer des logiciels sur votre cluster. Par exemple, vous pouvez installer une version Amazon EMR avec un ensemble choisi d'applications qui peut inclure des infrastructures polyvalentes, telles que Hadoop, et des applications, telles que Hive, Pig ou Spark. Vous pouvez également installer l'une des nombreuses distributions MapR. Amazon EMR utilise Amazon Linux. Vous pouvez donc également installer le logiciel sur votre cluster manuellement à l'aide du gestionnaire de packages yum ou à partir de la source. Pour de plus amples informations, veuillez consulter Configuration des logiciels de cluster.

Capacité de mise à l'échelle et flexibilité

Amazon EMR offre une grande flexibilité pour augmenter ou réduire votre cluster lorsque vos besoins informatiques évoluent. Vous pouvez redimensionner votre cluster pour ajouter des instances pour les charges de travail des périodes de pointe et supprimer des instances pour contrôler les coûts en dehors des périodes de pointe. Pour de plus amples informations, veuillez consulter Redimensionnement manuel d'un cluster en cours d'exécution.

Amazon EMR offre également la possibilité d'exécuter plusieurs groupes d'instances pour vous permettre d'utiliser les instances à la demande dans un groupe afin de garantir la puissance de traitement, et les instances Spot dans un autre groupe afin de terminer plus rapidement et à meilleur coût vos tâches. Vous pouvez également combiner différents types d'instance pour tirer profit de meilleurs prix pour un type d'instance Spot par rapport à un autre. Pour de plus amples informations, veuillez consulter Quand faut-il utiliser des instances Spot ?.

De plus, Amazon EMR offre la possibilité d'utiliser plusieurs systèmes de fichiers pour vos données d'entrée, de sortie et intermédiaires. Par exemple, vous pouvez choisir le système de fichiers distribué Hadoop (HDFS) qui s'exécute sur les nœuds primaires et principaux de votre cluster pour traiter les données que vous n'avez pas besoin de stocker au-delà du cycle de vie de votre cluster. Vous pouvez choisir le système de fichiers EMR (EMRFS) pour utiliser Amazon S3 comme une couche de données pour les applications qui s'exécutent sur votre cluster. Vous pouvez ainsi séparer les calculs et le stockage, et conserver les données en dehors du cycle de vie de votre cluster. EMRFS offre l'avantage supplémentaire de vous permettre de monter ou descendre en puissance, indépendamment en fonction de vos besoins de calcul et de stockage. Vous pouvez ajuster vos besoins informatiques en redimensionnant votre cluster et vous pouvez ajuster vos besoins de stockage en utilisant Amazon S3. Pour de plus amples informations, veuillez consulter Gestion du stockage et des systèmes de fichiers.

Fiabilité

Amazon EMR surveille les nœuds de votre cluster, et résilie automatiquement une instance et la remplace en cas d'échec.

Amazon EMR fournit des options de configuration qui contrôlent la manière dont votre cluster est résilié, automatiquement ou manuellement. Si vous configurez votre cluster pour qu'il s'arrête automatiquement, il est arrêté une fois toutes les étapes terminées. On parle alors de cluster transitoire. Toutefois, vous pouvez configurer le cluster pour qu'il continue à s'exécuter après la fin du traitement, afin que vous puissiez choisir de l'arrêter manuellement lorsque vous n'en avez plus besoin. Ou, vous pouvez créer un cluster, interagir directement avec les applications installées, puis arrêter manuellement le cluster lorsque vous n'en avez plus besoin. Les clusters de ces exemples sont appelés clusters de longue durée.

De plus, vous pouvez configurer une protection contre l'arrêt pour empêcher les instances de votre cluster d'être mises hors service en raison d'erreurs ou de problèmes au cours du traitement. Lorsque la protection de la résiliation est activée, vous pouvez récupérer les données à partir des instances avant leur résiliation. Les paramètres par défaut de ces options varient selon que vous lancez votre cluster à l'aide de la console, de l'interface de ligne de commande ou de l'API. Pour de plus amples informations, veuillez consulter Utilisation de la protection contre la résiliation.

Sécurité

Amazon EMR exploite d'autres services AWS, tels qu'IAM et Amazon VPC, ainsi que des fonctionnalités telles que les paires de clés Amazon EC2, afin de vous aider à sécuriser vos clusters et vos données.

IAM

Amazon EMR s'intègre à IAM pour gérer les autorisations. Vous définissez des autorisations à l'aide de politiques IAM, que vous attachez à des utilisateurs ou à des groupes IAM. Les autorisations que vous définissez dans la stratégie déterminent les actions que les utilisateurs ou les membres du groupe peuvent effectuer et les ressources auxquelles ils peuvent accéder. Pour de plus amples informations, veuillez consulter Fonctionnement d'Amazon EMR avec IAM.

De plus, Amazon EMR utilise les rôles IAM pour le service Amazon EMR lui-même et le profil d'instance EC2 pour les instances. Ces rôles accordent au service et aux instances l'autorisation d'accéder à d'autres services AWS pour votre compte. Il existe un rôle par défaut pour le service Amazon EMR et un rôle par défaut pour le profil d'instance EC2. Les rôles par défaut utilisent les stratégies gérées AWS, qui sont créées pour vous automatiquement la première fois que vous lancez un cluster EMR à partir de la console et que vous choisissez les autorisations par défaut. Vous pouvez également créer les rôles IAM par défaut à partir de l'AWS CLI. Si vous voulez gérer les autorisations à la place d'AWS, vous pouvez choisir des rôles personnalisés pour le service et le profil d'instance. Pour de plus amples informations, veuillez consulter Configuration des rôles de service IAM pour les autorisations Amazon EMR aux services et ressources AWS..

Groupes de sécurité

Amazon EMR utilise des groupes de sécurité pour contrôler le trafic entrant et sortant de vos instances EC2. Lorsque vous lancez votre cluster, Amazon EMR utilise un groupe de sécurité pour votre instance primaire et un groupe de sécurité à partager par vos instances principales/de tâches. Amazon EMR configure les règles du groupe de sécurité afin de garantir la communication entre les instances du cluster. Si vous le souhaitez, vous pouvez configurer des groupes de sécurité supplémentaires et les affecter à vos instances primaires et principales/de tâches pour obtenir des règles plus avancées. Pour de plus amples informations, veuillez consulter Contrôle du trafic réseau avec des groupes de sécurité.

Chiffrement

Amazon EMR prend en charge le chiffrement facultatif côté serveur et côté client d'Amazon S3 avec EMRFS pour favoriser la protection des données que vous stockez dans Amazon S3. Avec le chiffrement côté serveur, Amazon S3 chiffre vos données une fois que vous les avez chargées vers le serveur.

Avec le chiffrement côté client, le processus de chiffrement et de déchiffrement se produit dans le client EMRFS, sur votre cluster EMR. Vous gérez la clé racine pour le chiffrement côté client à l'aide d'AWS Key Management Service (AWS KMS) ou de votre propre système de gestion de clés.

Pour plus d'informations, consultez Spécification du chiffrement Amazon S3 à l'aide des propriétés EMRFS.

Amazon VPC

Amazon EMR prend en charge le lancement des clusters dans un cloud privé virtuel (VPC) dans Amazon VPC. Un VPC est un réseau virtuel isolé dans AWS qui offre la possibilité de contrôler les aspects avancés de la configuration du réseau et de son accès. Pour de plus amples informations, veuillez consulter Configuration de la mise en réseau.

AWS CloudTrail

Amazon EMR s'intègre à CloudTrail pour journaliser des informations sur les requêtes effectuées par ou au nom de votre compte AWS. Avec ces informations, vous pouvez obtenir un suivi des personnes qui accèdent à votre cluster, des heures où cela se produit et de l'adresse IP à partir de laquelle elles effectuent la demande. Pour de plus amples informations, veuillez consulter Journalisation des appels d'API Amazon EMR dans AWS CloudTrail.

Paires de clés Amazon EC2

Vous pouvez surveiller votre cluster et interagir avec lui en créant une connexion sécurisée entre votre ordinateur distant et le nœud primaire. Vous pouvez utiliser le protocole réseau SSH (Secure Shell) pour cette connexion ou utiliser Kerberos pour l'authentification. Si vous utilisez SSH, une paire de clés Amazon EC2 est obligatoire. Pour de plus amples informations, veuillez consulter Utilisation d'une paire de clés Amazon EC2 pour les informations d'identification SSH.

Surveillance

Vous pouvez utiliser les interfaces de gestion et les fichiers journaux Amazon EMR pour résoudre les problèmes de cluster, tels que les échecs ou les erreurs. Amazon EMR permet d'archiver des fichiers journaux dans Amazon S3 afin que vous puissiez stocker les journaux et résoudre les problèmes même après la résiliation de votre cluster. Amazon EMR fournit également un outil de débogage optionnel dans la console Amazon EMR pour parcourir les fichiers journaux en fonction des étapes, des travaux et des tâches. Pour de plus amples informations, veuillez consulter Configuration de la journalisation et du débogage du cluster.

Amazon EMR s'intègre à CloudWatch pour effectuer le suivi des métriques de performances pour le cluster et des tâches au sein du cluster. Vous pouvez configurer des alarmes sur la base de diverses métriques, telles que le fait que le cluster soit ou non inactif ou le pourcentage de stockage utilisé. Pour de plus amples informations, veuillez consulter Surveillance des métriques Amazon EMR avec CloudWatch.

Interfaces de gestion

Il existe plusieurs manières d'interagir avec Amazon EMR :

  • Console : interface utilisateur graphique qui permet de lancer et gérer des clusters. Elle vous permet de remplir des formulaires web afin de préciser les détails relatifs aux clusters à lancer, de consulter les informations relatives aux clusters en cours, de déboguer et d'arrêter les clusters. Cette console constitue le moyen le plus simple de faire ses premiers pas avec Amazon EMR ; aucune connaissance en programmation n'est requise. La console est disponible en ligne à l'adresse https://console.aws.amazon.com/elasticmapreduce/home.

  • AWS Command Line Interface (AWS CLI) : application cliente que vous exécutez sur votre machine locale pour vous connecter à Amazon EMR et pour créer et gérer des clusters. L'AWS CLI contient un ensemble de commandes, doté de nombreuses fonctionnalités, spécifique à Amazon EMR. Elle vous permet d'écrire des scripts pour automatiser le lancement et la gestion des clusters. Si vous préférez travailler à partir d'une ligne de commande, l'utilisation de l'AWS CLI est la meilleure option. Pour plus d'informations et des exemples, consultez Amazon EMR dans la Référence des commandes AWS CLI.

  • Kit de développement logiciel (SDK) : les kits SDK fournissent des fonctions pour appeler Amazon EMR afin de créer et de gérer des clusters. Ils vous permettent d'écrire des applications pour automatiser la création et la gestion des clusters. Le kit SDK est particulièrement recommandé si vous souhaitez étendre ou personnaliser les fonctionnalités d'Amazon EMR. Amazon EMR est actuellement disponible dans les kits SDK suivants : Go, Java, .NET (C# et VB.NET), Node.js, PHP, Python et Ruby. Pour de plus amples informations sur ces kits SDK, veuillez consulter les outils pour AWS et les exemples de codes et bibliothèques Amazon EMR.

  • API de service web : interface de bas niveau qui vous permet d'appeler le service web directement à l'aide de JSON. Cette API est l'option la plus adaptée pour créer un kit SDK personnalisé qui appelle Amazon EMR. Pour plus d'informations, consultez la Référence d'API Amazon EMR.