Aller au contenu

Lab 01 : Création d'instances de Machines Virtuelles (VM)

Dans cet atelier, vous allez découvrir comment utiliser le Cloud 3DS OUTSCALE pour créer et utiliser les machines virtuelles.

Lab01-1

Dans cette partie, vous allez apprendre à créer une VM en :

  • Créant une paire de clés
  • Lançant une instance de serveur Web avec les exigences suivantes :
    • Elle devra utiliser une OMI Ubuntu 22.04
    • Elle devra posséder 1 processeur virtuel et 1 Gio de mémoire
    • Lorsque de son démarrage, elle devra installer le package apache2
  • En lui donnant un nom de type “[votre nom]-webserver”
  • En autorisant le flux HTTP (port 80) depuis n’importe où

Vous devrez ensuite vous connecter à votre instance à l’aide d’un terminal.

Vous allez apprendre à créer une paire de clés SSH unique que nous utiliserons dans cet atelier.

  1. Connectez-vous au Cockpit V2 : cockpit.outscale.com à l’aide de vos identifiants de connexion puis choisir la région eu-west-2. Lab01-2
  2. Ouvrir un nouveau dashboard +
  3. Choisir Sécurité - Keypairs. Cela affichera une page pour gérer vos paires de clés SSH.
  4. Pour créer une paire de clés SSH, cliquez sur le bouton [Créer une Keypair] en haut de la fenêtre. +
  5. Saisissez [Votre nom]-lab dans la zone de texte Nom: (Nom de la Keypair :) et cliquez sur le bouton [Créer].
  6. Cette action lancera le téléchargement d’un fichier outscale_[votre compte]-lab.rsa. Suivez les instructions du navigateur pour enregistrer le fichier.

Le Security Group fait office de pare-feu réseau. Les groupes de sécurité spécifieront les protocoles et les adresses que vous souhaitez autoriser dans votre politique de pare-feu. Pour le groupe de sécurité que vous êtes en train de créer, il s’agit de la règle qui s’applique à l’instance qui sera créée.

  1. Ouvrir un nouveau dashboard
  2. Choisir Sécurité – Security Groups. Cela affichera une page pour gérer les groupes de sécurités
  3. Dans le dashboard Security Groups, cliquez sur [Créer un security group].
  4. Introduisez les paramètres suivants :
    1. Dans le champ Nom, entrez [nom]-webserver pour le security group.
    2. Dans le champ Description, entrez sa description.
    3. Dans la liste Net, effectuez une des actions suivantes :
    4. Pour créer un security group pour le Cloud public, sélectionnez no Net dans la liste de Net.
    5. Pour créer un security group pour un Net, sélectionnez ce Net dans la liste de Net.
    6. Dans notre cas nous allons créer choisir no Net
  5. Cliquez sur [Créer]. Le security group sera créé avec le nom et la description fournis. Les règles des security groups peuvent être définies dans les détails des security groups.

Dans le dashboard Security Groups, cliquez sur l’ID du security group ❶ auquel vous voulez ajouter une règle.

  1. Le volet des règles du security group apparaît +
  2. Cliquez sur Créer des règles d’entrée ❷
  3. La boîte de dialogue CRÉER DES RÈGLES D’ENTRÉE apparaît.
  4. Pour définir une règle, spécifiez les informations suivantes : ❸
  5. Autorisez le protocole TCP/80 pour le service Web en ajoutant une règle de sécurité (Service : HTTP - Plage 0.0.0.0/0)
  6. Autorisez également le protocole SSH/22 pour le service Web avec la règle suivante (Service : SSH - Plage myIp/32)
  7. Cliquez sur Créer des règles d’entrée. Les règles sont ajoutées au security group.

Nous allons lancer une instance Ubuntu 22.04, qui au démarrage installera le package Apache/PHP et un fichier html qui affichera des informations sur notre instance.

  1. Ouvrir un nouveau dashboard, dans Puissance de calcul cliquez VMs
  2. Un nouvel onglet s’ajoute à notre dashboard.
  3. Dans le dashboard VM, cliquez sur Créer des VMs.
  4. La fenêtre CRÉER DES VM apparaît.
  5. Configurer votre VM
    1. Dans Nom de la VM, saisissez la valeur [Votre nom]-webserver. Ensuite, cliquez sur suivant et laissez les paramètres par défaut.
  6. L’écran de sélection d’une image apparaît.
  7. Choisir l’image ubuntu-22.04 qui a comme propriétaire Outscale
  8. Cliquez sur Suivant.
  9. L’écran de sélection du type de VM apparaît
    https://docs.outscale.com/fr/userguide/Types-d-instances.html\
  10. Spécifiez les attributs suivants pour la VM.
  11. Pour notre atelier nous allons utiliser les valeurs suivantes :
  12. Génération du CPU : GEN 4
  13. Performance : L’indicateur de performance High.
    1. Highest : Capacité de calcul maximum sur tous les vCPU de la VM. Cette valeur est idéale pour les applications de calcul intensif demandant des performances stables durant le cycle de vie de la VM.
    2. High : Haute capacité de calcul sur tous les vCPU de la VM. Cette valeur s’applique à la plupart des cas et offre des performances variables dans le temps.
    3. Medium : Performance à variation significative sur tous les vCPU de la VM. Cette valeur ne garantit pas des performances constantes, mais est idéale pour les machines à faible demande CPU.
  14. Cœur(s) : 1
  15. Mémoire (Gio) : 1
  16. Nombre de VM : 1
  17. Cliquez sur Suivant. L’écran Net apparaît.
  18. Nous avons le choix entre le Cloud public, un Net et une sous-région
  19. Laissez Cloud public activé.
  20. Sélectionnez la sous-région dans laquelle vous voulez lancer la VM. (Dans le Cloud public, vous ne pouvez pas définir l’IP privée de vos VM.)
  21. Cliquez sur Suivant. L’écran de sélection d’un volume système apparaît.
  22. Sélectionnez Poursuivre avec un volume système par défaut.
  23. (optionnel) Dans le champ Nom du volume, tapez un nom pour votre volume système.
  24. Si vous voulez personnaliser le volume système de vos VM :
  25. Sélectionnez Personnaliser le volume système.
  26. Sélectionnez une des valeurs suivantes dans la liste Volume Type :
  27. standard pour un volume Magnetic
  28. gp2 pour un volume Performance
  29. io1 pour un volume Enterprise
  30. Dans le champ Taille du volume, spécifiez la taille du volume (en Gio).
  31. Cliquez sur Suivant. L’écran Security group apparaît.
  32. Sélectionner un ou plusieurs security groups existant et sélectionnez le Security group créé précédemment.
  33. Cliquez sur Suivant.
  34. L’écran de sélection d’une keypair apparaît.
  35. Sélectionnez la paire de clés que vous avez créée au début de cet atelier dans le champ Keypair.
  36. Cliquez sur Suivant. L’écran User data apparaît.
  37. Copier-coller le script suivant dans le champ section libre des User data :
#!/bin/bash
apt-get update
apt-get install -y apache2 php libapache2-mod-php
mv /var/www/html/index.html /var/www/html/index1.html
cat > /var/www/html/index.php << END
<?php
//header('Content-Type: text/plain');
session_start();
setcookie("outscale","lab" );
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Simple PHP App</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<style>body {margin-top: 40px; background-color: #333;}</style>
<!--[if lt IE 9]><script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
</head>
<body>
<div class="container">
<div class="jumbotron">
<h1>Simple PHP App</h1>
<h2>Congratulations!</h2>
<ul>
<li>Your PHP application is now running on the host “<?php echo gethostname(); ?></li>
<li>This host is running PHP version <?php echo phpversion(); ?>.</li>
<li><?php echo "Server IP: ".$_SERVER['SERVER_ADDR']; ?></li>
<li><?php echo "Client IP: ".$_SERVER['REMOTE_ADDR']; ?></li>
<li><?php echo "X-Forwarded-for: ".$_SERVER['HTTP_X_FORWARDED_FOR']; ?></li>
<?php
if(!isset($_SESSION['visit']))
{
echo "<li> This is the first time you're visiting this server </li>";
$_SESSION['visit'] = 0;
}
else
{
echo " <li>Your number of visits: ".$_SESSION['visit']."</li>";
}
$_SESSION['visit']++;
foreach($_COOKIE as $key=>$value)
{
echo "<li>".$key. " => " .$value. "</li>";
}
?>
</ul>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
</body>
</html>
END
  1. Cliquez sur Suivant. L’écran Récapitulatif apparaît.
  2. Vérifiez l’ensemble des paramètres des VM.
  3. Cliquez sur Créer des VM.

Une fois votre instance lancée, cliquez sur l’id de la VM pour afficher les détails de cette instance. Dans la partie réseau, nous verrons le nom d’hôte externe ainsi que l’IP publique de la VM.

Attendez que l’instance passe les contrôles de l’état pour terminer le chargement. Ouvrez un nouvel onglet de navigateur et parcourez le serveur Web en saisissant le nom d’hôte externe ou l’IP publique de l’instance dans le navigateur.

Vous devriez voir une page Web qui ressemble à ce qui suit.

Lancez une instance EC2 avec les exigences suivantes :

  • Créer une paire de clés
  • Lancer une instance de serveur Web
    • Windows Server 2019
    • Type d’instance : choisissez-en une qui possède 2 processeurs virtuels et 4 Gio de mémoire
    • Lorsque l’instance démarre, elle doit :
      • Installez IIS et configurez une page web
  • Se connecter à votre instance à l’aide d’un client RDP
  • USERDATA
Terminal window
<powershell>
Import-Module ServerManager;
Install-WindowsFeature Web-Server -IncludeManagementTools -IncludeAllSubFeature
Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServerRole
Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServer
Enable-WindowsOptionalFeature -Online -FeatureName IIS-CommonHttpFeatures
Enable-WindowsOptionalFeature -Online -FeatureName IIS-HttpErrors
Enable-WindowsOptionalFeature -Online -FeatureName IIS-HttpRedirect
Enable-WindowsOptionalFeature -Online -FeatureName IIS-ApplicationDevelopment
Enable-WindowsOptionalFeature -online -FeatureName NetFx4Extended-ASPNET45
Enable-WindowsOptionalFeature -Online -FeatureName IIS-NetFxExtensibility45
Enable-WindowsOptionalFeature -Online -FeatureName IIS-HealthAndDiagnostics
Enable-WindowsOptionalFeature -Online -FeatureName IIS-HttpLogging
Enable-WindowsOptionalFeature -Online -FeatureName IIS-LoggingLibraries
Enable-WindowsOptionalFeature -Online -FeatureName IIS-RequestMonitor
Enable-WindowsOptionalFeature -Online -FeatureName IIS-HttpTracing
Enable-WindowsOptionalFeature -Online -FeatureName IIS-Security
Enable-WindowsOptionalFeature -Online -FeatureName IIS-RequestFiltering
Enable-WindowsOptionalFeature -Online -FeatureName IIS-Performance
Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebServerManagementTools
Enable-WindowsOptionalFeature -Online -FeatureName IIS-IIS6ManagementCompatibility
Enable-WindowsOptionalFeature -Online -FeatureName IIS-Metabase
Enable-WindowsOptionalFeature -Online -FeatureName IIS-ManagementConsole
Enable-WindowsOptionalFeature -Online -FeatureName IIS-BasicAuthentication
Enable-WindowsOptionalFeature -Online -FeatureName IIS-WindowsAuthentication
Enable-WindowsOptionalFeature -Online -FeatureName IIS-StaticContent
Enable-WindowsOptionalFeature -Online -FeatureName IIS-DefaultDocument
Enable-WindowsOptionalFeature -Online -FeatureName IIS-WebSockets
Enable-WindowsOptionalFeature -Online -FeatureName IIS-ApplicationInit
Enable-WindowsOptionalFeature -Online -FeatureName IIS-ISAPIExtensions
Enable-WindowsOptionalFeature -Online -FeatureName IIS-ISAPIFilter
Enable-WindowsOptionalFeature -Online -FeatureName IIS-HttpCompressionStatic
Enable-WindowsOptionalFeature -Online -FeatureName IIS-ASPNET45
remove-item -recurse c:\inetpub\wwwroot\*
(New-Object System.Net.WebClient).DownloadFile("https://static.us-east-1.prod.workshops.aws/public/b2083843-9bc2-4f94-bf8e-c4f6238d04f4//static/common/ec2_web_hosting/ec2-windows.zip", "c:\inetpub\wwwroot\ec2-windows.zip")
$shell = new-object -com shell.application
$zip = $shell.NameSpace("c:\inetpub\wwwroot\ec2-windows.zip")
foreach($item in $zip.items())
{
$shell.Namespace("c:\inetpub\wwwroot\").copyhere($item)
}
</powershell>