Administración y infraestructura de Scripting en la nube de Mesh

Información general

En este artículo, obtendrá información sobre varios aspectos de la infraestructura y administración de Mesh Clouding, incluidos los servicios que se implementan en la suscripción de Azure al compilar y publicar el proyecto de Scripting en la nube.

Recursos implementados

Mesh Cloud Scripting Services son . Aplicaciones basadas en NET que se ejecutan en la nube. La infraestructura de nube mesh Cloud Scripting implementada en la suscripción de Azure del cliente contiene los siguientes recursos de Azure:

  1. App Service plan: representa un clúster de proceso donde se pueden ejecutar las aplicaciones web. También puede ejecutar una o varias aplicaciones web diferentes.

  2. Red virtual de Azure: este es el recurso de red virtual en el que se implementan las instancias de App Service y les permite comunicarse entre sí.

  3. Instancia de Azure Web App: representa una instancia de la aplicación web que se ejecuta en una máquina virtual específica.

  4. Cuenta de Azure Storage: contiene el contenido publicado y la información sobre las instancias de la aplicación web de Azure. Se subdivide en dos componentes:

    1. El blob Storage de Mesh Cloud Scripting Service: contiene el blob mesh Cloud Scripting Service cargado por el cargador de malla.
    2. The Orleans Membership Table: contiene información sobre la vida de las instancias de Orleans Silo.
  5. Área de trabajo de Log Analytics: contiene los registros emitidos desde Mesh Cloud Scripting Service que se ejecuta en App Service.

  6. Application Insights: proporciona características de supervisión del rendimiento de aplicaciones (APM). Las herramientas de APM son útiles para supervisar aplicaciones de desarrollo, pruebas y producción.

Plan de servicio de aplicación

Un plan de App Service define un conjunto de recursos de proceso que permiten ejecutar una aplicación web.

Cuando se crea un plan de App Service en una región determinada (por ejemplo, Oeste de Europa), se crea un conjunto de recursos de proceso para ese plan en dicha región. Todas las aplicaciones que coloque en este plan de App Service se ejecutan en estos recursos de proceso según lo definido por el plan de App Service. Cada plan de App Service define:

  • Sistema operativo (Windows, Linux)
  • Región (oeste de EE. UU., este de EE. UU., etc.)
  • Número de instancias de VM
  • Tamaño de las instancias de VM (pequeño, mediano, grande)
  • Plan de tarifa (Gratis, Compartido, Básico, Estándar, Premium, PremiumV2, PremiumV3, Aislado y AisladoV2)

Para obtener más información, consulte la documentación del plan de App Service.

Configuración de recursos predeterminada del kit de herramientas de Mesh para App Service Plan

  • Nombre de la SKU: P1v2
  • Nivel de SKU: PremiumV2
  • Capacidad de SKU: 1
  • Tipo: Linux
  • Reservado: True

En el contexto de Mesh Cloud Scripting Services, el plan de App Service es el componente de proceso. Se puede escalar automáticamente y controlar cómo se comunican las distintas instancias entre sí (redes). CloudHost, que es la aplicación que ejecuta y administra Mesh Cloud Scripting Services, se ofrece actualmente como una imagen de Docker y, como tal, usamos un plan basado en Linux. Los planes Premium son más adecuados para cargas de trabajo de producción.

Para obtener más información sobre los valores predeterminados, consulte la referencia de plantilla de Arm de Bicep & para el recurso de plan de App Service.

App Service

Azure App Service es un servicio basado en HTTP para hospedar aplicaciones web, API de REST y back-ends para dispositivos móviles. App Service agrega a su aplicación capacidades potentes de Microsoft Azure, como la seguridad, el equilibrio de carga, el escalado automático y la administración automatizada. Con App Service, se paga por los recursos de proceso de Azure que se utilizan. Los recursos de proceso que usa se determinan mediante el plan de App Service en el que ejecuta las aplicaciones.

Para obtener más información, consulte la App Service Docs.

Configuración de recursos predeterminada del kit de herramientas de Mesh: App Service

  • httpsOnly: True
  • alwaysOn: True
  • Recuento de vnetPrivatePorts: 2
  • vnetRouteAllEnabled: True
  • vnetName: nombre de Virtual Network predeterminado

Para obtener más información sobre los valores predeterminados, consulte la referencia de plantilla de Arm de Bicep & para el recurso App Service Plan.

Virtual Network

Azure Virtual Network es el bloque de creación básico de una red privada en Azure. Una red virtual permite que muchos tipos de recursos de Azure, como máquinas virtuales (VM) de Azure, se comuniquen de forma segura entre sí, con Internet y con las redes locales. Una red virtual es similar a la red tradicional con la que trabajaría en su propio centro de datos. Una red virtual de Azure incluye las ventajas adicionales que aporta la infraestructura de Azure, como la escala, la disponibilidad y el aislamiento.

Para obtener más información, consulte la Virtual Network Docs.

Configuración de recursos predeterminada del kit de herramientas de Mesh: Virtual Network

  • AddressSpace addressPrefixes: 10.0.0.0/16
  • Dirección de subredPrefix: 10.0.0.0/24
  • Nombre de las delegaciones de subred: delegación
  • Subnet Delegations serviceName: Microsoft.Web/serverFarms

Para obtener más información sobre los valores predeterminados, consulte la referencia de plantilla de Arm de Bicep & para el recurso de Virtual Network.

Cuenta de almacenamiento

Una cuenta de Azure Storage contiene todos los objetos de datos de Azure Storage: blobs, archivos, colas y tablas. La cuenta de almacenamiento proporciona un espacio de nombres único para los datos de Azure Storage que es accesible desde cualquier lugar del mundo mediante HTTP o HTTPS. Los datos de la cuenta de almacenamiento son duraderos y altamente disponibles, seguros y escalables a gran escala.

Para más información, consulte la documentación de la cuenta de almacenamiento.

Configuración de recursos predeterminada del kit de herramientas de Mesh: cuenta de almacenamiento

  • Nombre de la SKU: Standard_LRS
  • Tipo: StorageV2

Para obtener más información sobre los valores predeterminados, consulte la referencia de plantilla de Arm de Bicep & para el recurso cuenta de almacenamiento.

Área de trabajo de Log Analytics

Un área de trabajo de Log Analytics es un entorno único para los datos de registro de Azure Monitor y otros servicios de Azure, como Microsoft Sentinel y Microsoft Defender for Cloud. Es una herramienta de la Azure Portal que se usa para editar y ejecutar consultas de registro en los datos del almacén de registros de Azure Monitor.

Para más información, consulte la documentación del área de trabajo de Log Analytics.

Configuración predeterminada del recurso del kit de herramientas de Mesh: área de trabajo de Log Analytics

  • forceCmkForQuery: false
  • retentionInDays: 30
  • Nombre de SKU: PerGB2018
  • dailyQuotaGb: 2 GB

Para obtener más información sobre los valores predeterminados, consulte la referencia de plantilla de Arm de Bicep & para el recurso Workspace.

Application Insights

Application Insights es una extensión de Azure Monitor y proporciona características de APM (application performance monitoring). Las herramientas de APM son útiles para supervisar aplicaciones de desarrollo, pruebas y producción de las siguientes maneras:

De manera proactiva comprende cómo funciona una aplicación. De manera reactiva revisa los datos de ejecución de la aplicación para determinar la causa de un incidente. Además de recopilar métricas y datos de telemetría de aplicaciones, que describen las actividades y el estado de la aplicación, puede usar Application Insights para recopilar y almacenar datos de registro de seguimiento de aplicaciones.

Para más información, consulte la documentación de Application Insights.

Configuración de recursos predeterminada del kit de herramientas de Mesh: Application Insights

  • Tipo: web
  • Request_Source: reposo
  • WorkspaceResourceId: identificador predeterminado del área de trabajo de Log Analytics.

Para obtener más información sobre los valores predeterminados, consulte la referencia de plantilla de Arm de Bicep & para el recurso de Virtual Network.

Diagrama de infraestructura en la nube de Mesh Cloud Scripting Services

Diagrama de infraestructura de Mesh Cloud Scripting Service

Registros del proveedor de recursos

Los servicios que se van a registrar son:

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

Notas

  • Si necesita ayuda con errores, consulte Errores de registro del proveedor de recursos.

  • Como se explica en la documentación de Azure, el registro de servicios se realiza en un nivel de suscripción. En otras palabras, no es necesario registrar los servicios para distintos grupos de recursos.

Control de acceso para la implementación de Mesh Cloud Scripting Service

  1. Los desarrolladores deben tener un recuento de correo electrónico que se pueda usar para la implementación. Puede ser una cuenta nueva o preexistente.

  2. Si va a administrar el control de acceso a través de un grupo de seguridad de Azure, cree este grupo (por ejemplo, "Mesh Cloud Scripting Services Developers"). Para más información sobre el grupo de seguridad de Azure en comparación con los tipos de grupo de Microsoft 365, consulte Más información sobre los grupos y la pertenencia a grupos.

  3. Decida cómo desea que los desarrolladores accedan a su suscripción de Azure. Esto viene determinado por si el desarrollador es miembro nativo del directorio o un usuario invitado.

    1. Puede agregar miembros nativos al grupo de seguridad de Azure que creó en el paso 2 anterior si desea administrar fácilmente los controles de acceso.
    2. Puede agregar usuarios invitados a su suscripción de Azure o agregarlos al grupo de seguridad de Azure (consulte el paso 2 anterior).

    Para obtener más información sobre los usuarios invitados, vea Agregar usuarios de colaboración B2B en el Azure Portal .

Nuestras recomendaciones para el control de acceso

Estas son algunas recomendaciones para conceder a los desarrolladores acceso para aprovisionar la infraestructura en la nube de Mesh Cloud Scripting Services en Azure. Estos varían en función de lo restrictivo que quiera que sean las directivas de control de acceso.

  1. Conceda a los desarrolladores el rol Colaborador en toda la suscripción aprovisionada para Mesh Cloud Scripting Services.

  2. Cree un grupo de recursos dedicado para la implementación de la infraestructura en la nube de Mesh Cloud Scripting Services y conceda a los desarrolladores el rol Colaborador en este grupo de recursos. Puede hacerlo a través del grupo de seguridad de Azure que creó en el segundo requisito previo, es decir, "Mesh Cloud Scripting Services Developers". Esto les concede acceso completo para administrar todos los recursos, pero no les permite asignar roles en RBAC de Azure, administrar asignaciones en Azure Blueprints o compartir galerías de imágenes.

  3. Cree un rol personalizado en Azure que tenga los permisos mínimos necesarios para crear y administrar la infraestructura en la nube de Mesh Cloud Scripting Services.

    Puede asignar este rol directamente en el grupo de seguridad de Azure que creó en el segundo requisito previo, es decir, "Mesh Cloud Scripting Services Developers".

    Estos son nuestros permisos recomendados para los roles personalizados que cree:

    Diagrama de infraestructura de Mesh Cloud Scripting Service

    El archivo JSON que cargaría debería ser similar a este**:

    {
    "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": []
                }
            ]
        }
    }
    

    Nota

    El rol personalizado MeshCloudScriptingServiceDeployer no permite a los usuarios crear grupos de recursos. Si queremos que los usuarios creen un grupo de recursos, también necesitan los permisos Microsoft.Resources/subscriptions/resourcegroups/write .

Limitaciones de cuota para Mesh Cloud Scripting Services

La infraestructura de Mesh Cloud Scripting Services utiliza el plan Premium App Service Linux (P1V2). Estos son los límites de App Service que podría encontrar al implementar Mesh Cloud Scripting Service:

Recurso Premium (P1V2)
Aplicaciones web, móviles o de API por plan de Azure App Service Sin límite
plan de App Service 100 por grupo de recursos

Nota

Las aplicaciones y las cuotas de almacenamiento son por App Service plan, a menos que se indique lo contrario.

Nota

El número real de aplicaciones que puede hospedar en estas máquinas depende de la actividad de las aplicaciones, del tamaño de las instancias de la máquina y del uso de recursos correspondiente.

Si recibe el siguiente error: "Esta región tiene una cuota de 0 instancias PremiumV2 para la suscripción. Pruebe a seleccionar otra región o SKU", consulte Límites y cuotas de suscripción de Azure.

Limpieza de servicios obsoletos de Scripting en la nube de Mesh

Si tiene servicios de scripting en la nube de Mesh obsoletos o no utilizados, siga estos pasos para buscar los recursos de Mesh Cloud Scripting y quitarlos.

  1. Inicie sesión en Azure Portal.

  2. Vaya a la pestaña "Todos los recursos".

    Selección de todos los recursos en Azure Portal

  3. En la página "Todos los recursos":

    a. Seleccione la suscripción adecuada.

    Selección de la suscripción en Azure

    b. Agregue un filtro con la etiqueta EnvironmentName.

    Filtro EnvironmentName en Azure

    c. Busque los recursos que coinciden con los entornos que desea eliminar.

    Filtro de recursos en Azure

  4. Limpie los servicios obsoletos mesh Cloud Scripting haciendo clic en los puntos suspensivos situados junto al nombre de cada recurso que se encuentra en el paso 3C y, a continuación, haga clic en Eliminar en la lista desplegable. Como alternativa, puede usar la CLI de Azure como se describe en este artículo Eliminación de recursos para eliminar los recursos por nombre.

Pasos siguientes