Blog de Florent Appointaire

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

    [WAP] Installation et configuration de Azure Pack Connector

    7217.Windows-Azure-logo-v_6556EF52

    Microsoft a rendu disponible fin Février une première version de Azure Pack Connector. Ce plugin vous permet, depuis l’interface de Windows Azure Pack, de déployer et gérer des VMs sur Azure. Le 5 Avril dernier, Microsoft a rendu disponible la version 1.1. C’est avec cette version que je vais vous montrer comment déployer cet outil.

    Assurez vous d’avoir un Azure Active Directory avant de commencer. Ensuite, téléchargez le Azure Pack Connector: https://github.com/Microsoft/Phoenix/releases/tag/v1.1

    Copiez les sources sur les serveurs qui hébergerons les 3 rôles que composent ce composant:

    • CMP Server
    • WAP Tenant Extension
    • WAP Admin Extension

    Connectez vous sur un serveur qui contient IIS et générez un certificat de type Self-Signed ou d’entreprise, via une PKI. Exportez ce certificat, via IIS et importez le sur les serveurs qui hébergerons les 3 rôles précédent. Vous devez l’importer dans le Current User et dans le Local Machine, en incluant bien toutes les propriétés et en choisissant de placer automatiquement le certificat dans le bon magasin. Ensuite, ouvrez une MMC, et ajoutez le snap-in Certificates sur le Local Computer. Ouvrez les clés privées et ajoutez le groupe Everyone:

    SNAGHTML960daa7

    image

    Ce certificat sera utilisé pour le chiffrement.

    Vous devez maintenant télécharger et installer les Feature Pack suivante de SQL Server 2014, sur chaque serveur qui aura le plugin installé:

    • Shared Management Objects (SMO)
    • Transact-SQL ScriptDom (SQLDOM)
    • System CLR Types (SQLSysClrTypes)

    Redémarrez les serveurs. Nous pouvons maintenant lancer l’installation du plugin. Décompressez l’archive que vous avez téléchargé sur le serveur où sera installé l’extension de la partie Admin et exécutez l’application SetupCMP.exe:

    image

    Choisissez d’ajouter de nouvelles fonctionnalités:

    image

    Ici, je vais sélectionner les 2 fonctionnalités suivantes:

    • CMP Server
    • WAP Admin Extension

    image

    Acceptez la licence:

    image

    Choisissez où installer les binaires:

    image

    Donnez le nom du serveur SQL qui hébergera la base de donnée, ainsi que son instance, pour la partie CMP Service:

    image

    Faites de même pour la partie WAP:

    image

    Je vais utiliser un compte de service pour faire tourner le service CMP. Ce compte doit être administrateur local de la machine. Choisissez également le certificat que vous avez généré au début:

    image

    Vous avez ici un résumé de votre installation:

    image

    L’installation est terminée:

    image

    Dans IIS Manager:

    image

    Dans la partie WAP Admin Portal:

    image

    Allez maintenant sur le serveur qui contient le site Tenant et exécutez le fichier SetupCMP.exe. L’installation est la même, sauf que vous allez choisir la partie WAP Tenant Extension:

    image

    Choisissez d’utiliser une base de donnée existante:

    image

    image

    Et choisissez le certificat que vous avez importé:

    image

    Installez le dernier composant:

    image

    image

    Allez maintenant sur l’instance SQL qui contient la base de donnée Microsoft.MgmtSvc.Store et exécutez la requête suivante pour créer un nouvel utilisateur et l’associer à la base de donnée. Vous pouvez changer le nom d’utilisateur/mot de passe:

    USE [master]
    GO
    CREATE LOGIN [MgmtSvc-CmpWapExtension] WITH PASSWORD=N'pass@word1', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
    GO
    USE [Microsoft.MgmtSvc.Store]
    GO
    CREATE USER [MgmtSvc-CmpWapExtension] FOR LOGIN [MgmtSvc-CmpWapExtension]
    ALTER USER [MgmtSvc-CmpWapExtension] WITH DEFAULT_SCHEMA=[dbo]
    ALTER ROLE [db_owner] ADD MEMBER [MgmtSvc-CmpWapExtension]
    GO

    image

    Il faut maintenant fournir la bonne chaine de connexion SQL à notre plugin. Allez sur le serveur qui contient l’extension CMP et ouvrez le fichier Web.config (en tant qu’administrateur) dans le dossier C:\inetpub\MgmtSvc-CmpWapExtension. Remplacez la chaine de connexion MicrosoftMgmtSvcStoreContext par la suivante, en adaptant avec vos données:

    <add name="MicrosoftMgmtSvcStoreContext" connectionString="Data Source=DEVOC-SQL-001\WAP;Initial Catalog=Microsoft.MgmtSvc.Store;Persist Security Info=True;User ID=MgmtSvc-CmpWapExtension;Password=pass@word1;MultipleActiveResultSets=True" providerName="System.Data.SqlClient"/>

    image

    Modifiez les 2 chaines de connexions précédentes en ajoutant après la base de donnée, ;MultipleActiveResultSets=True”

    image

    Faites les 2 étapes précédentes sur chaque serveur CMP. Associez le certificat utilisé lors de l’installation au site IIS, sur chaque serveur:

    image

    Exécutez sur chaque serveur un iisreset pour prendre en compte les modifications. Sur un des serveurs, nous allons lancer le script qui permet d’enregistrer ce nouveau Resource Provider. Allez dans C:\inetpub\MgmtSvc-CmpWapExtension et exécutez le script Register-ResourceProvider.ps1. Vous devez fournir le nom du serveur qui contient l’extension d’administration et l’extension tenant:

    image

    Dans votre portail d’administration, le RP est enregistré correctement:

    image

    Téléchargez maintenant le script suivant : https://github.com/Microsoft/Phoenix/blob/master/tools/Create-AADSPN.ps1 et exécutez le sur un ordinateur qui contient le module AzureRM. Ce script va créer une application personnalisée dans votre Azure AD.

    SNAGHTML92708a6

    Nous allons maintenant ajouter le plugin à un plan. Vous aurez besoin des informations suivantes (ces informations sont disponibles dans la sortie du script que vous avez exécuté juste avant) :

    • Le numéro de la suscription Azure (subscriptionId)
    • Le numéro de votre Azure AD (tenantId)
    • La clé que vous avez renseigné lors de la création de l’application (appKey)
    • Le numéro de l’application de l’Azure AD (App ID)

    Depuis le portail d’administration, ajoutez le service CMP à un plan:

    image

    Vous devriez avoir une page semblable à celle ci, en ajoutant un compte:

    image

    Remplissez chaque case avec les informations que vous avez récolté:

    SNAGHTML93f812d

    Cliquez sur le bouton Add Subscription. Si tout est OK, vous aurez un bandeau vert avec un message de succès:

    SNAGHTML941ec03

    Ajoutez la suscription au Plan en cliquant sur Add Selected Subscription To Plan:

    image

    Choisissez les images disponibles ainsi que les tailles et cliquez sur Save:

    SNAGHTML94378bd

    Dans le portail client, vous pouvez maintenant déployer une VM sur Azure:

    image

    image

    image

    image

    Et avec le détail:

    SNAGHTML972cc38

    Ce nouveau plugin est très intéressant pour avoir la possibilité de déployer rapidement une VM sur Azure, mais certaines fonctionnalités sont manquantes, comme la possibilité de déployer une VM sur un Datacenter européen, des VMs linux, etc…

    Troubleshooting

    Erreur 1

    Après le déploiement, j’ai eu l’erreur suivante dans le journal d’évènement:

    Exception in SyncWorker.SynchWithCmp() : Exception in CmpClient.FetchCmpRequests() : Exception in GetAzureContainers() : The underlying provider failed on Open. - Cannot open database "CMP_DB" requested by the login. The login failed.
    Login failed for user 'DOMAIN\DEVOC-WAPTNT-01$'. :

    SNAGHTML9468d8f

    Les comptes ordinateurs de mes 2 VMs n’avaient pas les droits sur l’instance qui contient les DBs CMP. Je les ai donc rajouté sysadmin, et l’erreur a disparu.

    Erreur 2

    Si vous avez l’erreur suivante:

    Exception in SyncWorker.SyncWithAzure() : Exception in FetchServiceProviderAccountList() : Exception in Decrypt() : Keyset does not exist
    :

    SNAGHTML96a6121

    Assurez vous d’avoir bien donné la permission à Everyone en Full pour gérer les clés privés du certificat importé.

    • 4/4/2016

    [MVP] Première nomination

    image

    Et voilà, depuis le 1er Avril 2016, Microsoft m'a élu Microsoft MVP dans la catégorie Cloud and Datacenter Management (et ce n'est pas un poisson :) )

    Ce titre m'a été décerné pour mes différentes activités au sein de la communauté Microsoft.

    Je tiens à remercier les gens qui m'ont aidé et soutenu, Romain, JS, Benoit, Christophe, etc (désolé pour ceux que je n'ai pas pu citer, mais la liste est bien trop longue :) ) ainsi que vous les lecteurs.
    Mais celle que je remercie le plus est sans nul doute ma compagne, Alexandra, qui me supporte quand je travaille le soir/week-end pour vous apporter du nouveau contenu.

    La suite pour 2016:

    Et bien sur, continuer à blogger, rencontrer de nouvelles personnes, découvrir de nouveaux produits, etc.

    Merci encore à tous et à bientôt :)