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 la administración de Mesh Clouding, incluidos los servicios que se implementan en su suscripción de Azure al compilar y publicar el proyecto de Scripting en la nube.
Recursos implementados
Mesh Cloud Scripting consta de . 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:
Plan de App Service: representa un clúster de proceso en el que se pueden ejecutar las aplicaciones web. También puede ejecutar una o varias aplicaciones web diferentes.
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í.
Instancia de Azure Web App: representa una instancia de la aplicación web que se ejecuta en una máquina virtual específica.
Cuenta de Azure Storage: contiene el contenido publicado y la información sobre las instancias de aplicación web de Azure. Se subdivide en dos componentes:
- Mesh Cloud Scripting Service Blob Storage: contiene el blob Mesh Cloud Scripting Service cargado por mesh Uploader.
- The Orleans Membership Table: contiene información sobre la vida de las instancias de Orleans Silo.
Área de trabajo de Log Analytics: contiene los registros emitidos desde Mesh Cloud Scripting Service que se ejecuta en App Service.
Application Insights: proporciona características de supervisión del rendimiento de las aplicaciones (APM). Las herramientas de APM son útiles para supervisar aplicaciones de desarrollo, pruebas y producción.
Plan de App Service
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 predeterminada del recurso del kit de herramientas de Mesh para el plan de App Service
- Nombre de 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 Bicep y ARM para el recurso del plan de App Service.
App Service
Azure App Service es un servicio basado en HTTP para hospedar aplicaciones web, API 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 más información, consulte la documentación de App Service.
Configuración predeterminada del recurso del kit de herramientas de Mesh: App Service
- httpsOnly: True
- alwaysOn: True
- Recuento de vnetPrivatePorts: 2
- vnetRouteAllEnabled: True
- vnetName: nombre de red virtual predeterminado
Para obtener más información sobre los valores predeterminados, consulte la referencia de plantilla de Bicep y ARM para el recurso plan de App Service.
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 documentación de Virtual Network.
Configuración predeterminada del recurso 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 Bicep y ARM para el recurso de red virtual.
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 predeterminada del recurso 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 Bicep y ARM para el recurso de la 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. Se trata de una herramienta de 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 la SKU: PerGB2018
- dailyQuotaGb: 2 GB
Para obtener más información sobre los valores predeterminados, consulte la referencia de plantilla de Bicep y ARM para el recurso Workspace.
Application Insights
Application Insights es una extensión de Azure Monitor y proporciona características de APM. 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 predeterminada del recurso del kit de herramientas de Mesh: Application Insights
- Tipo: web
- Request_Source: rest
- 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 Bicep y ARM para el recurso de red virtual.
Diagrama de infraestructura de Mesh Cloud Scripting Services
El tráfico fluye a través de cada componente
Cliente <:> instancias de AppService: solicitudes o respuestas de cliente (solicitudes de conexión, notificaciones de script en la nube, etc.).
Instancias de App Service: mensajes de ping tcp para determinar la vida.
Instancias <de App Service:> LogAnalytics/AppInsights: Telemetría de aplicaciones (registros de aplicaciones).
Instancias <de App Service:> tabla de pertenencia: información de vida sobre cada instancia de App Service.
Instancia <de App Service:> Blob Storage: el archivo ZIP de los scripts en la nube que se ejecutan en la nube.
Registros del proveedor de recursos
Los servicios que se van a registrar son:
- Microsoft.Web
- Microsoft.Storage
- Microsoft.Network
- Microsoft.Insights
- 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
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.
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 obtener 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.
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 de un usuario invitado.
- 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.
- Puede agregar usuarios invitados a su suscripción de Azure o agregarlos al grupo de seguridad de Azure (consulte el paso 2 anterior).
Para más información sobre los usuarios invitados, consulte Incorporación de usuarios de colaboración B2B en 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 la restricción que le gustaría que sean las directivas de control de acceso.
Conceda a los desarrolladores el rol Colaborador en toda la suscripción que se aprovisiona para Mesh Cloud Scripting Services.
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 Azure RBAC, administrar asignaciones en Azure Blueprints o compartir galerías de imágenes.
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:
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 de Linux de App Service (P1V2). Estos son los límites de App Service que puede encontrar al implementar Mesh Cloud Scripting Service:
Resource | Premium (P1V2) |
---|---|
Aplicaciones web, móviles o de API por plan de servicio de App de Azure | Ilimitado |
plan de App Service | 100 por grupo de recursos |
Nota:
Las aplicaciones y las cuotas de almacenamiento son por plan de App Service, 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 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 de scripting en la nube de Malla obsoleta
Si tiene servicios de scripting en la nube de Mesh obsoletos o no utilizados, siga estos pasos para buscar los recursos de Scripting en la nube de Mesh y quitarlos.
Inicie sesión en Azure Portal.
Vaya a la pestaña "Todos los recursos".
En la página "Todos los recursos":
a. Seleccione la suscripción adecuada.
b. Agregue un filtro con la etiqueta EnvironmentName.
c. Busque los recursos que coincidan con los entornos que desea eliminar.
Limpie los servicios de scripting en la nube de Mesh obsoletos 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.