Partager via


Infrastructure et gestion de scripts cloud Mesh

Vue d’ensemble

Dans cet article, vous allez découvrir différents aspects de l’infrastructure et de la gestion mesh Clouding, notamment les services déployés sur votre abonnement Azure lorsque vous générez et publiez votre projet Cloud Scripting.

Ressources déployées

Mesh Cloud Scripting se compose de . Applications basées sur NET qui s’exécutent dans le cloud. L’infrastructure cloud Mesh Cloud Scripting déployée sur l’abonnement Azure du client contient les ressources Azure suivantes :

  1. Plan App Service : représente un cluster de calcul dans lequel les applications web peuvent s’exécuter. Il peut également exécuter une ou plusieurs applications web différentes.

  2. Réseau virtuel Azure : il s’agit de la ressource de réseau virtuel dans laquelle les instances App Service sont déployées et leur permet de communiquer entre elles.

  3. Instance d’application web Azure : représente une instance de l’application web s’exécutant sur une machine virtuelle spécifique.

  4. Stockage Azure compte : contient le contenu publié et les informations sur les instances d’application web Azure. Il est subdivisé en deux composants :

    1. Le stockage Blob du service mesh de script cloud : contient l’objet blob mesh Cloud Scripting Service chargé par le chargeur mesh.
    2. La Table d’adhésion à la Orléans : contient des informations sur la vie des instances du Silo d’Orléans.
  5. Espace de travail Log Analytics : contient les journaux émis à partir du service Mesh Cloud Scripting s’exécutant sur App Service.

  6. Application Insights : fournit des fonctionnalités de surveillance des performances des applications (APM). Les outils APM sont utiles pour surveiller les applications du développement, du test et de la production.

Plan App Service

Un plan App Service définit un ensemble de ressources de calcul qui permettent à une application web de s’exécuter.

Quand vous créez un plan App Service dans une région (par exemple, Europe Ouest), un ensemble de ressources de calcul est créé pour ce plan dans cette région. Toutes les applications que vous placez dans ce plan App Service s’exécutent sur ces ressources de calcul telles que définies par votre plan App Service. Chaque plan App Service définit les éléments suivants :

  • Système d’exploitation (Windows, Linux)
  • Région (USA Ouest, USA Est, etc.)
  • Nombre d’instances de machine virtuelle
  • Taille des instances de machine virtuelle (petite, moyenne ou grande)
  • Niveau tarifaire (Gratuit, Partagé, De base, Standard, Premium, PremiumV2, PremiumV3, Isolé, IsoléV2)

Pour plus d’informations, reportez-vous à la documentation du plan App Service.

Paramètres de ressource par défaut du kit de ressources Mesh pour le plan App Service

  • Nom de la référence SKU : P1v2
  • Niveau de référence SKU : PremiumV2
  • Capacité de référence SKU : 1
  • Type : Linux
  • Réservé : True

Dans le contexte de Mesh Cloud Scripting Services, le plan App Service est le composant de calcul. Elle peut être mise à l’échelle automatiquement et gérer la façon dont les différentes instances communiquent entre elles (mise en réseau). CloudHost, qui est l’application qui exécute et gère Mesh Cloud Scripting Services, est actuellement proposé en tant qu’image Docker et, par conséquent, nous utilisons un plan Linux. Les plans Premium sont plus adaptés aux charges de travail de production.

Pour plus d’informations sur les valeurs par défaut, reportez-vous à la référence de modèle Bicep &ARM pour la ressource de plan App Service.

App Service

Azure App Service est un service HTTP pour l’hébergement d’applications web, d’API REST et de backends mobiles. App Service ajoute la puissance de Microsoft Azure à votre application, notamment concernant la sécurité, l’équilibrage de charge, la mise à l’échelle automatique et la gestion automatisée. Avec App Service, vous payez pour les ressources de calcul Azure que vous utilisez. Les ressources de calcul que vous utilisez sont déterminées par le plan App Service sur lequel vous exécutez vos applications.

Pour plus d’informations, reportez-vous à la documentation App Service.

Paramètres de ressource par défaut du kit de ressources Mesh - App Service

  • httpsOnly : True
  • alwaysOn : True
  • vnetPrivatePorts Count : 2
  • vnetRouteAllEnabled : True
  • vnetName : nom de Réseau virtuel par défaut

Pour plus d’informations sur les valeurs par défaut, reportez-vous à la référence de modèle Bicep &ARM pour la ressource de plan App Service.

Réseau virtuel

Le Réseau virtuel Azure est le composant fondamental de votre réseau privé dans Azure. Le réseau virtuel permet à de nombreux types de ressources Azure, telles que les machines virtuelles (VM) Azure, de communiquer de manière sécurisée entre elles, avec Internet et avec les réseaux locaux. Un réseau virtuel est similaire à un réseau traditionnel que vous utiliseriez dans votre propre centre de données. Cependant, le réseau virtuel Microsoft Azure apporte les avantages de l’infrastructure Azure tels que la mise à l’échelle, la disponibilité et l’isolation.

Pour plus d’informations, reportez-vous à la documentation Réseau virtuel.

Paramètres de ressource par défaut du kit de ressources Mesh - Réseau virtuel

  • AddressSpace addressPrefixes : 10.0.0.0/16
  • AddressPrefix de sous-réseau : 10.0.0.0/24
  • Nom des délégations de sous-réseau : délégation
  • Nom du service Délégations de sous-réseau : Microsoft.Web/serverFarms

Pour plus d’informations sur les valeurs par défaut, reportez-vous à la référence de modèle Bicep &ARM pour la ressource Réseau virtuel.

Compte de stockage

Un compte de stockage Azure contient tous vos objets de données de stockage Azure : objets blob, fichiers, files d’attente et tables. Le compte de stockage fournit pour vos données de stockage Azure un espace de noms unique, accessible de n’importe où dans le monde par le biais du protocole HTTP ou HTTPS. Les données dans votre compte de stockage sont durables et hautement disponibles, sécurisées et massivement évolutives.

Pour plus d’informations, reportez-vous à la documentation sur le compte de stockage.

Paramètres de ressources par défaut du kit de ressources Mesh - Compte de stockage

  • Nom de la référence SKU : Standard_LRS
  • Type : StorageV2

Pour plus d’informations sur les valeurs par défaut, reportez-vous à la référence de modèle Bicep &ARM pour la ressource de compte de stockage.

Espace de travail Log Analytics

Un espace de travail Log Analytics constitue un environnement unique pour les données de journaux provenant d’Azure Monitor et d’autres services Azure, comme Microsoft Sentinel et Microsoft Defender pour le cloud. Il s’agit d’un outil dans le Portail Azure utilisé pour modifier et exécuter des requêtes de journal sur des données dans le magasin de journaux Azure Monitor.

Pour plus d’informations, reportez-vous à la documentation de l’espace de travail Log Analytics.

Paramètres de ressource par défaut du kit de ressources Mesh - Espace de travail Log Analytics

  • forceCmkForQuery : false
  • retentionInDays : 30
  • Nom de la référence SKU : PerGB2018
  • dailyQuotaGb : 2 Go

Pour plus d’informations sur les valeurs par défaut, reportez-vous à la référence de modèle Bicep &ARM pour la ressource Espace de travail.

Application Insights

Application Insights est une extension d’Azure Monitor et fournit des fonctionnalités de suivi des performances des applications (APM). Les outils APM sont utiles pour surveiller les applications du développement, par le biais du test et de la production de la manière suivante :

Comprendre de manière proactive comment une application fonctionne. Passez en revue de manière réactive les données d’exécution de l’application pour déterminer la cause d’un incident. En plus de collecter des métriques et des données de télémétrie d’application, qui décrivent les activités et l’intégrité de l’application, vous pouvez utiliser Application Insights pour collecter et stocker des données de journalisation des traces d’application.

Pour plus d’informations, reportez-vous à la documentation Application Insights.

Paramètres de ressources par défaut du kit de ressources Mesh - Application Insights

  • Type : web
  • Request_Source : repos
  • WorkspaceResourceId : ID d’espace de travail Log Analytics par défaut.

Pour plus d’informations sur les valeurs par défaut, reportez-vous à la référence de modèle Bicep &ARM pour la ressource Réseau virtuel.

Diagramme de l’infrastructure Mesh Cloud Scripting Services

Diagramme montrant l’infrastructure des services Mesh Cloud Scripting

Inscription du fournisseur de ressources

Les services à inscrire sont les suivants :

  1. Microsoft.Web
  2. Microsoft.Storage
  3. Microsoft.Network
  4. Microsoft.Insights
  5. Microsoft.OperationalInsights

Notes

  • Si vous avez besoin d’aide sur les erreurs, consultez les erreurs d’inscription du fournisseur de ressources.

  • Comme expliqué dans la documentation Azure, l’inscription des services est effectuée au niveau de l’abonnement. En d’autres termes, il n’est pas nécessaire d’inscrire les services pour différents groupes de ressources.

Contrôle d’accès pour le déploiement du service Mesh Cloud Scripting

  1. Les développeurs doivent disposer d’un nombre d’e-mails qui peut être utilisé pour le déploiement. Il peut s’agir d’un compte nouveau ou préexistant.

  2. Si vous gérez le contrôle d’accès via un groupe de sécurité Azure, créez ce groupe (par exemple, « Mesh Cloud Scripting Services Developers »). Pour plus d’informations sur le groupe de sécurité Azure par rapport aux types de groupes Microsoft 365, consultez En savoir plus sur les groupes et l’appartenance au groupe.

  3. Décidez de la façon dont vous souhaitez que les développeurs accèdent à votre abonnement Azure. Cela est déterminé par le développeur comme membre natif de l’annuaire ou d’un utilisateur invité.

    1. Vous pouvez ajouter des membres natifs au groupe de sécurité Azure que vous avez créé à l’étape 2 ci-dessus si vous souhaitez gérer facilement les contrôles d’accès.
    2. Vous pouvez ajouter des utilisateurs invités à votre abonnement Azure ou les ajouter au groupe de sécurité Azure (voir l’étape 2 ci-dessus).

    Pour plus d’informations sur les utilisateurs invités, consultez Ajouter des utilisateurs B2B Collaboration dans le Portail Azure.

Nos recommandations pour le contrôle d’accès

Voici quelques recommandations pour permettre aux développeurs d’accéder à l’infrastructure cloud Mesh Cloud Scripting Services dans Azure. Celles-ci varient en fonction de la façon dont vous souhaitez que vos stratégies de contrôle d’accès soient restrictives.

  1. Accordez aux développeurs le rôle Contributeur sur l’intégralité de l’abonnement approvisionné pour vos services mesh Cloud Scripting Services.

  2. Créez un groupe de ressources dédié pour le déploiement de l’infrastructure cloud Mesh Cloud Scripting Services et accordez aux développeurs le rôle Contributeur dans ce groupe de ressources. Vous pouvez le faire via le groupe de sécurité Azure que vous avez créé dans le deuxième prérequis, en d’autres termes, « Mesh Cloud Scripting Services Developers ». Cela leur accorde un accès complet pour gérer toutes les ressources, mais ne leur permet pas d’attribuer des rôles dans Azure RBAC, de gérer les affectations dans Azure Blueprints ou de partager des galeries d’images.

  3. Créez un rôle personnalisé dans Azure qui dispose des autorisations minimales nécessaires pour créer et gérer l’infrastructure cloud Mesh Cloud Scripting Services.

    Vous pouvez attribuer ce rôle directement sur le groupe de sécurité Azure que vous avez créé dans la deuxième condition préalable, c’est-à-dire « Mesh Cloud Scripting Services Developers ».

    Voici nos autorisations recommandées pour les rôles personnalisés que vous créez :

    Écran de la page dans laquelle vous choisissez des rôles personnalisés.

    Le fichier JSON que vous chargez doit être similaire à ce** :

    {
    "id": "88888-8888-8888-888-8888888",
        "properties": {
            "roleName": "MeshCloudScriptingServiceDeployer",
            "description": "Grants access to Mesh Cloud Scripting Services resources",
            "assignableScopes": [
                "/subscriptions/{subscriptionID}"
            ],
            "permissions": [
                {
                    "actions": [
                        "*/read",
                        "Microsoft.Authorization/*/read",
                        "Microsoft.ClassicCompute/virtualMachines/extensions/*",
                        "Microsoft.ClassicStorage/storageAccounts/listKeys/action",
                        "Microsoft.Compute/virtualMachines/extensions/*",
                        "Microsoft.HybridCompute/machines/extensions/write",
                        "Microsoft.Insights/alertRules/*",
                        "Microsoft.Insights/autoscalesettings/*",
                        "Microsoft.Insights/components/*",
                        "Microsoft.Insights/diagnosticSettings/*",
                        "Microsoft.Insights/generateLiveToken/read",
                        "Microsoft.Insights/metricAlerts/*",
                        "Microsoft.Insights/scheduledqueryrules/*",
                        "Microsoft.Insights/topology/read",
                        "Microsoft.Insights/transactions/read",
                        "Microsoft.Insights/webtests/*",
                        "Microsoft.Network/*",
                        "Microsoft.OperationalInsights/*",
                        "Microsoft.OperationsManagement/*",
                        "Microsoft.ResourceHealth/availabilityStatuses/read",
                        "Microsoft.Resources/deployments/*",
                        "Microsoft.Resources/subscriptions/resourcegroups/deployments/*",
                        "Microsoft.Resources/subscriptions/resourceGroups/read",
                        "Microsoft.Storage/storageAccounts/*",
                        "Microsoft.Support/*",
                        "Microsoft.Web/certificates/*",
                        "Microsoft.Web/hostingEnvironments/Join/Action",
                        "Microsoft.Web/listSitesAssignedToHostName/read",
                        "Microsoft.Web/serverFarms/join/action",
                        "Microsoft.Web/serverFarms/*",
                        "Microsoft.Web/sites/*"
                    ],
                    "notActions": [],
                    "dataActions": [],
                    "notDataActions": []
                }
            ]
        }
    }
    

    Remarque

    Le rôle personnalisé MeshCloudScriptingServiceDeployer n’autorise pas les utilisateurs à créer des groupes de ressources. Si nous voulons que les utilisateurs créent un groupe de ressources, ils ont également besoin des autorisations Microsoft.Resources/subscriptions/resourcegroups/write.

Limitations de quota pour mesh Cloud Scripting Services

L’infrastructure Mesh Cloud Scripting Services utilise le plan Linux Premium App Service (P1V2). Voici les limites App Service que vous pouvez rencontrer lors du déploiement du service mesh Cloud Scripting :

Ressource Premium (P1V2)
Applications web, mobiles ou API par plan Azure App Service Illimité
Plan App Service 100 par groupe de ressources

Remarque

Les applications et les quotas de stockage sont par plan App Service, sauf indication contraire.

Remarque

Le nombre réel d’applications que vous pouvez héberger sur ces ordinateurs dépend de l’activité des applications, de la taille des instances de machine et de l’utilisation des ressources correspondantes.

Si vous recevez l’erreur suivante : « Cette région a un quota de 0 instances PremiumV2 pour votre abonnement. Essayez de sélectionner une autre région ou référence SKU », consultez les limites et quotas d’abonnement Azure.

Nettoyer les services de script cloud maillage obsolètes

Si vous avez des services mesh Cloud Scripting obsolètes ou inutilisés, procédez comme suit pour rechercher vos ressources Mesh Cloud Scripting et les supprimer.

  1. Connectez-vous au portail Azure.

  2. Accédez à l’onglet « Toutes les ressources ».

    Sélectionnez toutes les ressources dans Portail Azure

  3. Dans la page « Toutes les ressources » :

    a. Sélectionnez l’option Abonnement appropriée.

    Sélectionner un abonnement dans Azure

    b. Ajoutez un filtre avec la balise EnvironmentName.

    Filtre EnvironmentName dans Azure

    c. Recherchez les ressources qui correspondent aux environnements que vous souhaitez supprimer.

    Filtre de ressources dans Azure

  4. Nettoyez les services de script cloud maillage obsolètes en cliquant sur les points de suspension en regard du nom de chaque ressource trouvée à l’étape 3C, puis en cliquant sur Supprimer dans la liste déroulante. Vous pouvez également utiliser Azure CLI comme décrit dans cet article sur la suppression des ressources pour supprimer les ressources par nom.

Étapes suivantes