TP3 AZ104 : Build your own lil' thingie¶
Notre TP pour les trois prochains jours ! Et à rendre en fin de semaine.
➜ Toujours avec la certif AZ-104 en fallacieux objectif, on va réutiliser ce qui a été vu aux premiers TPs : de la VM Azure, avec Network Security Group (NSG), Blob Storage et Monitoring.
L'idée de ce TP : utiliser les fonctionnalités d'Azure pour héberger un truc à vous.
➜ C'est un exercice libre
Vous me proposerez une solution à monter, je valide (ou non), et vous avez les 3 jours pour réaliser.
Note
Peu importe l'application/solution que vous montez, ce qui nous intéresse ici, c'est l'écosystème autour, les features d'Azure, les bonnes pratiques répandues de sécurité, etc. Serveur de jeu, app web, autre application métier, peu importe !
Modalités de l'exercice¶
1. Groupes¶
Vous pouvez vous mettre en groupe (ou pas), autant que vous voulez.
Note
Je recommande d'être deux, ça taffe bien sur des ptits trucs les binomes. Trois si vous voulez. Quatre ou plus c'est une connerie je pense pour cet exercice. Plus vous êtes nombreux plus vous serez notés durement.
2. Rendu attendu¶
J'attends un rendu écrit, un dépôt Git.
Il doit comporter :
- un
README.md
de présentation - une présentation générale de ce que vous avez fait, quelques lignes, à quoi ça sert
- comment déployer votre bazar (ça peut se limiter à
terraform apply
) - tout votre code d'automatisation
- fichiers Terraform
- éventuellement d'autres si nécessaires
Les contraintes¶
1. Au moins deux machines¶
Deux VMs Azure minimum.
Cela implique d'avoir un réseau Azure privé pour que les machines se joignent entre elles.
2. Un seul noeud frontal¶
Un seule machine est exposée sur internet.
Warning
La ou les autre(s) machine(s) ne doivent donc pas être asociée à une adresse IP publique.
Cela implique :
- pour administrer l'autre (ou les autres) machine(s) en SSH, vous utiliserez un rebond SSH sur la première
- pour de l'accès TCP (HTTP ou autres) vous utiliserez un noeud frontal de sécurité (reverse proxy HTTP, VPN, etc)
3. Entièrement automatisé¶
Uniquement du Terraform pour les déploiements Azure.
Utilisez l'outil de votre choix pour le reste (script bash
ou Python, cloud-init, Ansible, etc).
4. Basic sysadmin¶
En plus du déploiement automatisé, vous mettrez à profit d'autres outils de l'arsenal du sysadmin : monitoring, backup, good practices.
C'est le coeur de la AZ-104 : la certif des sysadmins Azure. On change pas les usages, ni les bonnes pratiques, mais on les met en place avec les différentes features de Azure.
Monitoring¶
Les machines doivent être surveillées.
Au minimum :
-
quelques sondes système, au minimum :
- CPU
- RAM
- disque
-
au moins une sonde applicative, par exemple :
- est-ce que tel service est actif ?
- est-ce que tel processus est en cours d'exécution ?
Info
On cherche ici à savoir si, d'un point de vue système, vos applications s'exécutent correctement.
-
au moins une sonde réseau, par exemple :
- est-ce que tel port TCP répond ?
- est-ce que telle requête HTTP retourne bien 200 ?
Info
Un peu pareil, mais côté réseau ! Savoir si on peut correctement interagir avec ce qui est en place, à travers le réseau. Si on considère une application Web par exemple : une sonde TCP permet de savoir si l'OS de destination répond correctement. Avoir une sonde HTTP par dessus permet de savoir si l'application répond correctement.
Backup¶
Les données importantes doivent être sauvegardées.
Il doit exister un système de sauvegarde qui stocke et archive les données de vos applications.
Danger
Si ce que vous déployez de contient pas vraiment de données, vous ferez une backup des fichiers de configuration.
Security good practices¶
Vous mettrez en place les bones pratiques élémentaires de sécurité :
-
pas de connexion sur
root
, ni distante ni locale- utilisation de
sudo
si besoin des droitsroot
- utilisation de
-
gestion précise des droits
rwx
et des propriétaires des fichiers - pas de connexion SSH par password (clés fortes uniquement)
-
firewall local aux machines
- autorise les connexions sur les ports 22/TCP
- éventuellement d'autres ports si nécessaires
Note
Le moindre manquement à ces règles élémentaires de sécurité, je découpe votre note. 🪓
5. Azure features¶
Utiliser au moins 4 features de Azure pour setup tout ça. Libre à vous !
Vous pouvez réutiliser ce qu'on a vu aux TPs précédents, c'est même fortement recommandé.
Evidemment, au moins du NSG hein. Un ptit Blob Storage pour votre backup par exemple. Ou un ptit peu de monitoring by Azure, et voilà voilà.
Hint
Pour trouver des features intéressantes et utiles à intégrer à votre projet, plusieurs façons de s'y prendre. Cliquez partout dans l'interface Web, quand vous êtes sur la page de votre VM, vous trouverez bien un truc fun. Ou partez de documents ou autres annales de la AZ 104.