Aller au contenu

Quiz : Le cloud, les fondamentaux

100 Comprendre ⏱ 35 min cloudscaleway

Ce quiz valide le niveau 100 (Comprendre) des notions du cours Le cloud : les fondamentaux. Visez au moins 16 bonnes réponses sur 20 ; chaque réponse renvoie à la leçon à relire. Le niveau 200 se valide avec le lab.

Définition et API

1. Une équipe interne de virtualisation livre des machines virtuelles en trois jours, sur ticket, et les refacture au mois. Est-ce un cloud privé au sens du NIST ?

  • a) Oui, puisque les machines sont virtualisées et mutualisées
  • b) Oui, puisqu'elles sont refacturées
  • c) Non : il manque au moins le libre-service à la demande et l'élasticité rapide
  • d) Non, parce qu'un cloud est forcément public
Réponse

c. La virtualisation ne fait pas le cloud. Les cinq caractéristiques essentielles du NIST sont le libre-service à la demande, l'accès par le réseau, la mutualisation, l'élasticité rapide et le service mesuré ; un ticket traité en trois jours exclut les deux premières à elles seules. Leçon 1.

2. L'API d'un fournisseur répond par des erreurs pendant une heure. Que deviennent les instances déjà en marche, et que ne pouvez-vous plus faire ?

Réponse

Elles continuent de tourner et de servir le trafic : c'est le plan de données, conçu pour survivre aux pannes du plan de contrôle. En revanche, plus rien ne se crée, ne se modifie ni ne se supprime (console, CLI, Terraform), ce qui rend impossible toute mise à l'échelle ou reprise qui suppose de créer des ressources pendant l'incident. Leçon 1.

3. Un script crée une instance avec scw instance server create sans --wait, puis s'y connecte aussitôt en SSH, et échoue. Pourquoi ?

Réponse

Les opérations du cloud sont asynchrones : l'API accepte la demande et répond tout de suite, alors que la ressource passe encore par des états transitoires (starting). --wait fait attendre un état stable. Et même alors, cloud-init peut ne pas avoir fini : cloud-init status --wait sur l'instance. Leçons 1 et 4.

Modèles de service

4. Dans le modèle de responsabilité partagée, laquelle de ces tâches reste à votre charge quel que soit le modèle (IaaS, PaaS ou SaaS) ?

  • a) Appliquer les correctifs de l'hyperviseur
  • b) Gérer les identités et les droits d'accès à vos données
  • c) Remplacer les disques défaillants
  • d) Mettre à jour le système de la base managée
Réponse

b. Le fournisseur répond de la sécurité du cloud ; vous répondez de la sécurité dans le cloud. Les données, les identités, les accès et la configuration restent toujours de votre côté. Leçon 2.

5. Vous venez de créer une base PostgreSQL managée chez Scaleway. Quelle est sa situation réseau par défaut, et que faites-vous en premier ?

Réponse

Elle a un point d'accès public et une liste de contrôle d'accès qui autorise 0.0.0.0/0 : seuls le mot de passe et TLS la protègent. On restreint immédiatement l'ACL à son adresse (scw rdb acl set), puis on la rattache à un réseau privé et on supprime le point d'accès public. « Managé » ne veut pas dire « sûr ». Leçons 2 et 6.

6. Signalements, déployé sur Serverless Containers sans base de données, perd ses signalements de temps en temps. Expliquez.

Réponse

L'application garde ses données en mémoire, et chaque exemplaire du conteneur a la sienne. La plateforme démarre et arrête des exemplaires selon le trafic, jusqu'à zéro : les données disparaissent avec eux. Le serverless est un contrat : application sans état, données dans une base ou un stockage objet. Leçon 2.

Régions et zones

7. Qu'est-ce qu'une zone de disponibilité vous protège, et de quoi ne vous protège-t-elle pas ?

Réponse

Une zone regroupe un ou plusieurs centres de données à l'énergie, au refroidissement et au réseau indépendants des autres zones : répartir sur deux zones protège de la perte d'un site. Les zones d'une région sont dans la même agglomération : elles ne protègent pas d'un sinistre régional, ni des erreurs de configuration, des pannes de plan de contrôle ou des services partagés, qui traversent les zones. Leçon 3.

8. Chez Scaleway, classez en zonal, régional ou global : une instance, un réseau privé, un bucket, une politique IAM, un répartiteur de charge.

Réponse

Instance : zonale. Réseau privé : régional. Bucket : régional. Politique IAM : globale. Répartiteur de charge : zonal. L'argument zone= ou region= de la CLI, ou la forme du chemin d'API, le révèle. Leçons 1 et 3.

9. Un répartiteur à 99,9 % sert deux instances indépendantes à 99,5 % chacune. Quelle disponibilité théorique pour la paire d'instances, puis pour l'ensemble ?

Réponse

En parallèle : 1 − 0,005 × 0,005 = 99,9975 %. En série avec le répartiteur : 0,999 × 0,999975 ≈ 99,90 %. Le maillon unique (le répartiteur) fixe la limite. Le calcul suppose des pannes indépendantes, ce qui n'est vrai que si les instances sont dans des zones différentes et ne partagent pas de dépendance. Leçon 3.

Calcul

10. Pourquoi ne faut-il jamais mettre la DATABASE_URL (avec son mot de passe) dans les données utilisateur de cloud-init ?

Réponse

Les données utilisateur restent lisibles pendant toute la vie de l'instance : par le service de métadonnées depuis la machine, et par quiconque peut consulter l'instance dans la console ou l'API. On les réserve à la configuration non secrète, et le secret arrive par un autre canal. Leçon 4.

11. Que veut dire traiter ses serveurs « comme du bétail », et comment applique-t-on un correctif de sécurité dans ce modèle ?

Réponse

Aucun serveur n'est irremplaçable : chacun est recréé à l'identique depuis une description versionnée (image et cloud-init). Pour un correctif, on crée une nouvelle instance depuis la description mise à jour, on la vérifie, on bascule le trafic, puis on supprime l'ancienne, plutôt que de modifier la machine en place (infrastructure immuable). Leçon 4.

12. Pourquoi les fournisseurs ont-ils durci l'accès au service de métadonnées (IMDSv2 chez AWS, port source privilégié chez Scaleway pour les données utilisateur) ?

Réponse

Parce qu'une faille de type SSRF permet à un attaquant de faire envoyer par l'application des requêtes vers l'adresse de métadonnées, et d'y lire des informations sensibles (identifiants temporaires, données utilisateur). Exiger un jeton obtenu par une requête particulière, ou un port réservé à root, empêche une simple requête relayée d'aboutir. Leçon 4.

Stockage

13. Associez chaque besoin à un type de stockage (bloc, fichier, objet) : le disque d'une base PostgreSQL auto-hébergée ; les photos jointes aux signalements ; un répertoire partagé monté par plusieurs instances.

Réponse

Base auto-hébergée : bloc (un disque, une instance, une zone). Photos : objet (API HTTP, régional, partage par URL présignée). Répertoire partagé : fichier. Leçon 5.

14. Le stockage objet de votre fournisseur annonce une durabilité de onze neuf. Avez-vous encore besoin d'une sauvegarde de votre bucket ?

Réponse

Oui. La durabilité protège contre la perte de matériel, pas contre une suppression par erreur, un script défectueux ou un rançongiciel muni de vos clés : la réplication copie aussi les erreurs. Versionnement, Object Lock et une copie ailleurs (règle 3-2-1) répondent à ces risques. Leçon 5.

15. Comment donner à un utilisateur l'accès à une photo d'un bucket privé pendant quinze minutes, sans rendre le bucket public ?

Réponse

Avec une URL présignée (aws s3 presign ... --expires-in 900) : la signature, calculée avec votre clé, est incluse dans l'URL et expire au bout du délai. Le bucket reste privé. Leçon 5.

Réseau

16. Les instances n'ont plus d'adresse publique. Comment font-elles pour apt update, et comment l'équipe s'y connecte-t-elle en SSH ?

Réponse

Par la passerelle publique : elle annonce la route par défaut sur le réseau privé et fait du NAT sortant, et son bastion SSH (port 61000 par défaut, adresses autorisées à restreindre) sert de rebond (ssh -J bastion@<ip>:61000 ...). Leçon 6.

17. Chez Scaleway, un groupe de sécurité en politique d'entrée drop protège-t-il le port 8000 d'une instance vis-à-vis des autres machines du réseau privé ?

Réponse

Non : le groupe de sécurité ne filtre que le trafic de l'interface publique. Le trafic privé se filtre sur l'hôte (nftables, en tenant compte du fait que les ports publiés par Docker contournent la chaîne INPUT) et, entre réseaux privés, par les Network ACL. Leçon 6.

18. Pourquoi la vérification de santé du répartiteur doit-elle interroger /sante plutôt que / ou un simple test TCP ?

Réponse

Un test TCP réussit dès que le port écoute, même si l'application ne sait plus répondre ; / peut répondre sans toucher la base. /sante vérifie aussi la base : une instance qui l'a perdue sort du tourniquet, et le trafic va vers celle qui fonctionne. Leçon 6.

Identités et coûts

19. Le pipeline de déploiement doit pousser des images dans le registre du projet signalements. Décrivez l'identité et la politique à lui donner chez Scaleway.

Réponse

Une application IAM dédiée (sig-deploiement), sans accès à la console, avec une politique dont la règle est limitée au projet signalements et au seul jeu de permissions du registre nécessaire ; une clé d'API qui expire, rangée dans un secret d'environnement de la CI. Pas la clé du propriétaire, pas de règle à l'échelle de l'organisation. Scaleway n'ayant pas de refus explicite, on n'accorde que ce qui est nécessaire, puisque les politiques s'additionnent. Leçon 7.

20. À la fin d'une séance, vous avez supprimé vos instances avec scw instance server delete. Qu'est-ce qui peut encore être facturé, et comment le vérifier ?

Réponse

Les IP flexibles (non supprimées sans with-ip=true), les instantanés, les sauvegardes de la base, les buckets et leurs versions, le répartiteur et la passerelle (et leurs IP), des ressources dans une autre zone ou région. On le vérifie par un inventaire de toutes les zones et régions du projet, puis dans la consommation du lendemain ; un budget avec alerte signale ce qui aurait échappé. Leçon 8.

Plan du cours