Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| eadl:bloc5:fm3:td2 [2026/09/27 19:46] – [1.5 Configurer les rôles IAM] jcheron | eadl:bloc5:fm3:td2 [2026/09/28 15:37] (Version actuelle) – jcheron | ||
|---|---|---|---|
| Ligne 13: | Ligne 13: | ||
| Ce TD utilise la console AWS et quelques commandes exécutées depuis un terminal. Il s’agit d’une découverte **manuelle** d’Amazon EMR. N’utilisez ni Terraform ni CloudFormation dans ce TD : l’automatisation de cette infrastructure fera l’objet du TD3. | Ce TD utilise la console AWS et quelques commandes exécutées depuis un terminal. Il s’agit d’une découverte **manuelle** d’Amazon EMR. N’utilisez ni Terraform ni CloudFormation dans ce TD : l’automatisation de cette infrastructure fera l’objet du TD3. | ||
| - | AWS est un environnement payant. | + | AWS est un environnement payant. |
| </ | </ | ||
| Ligne 180: | Ligne 180: | ||
| - Le nombre de nœuds choisi suffit-il à démontrer une tolérance de panne réelle ? Pourquoi ? | - Le nombre de nœuds choisi suffit-il à démontrer une tolérance de panne réelle ? Pourquoi ? | ||
| - | ===== 1.4 Paire de clés EC2 (accès SSH) ===== | + | ===== 1.5 Réseau ===== |
| + | |||
| + | Sur un compte AWS standard, un **VPC par défaut** existe déjà dans chaque région, avec un subnet public dans chaque zone de disponibilité. EMR le sélectionne automatiquement : **il n'y a rien à créer ni configurer manuellement** pour ce TD. | ||
| + | |||
| + | Dans la section réseau de l' | ||
| + | |||
| + | 1. vérifiez que le VPC proposé est bien le VPC par défaut (``vpc-xxxxxxxx (default)``) ; | ||
| + | 2. un subnet est présélectionné : laissez la valeur proposée ; | ||
| + | 3. les security groups sont créés automatiquement par EMR (un pour le master, un pour les core/task) si vous ne modifiez rien. | ||
| + | |||
| + | Notez les valeurs proposées automatiquement : | ||
| + | |||
| + | ^ Paramètre réseau ^ Valeur ^ Observation ^ | ||
| + | | VPC | | par défaut | | ||
| + | | Subnet | | public (zone de disponibilité) | | ||
| + | | Security group master | | créé automatiquement par EMR | | ||
| + | | Security group core/task | | créé automatiquement par EMR | | ||
| + | | Adresse publique du master | | oui, par défaut sur subnet public | | ||
| + | |||
| + | <WRAP tip round> | ||
| + | Le security group du master créé par défaut n' | ||
| + | </ | ||
| + | |||
| + | Répondez : | ||
| + | |||
| + | - Pourquoi un cluster peut-il avoir besoin d'une communication interne même si vous ne vous connectez qu'au master ? | ||
| + | - Pourquoi les nœuds core et task ne doivent-ils généralement pas être ouverts directement à Internet ? | ||
| + | - Dans Docker Compose, quelles règles de réseau étaient implicites ou locales ? | ||
| + | ===== 1.6 Paire de clés EC2 (accès SSH) ===== | ||
| Pour pouvoir se connecter en SSH au nœud primaire du cluster (console, exécution manuelle de commandes Hadoop, consultation de fichiers de logs), une **paire de clés EC2** est nécessaire. | Pour pouvoir se connecter en SSH au nœud primaire du cluster (console, exécution manuelle de commandes Hadoop, consultation de fichiers de logs), une **paire de clés EC2** est nécessaire. | ||
| Ligne 208: | Ligne 236: | ||
| Dans la configuration du cluster EMR, section **Sécurité**, | Dans la configuration du cluster EMR, section **Sécurité**, | ||
| - | ===== 1.6 Configurer les rôles | + | ===== 1.7 Rôles |
| - | La console propose des rôles IAM pour EMR et EC2, souvent créés automatiquement ou sélectionnés parmi des rôles par défaut | + | EMR nécessite deux rôles IAM pour fonctionner |
| - | | + | |
| - | | + | |
| - | - rôle souvent associé à l’auto-scaling selon les options retenues. | + | |
| - | Choisissez l’option de création recommandée par la console, sans ajouter | + | Dans la section **Rôle IAM**, AWS propose deux options pour chacun |
| - | ^ Élément IAM ^ Valeur sélectionnée ^ À quoi sert-il ? ^ | + | * **Choisir une fonction du service |
| - | | EMR service | + | |
| - | | EC2 instance profile | | permettre aux instances d’appeler les services autorisés, notamment S3 selon la configuration | | + | |
| - | | Rôle d’auto-scaling | | seulement si l’option est utilisée | | + | |
| - | < | + | < |
| - | **Ne confondez pas authentification et autorisation.** La clé SSH permet l’accès système à une instance autorisée. Les rôles IAM permettent aux services et aux instances d’appeler d’autres services AWS. Une clé SSH ne donne pas, à elle seule, les droits S3. | + | **Cas attendu : votre compte est un compte AWS standard (personnel, free tier ou passé en basic)** |
| - | </ | + | |
| - | Question | + | Sur ce type de compte, vous disposez normalement des droits IAM complets. Choisissez **Créer une fonction du service** pour les deux champs. AWS génère automatiquement les rôles nécessaires, |
| + | | ||
| + | - ``EMR_EC2_DefaultRole`` ou ``AmazonEMR-InstanceProfile-xxxx`` (profil d' | ||
| - | ===== 1.6 Choisir | + | Ces rôles seront ensuite proposés automatiquement lors des prochaines créations de cluster. C' |
| + | </ | ||
| - | Dans la section réseau | + | <WRAP important> |
| + | **Cas exceptionnel | ||
| - | 1. sélectionnez le VPC pédagogique indiqué ; | + | Il peut arriver, même sur un compte standard, qu'**un des deux rôles |
| - | 2. choisissez le subnet autorisé ; | + | |
| - | 3. si le master doit être joint en SSH depuis Internet, vérifiez que le subnet est public et qu’une route vers une Internet Gateway | + | |
| - | 4. choisissez ou créez les security groups recommandés | + | |
| - | 5. activez l’accès SSH uniquement depuis votre adresse IP lorsque la console | + | |
| - | Notez : | + | Si vous tentez **Créer une fonction du service** pour le champ **Fonction du service EC2** et obtenez une erreur du type : |
| - | ^ Paramètre réseau ^ Valeur ^ Observation ^ | + | < |
| - | | VPC | | | | + | Échec de la création du rôle EMR_EC2_DefaultRole. Vous n' |
| - | | Subnet | | public, privé ou autre | | + | </code> |
| - | | Security group master | | ports autorisés | | + | |
| - | | Security group core/task | | accès interne entre nœuds | | + | |
| - | | Adresse publique du master | | oui / non | | + | |
| - | Répondez | + | **Marche à suivre dans ce cas :** |
| - | - Pourquoi un cluster peut-il avoir besoin d’une communication interne même si vous ne vous connectez qu’au master ? | + | - Retournez sur **Choisir |
| - | - Pourquoi les nœuds core et task ne doivent-ils généralement pas être ouverts directement à Internet ? | + | - vérifiez si un rôle apparaît dans la liste déroulante, |
| - | - Dans Docker Compose, quelles règles de réseau étaient implicites ou locales ? | + | - sélectionnez-le s'il apparaît. |
| + | </ | ||
| - | ===== 1.7 Associer la clé SSH et créer le cluster ===== | + | ===== 1.8 Associer la clé SSH et créer le cluster ===== |
| 1. Sélectionnez la paire de clés EC2 fournie ou créée pour le TD. | 1. Sélectionnez la paire de clés EC2 fournie ou créée pour le TD. | ||
| Ligne 266: | Ligne 288: | ||
| </ | </ | ||
| - | ===== Bilan de la mission 1 ===== | ||
| - | |||
| - | Complétez : | ||
| - | |||
| - | - Le temps entre le clic sur « créer » et l’état utilisable est de : `__________`. | ||
| - | - Les choix qui ont demandé le plus de réflexion sont : `__________`. | ||
| - | - La différence principale entre un cluster EMR et les conteneurs du TD1 est : `__________`. | ||
| - | |||
| - | ---- | ||
| ====== Mission 2 — Explorer le cluster depuis le master ====== | ====== Mission 2 — Explorer le cluster depuis le master ====== | ||
| Ligne 290: | Ligne 303: | ||
| </ | </ | ||
| - | Le nom d’utilisateur dépend de l’image | + | Le nom d’utilisateur dépend de l’image. Pour une AMI EMR standard, `hadoop` est couramment utilisé ; ne remplacez pas ce nom au hasard si la consigne de votre compte indique autre chose. |
| À la première connexion, vérifiez l’empreinte proposée. Si vous obtenez `Permission denied (publickey)`, | À la première connexion, vérifiez l’empreinte proposée. Si vous obtenez `Permission denied (publickey)`, | ||
| Ligne 377: | Ligne 390: | ||
| ===== 3.2 Mettre en place un tunnel local ===== | ===== 3.2 Mettre en place un tunnel local ===== | ||
| - | Gardez une première session SSH ouverte. Dans un second terminal, créez des redirections locales vers les ports web du master. Les numéros de ports peuvent varier selon la release ; utilisez ceux affichés dans la console | + | Gardez une première session SSH ouverte. Dans un second terminal, créez des redirections locales vers les ports web du master. Les numéros de ports peuvent varier selon la release ; utilisez ceux affichés dans la console. |
| <sxh bash> | <sxh bash> | ||
| Ligne 605: | Ligne 618: | ||
| </ | </ | ||
| - | Hadoop refuse généralement d’écrire dans un répertoire de sortie déjà présent. Utilisez un nouveau préfixe ou supprimez uniquement votre ancien résultat de test si l’enseignant l’autorise. | + | Hadoop refuse généralement d’écrire dans un répertoire de sortie déjà présent. |
| ===== 5.3 Lancer le job ===== | ===== 5.3 Lancer le job ===== | ||
| Ligne 690: | Ligne 703: | ||
| | Task | | | | | | | Task | | | | | | ||
| - | Le coût réel dépend notamment de la région, du type d’instance, | + | Le coût réel dépend notamment de la région, du type d’instance, |
| Pour une estimation simplifiée : | Pour une estimation simplifiée : | ||
| Ligne 795: | Ligne 808: | ||
| <sxh bash> | <sxh bash> | ||
| aws s3 ls s3:// | aws s3 ls s3:// | ||
| - | # À exécuter seulement si l' | ||
| aws s3 rm s3:// | aws s3 rm s3:// | ||
| </ | </ | ||
| Ligne 899: | Ligne 911: | ||
| <WRAP important round> | <WRAP important round> | ||
| - | Dernière vérification avant de quitter AWS : votre cluster est terminé, vos instances de test ne tournent plus, et les objets S3 restants correspondent exactement à la consigne de l’enseignant. | + | Dernière vérification avant de quitter AWS : votre cluster est terminé, vos instances de test ne tournent plus, et les objets S3 sont supprimés. |
| </ | </ | ||