Blog de Florent Appointaire

Blog sur les technologies Microsoft (Windows Server, System Center, Azure, Windows Azure Pack/Azure Stack, etc;)

Après le premier article concernant le déploiement du RP MySQL, et du second pour déployer le RP de SQL, je vais vous expliquer comment installer le RP pour les Web App.

Pour ce RP, les prérequis sont les suivants:

Connectez vous à votre VM ClientVM, démarrez PowerShell ISE en tant qu’administrateur et téléchargez le paquet suivant. Décompressez-le:

image

Dans une fenêtre PowerShell, exécutez le script Deploy-SqlServerDSC.ps1. Il vous demandera votre répertoire Azure AD, un mot de passe pour le compte Admin (qui sera utilisé pour se connecter à la VM SQL et à l’instance SQL Server) et un compte Global Admin de votre Azure AD et de Azure Stack:

image

image

La VM SQL sera déployée dans un Resource Group nommé WebsitesSQL:

image

Pendant le déploiement, récupérez l’adresse IP privée de la VM SQL, 10.0.2.4 dans mon cas:

image

La VM SQL est maintenant déployée (le déploiement a duré 45 minutes pour moi):

image

Maintenant, nous allons installer la partie App Service. Commencez par télécharger le logiciel appservice.exe, sur la VM ClientVM. Démarrez le en tant qu’administrateur. Cliquez sur Deploy using Azure Resource Manager:

image

Acceptez la licence:

image

Acceptez la licence pour tous les produits qui seront déployés:

image

Après, il faut créer un nouveau compte de stockage qui sera utilisé pour le déploiement, dans la suscription Default Provider Subscription:

image

Que c’est terminé, récupérez le nom du compte de stockage ainsi que la clé pour y accéder:

SNAGHTML35ebfe4

Fournissez ces informations dans la fenêtre suivante, dans l’installateur App Service:

image

Le téléchargement de chaque produit commence, et après le téléchargement, ils seront envoyés sur votre compte de stockage créé précédemment:

SNAGHTML360308b

Le déploiement s’est terminé avec succès. Un nouveau bouton est apparu, Deploy to Azure Stack. Cliquez dessus:

image

Sur le popup qui apparaît, cliquez sur No. C’est important parce qu’en cliquant sur No, les commandes qui doivent être exécutées seront copiées dans votre clipboard. Ces informations peuvent être récupérées si vous lez perdez, via votre compte de stockage. Ces commandes seront utilisées pour déployer l’infrastructure du RP Web App. Collez les dans un notepad:

image

image

Il est maintenant temps de déployer le RP WebApp. 0 cet étape, vous avez 2 solutions. En PowerShell avec ARM ou directement avec l’interface Web. Ici, je vais vous expliquer la façon avec l’interface Web (pour PowerShell, les explications sont ici). Ouvrez a deuxième URL que vous avez dans votre notepad:

image

Ici, vous avez besoin de plusieurs informations:

1 – Le nom d’un compte de stockage, webappstorage par exemple
2 – Un compte admin pour chaque VM
3 – Un mot de passe pour chaque utilisateur admin
4 – Un suffixe DNS pour accéder au RP WebApp, par exemple webapps.azurestack.local
5 – L’I¨P address de la VM SQL que vous avez récupéré précédemment, pour moi 10.0.2.4
6 – Le compte sysadmin, sa
7 – Le mot de passe du compte sysadmin, le même que le compte local du serveur SQL

image

Vous pouvez adapter chaque valeur pour chaque VM. J’utiliserai ici qu’une seule instance pour chaque VM, mais je change la taille pour une Standard_A2:

image

Il est très important de déployer ce RP WebApp dans le même groupe de ressource que le serveur SQL. Dans mon cas, WebsitesSQL. Cliquez sur Create pour démarrer le déploiement de chaque machine:

image

Le déploiement est démarré:

image

6 VMs sont déployées:

  • CN0-VM: Cette VM est le controller primaire, pour gérer l’infrastructure WebApp
  • FS-VM : C’est le File Server, où les binaires des sites sont stockés mais aussi les sites web des clients
  • WW0-VM: Cet VM est le Web Worker, où les ressources disponibles pour vos clients (App Service) seront disponibles
  • MN0-VM: Cette VM est utilisé pour la partie Hosting Management
  • FTP0-VM: C’est la VM Publisher 
  • FE0-VM: C’est la VM Front End

Le déploiement c’est correctement déroulé (40 minutes pour moi):

image

Nous allons maintenant créer l’entrée DNS pour le wild card *.webapps.azurestack.local. L’IP adress est l’IP du Load-Balancer FrontEndServersLoadBalancer, dans mon cas, 192.168.133.28:

image

L’entrée DNS de type A associée:

image

Ce * va créer un nouveau dossier nommé webapps dans votre DNS:

image

Récupérez maintenant l’IP adresse du Load-Balancer ManagementServerLoadBalancer, pour moi 192.168.133.29:

image

Créez une nouvelle entrée DNS de type A avec le nom management. Ce nom sera utilisé pour enregistrer le RP WebApp dans Azure Stack:

image

Nous allons créer/installer le certificat wildcard. Si vous avez déjà installé le RP SQL, ce certificat existe déjà. Dans le cas contraire, utilisez le début de cet article pour le créer. Connectez vous sur la VM management.azurestack.local et copiez le certificat wildcard sur votre bureau:

image

Ouvrez le et choisissez Local Machine:

image

Sélectionnez les 2 box Make this key as exportable… and Include all properties…:

image

Choisissez la première option, Automatically select…:

image

Importez-le:

image

L’import c’est effectué correctement:

image

Nous allons installer ce certificat sur la VM CN0-VM. Récupérez son IP depuis le portail:

image

Depuis le serveur management connectez vous au serveur CN0-VM . Copiez le certificat depuis le management, et collez le dans C:\Temp de la vm controller:

image

Exécutez le script PowerShell suivant, en remplaçant avec vos valeurs le mot de passe du PFX ainsi que l’URI de la dernière commande, en l’adaptant avec l’URL du management:

Import-Module Websites

$password="pfxPassword"
Set-WebSitesConfig -Type Global -ManagementServerCertificateFileName "C:\Temp\Certificate.pfx" -ManagementServerCertificatePassword $password
Set-WebSitesConfig -Type Global -ArmEndpoint "https://api.azurestack.local"
Set-WebsitesConfig -Type Global -ArmResourceProviderUri 'https://management.azurestack.local/'

SNAGHTML3e6dda7

Exécutez le script:

Get-WebSitesServer -ServerType ManagementServer | Repair-WebSitesServer
Get-WebSitesServer -ServerType LoadBalancer | Repair-WebSitesServer
Get-WebSitesServer -ServerType WebWorker | Repair-WebSitesServer

image

La fin est proche. Nous allons enregistrer le RP WebApp dans notre environnement Azure Stack. Connectez vous sur la VM ClientVM et allez sur https://portal.azurestack.local .Allez dans Resource Providers et cliquez sur Add:

image

Remplissez chaque champs:

1 – Le nom du déploiement
2 – L’URL de management, https://management.azurestack.local/
3
– Le nom d’utilisateur des VMs, admin
4 – Le mot de passe des VMs
5 – La location, local
6 – Un groupe de ressource, WebAppsRG

image

L’enregistrement est terminé:

image

Le déploiement est terminé, nous pouvons l’ajouter à notre plan:

image

Nous allons maintenant ajouter un serveur, pour avoir la possibilité de déployer des site web sur des App Service de type Standard. J’ai déployé une nouvelle VM WS 2012 R2 (Standard_A3) pour l’utiliser en tant qu’App Service Medium. Cette VM est connecté sur le même réseau que mes autres VMs du RP WebApp et donc, dans le même groupe de ressource:

image

Connectez vous sur cette VM et ajoutez le même compte que vous avez utilisé pour votre ferme Web App (admin) avec le même mot de passe. Ce compte doit être administrateur local de la VM:

image

Exécutez la commande PowerShell suivant pour pouvoir vous connecter à distance (WinRM) avec un compte qui ne provient pas de ce serveur:

Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name LocalAccountTokenFilterPolicy -Value 1 -Force

Allez sur votre Resource Providers web-apps:

image

Cliquez sur Roles:

image

Comme vous pouvez le voir, actuellement, les clients peuvent seulement créer des site sur une infrastructure de type Shared. Nous devons donc ajouter des serveurs pour les instances suivantes Small/Medium/Large. Cliquez sur Add Role Instance et fournissez l’adresse IP de la VM que vous venez de créer et choisissez la taille à laquelle vous voulez associer cette VM:

image

image

Si vous allez sur la VM controller, et que vous ouvrez le raccourci sur le bureau Web Cloud Management Console, vous pouvez voir que le serveur que vous avez ajouté est en cours de configuration pour recevoir des nouvelles instances:

image

Le serveur est maintenant prêt à recevoir des instances (l’ajout a pris 30 minutes sur mon environnement):

image

Mon client peut maintenant déployer une WebApp. Cliquez sur New > Web + Mobile et choisissez un site:

image

Je vais déployer un wordpress. Pour le App Service, je vais utiliser le pricing tier Standard-Medium, car c’est celui que je viens d’ajouter:

image

Je vais le lier à une base de données existante:

image

image

Après quelques minutes, vous pouvez naviguer sur votre nouveau site:

imageimage

Django:

image

Et pour.Net Nuke, avec une base de données SQL:

image

image

image

Si vous avez des questions, n’hésitez pas à me contacter Sourire

Facebook Like
Anonymous