Infraestrutura e gerenciamento do Mesh Cloud Scripting
Descrição geral
Neste artigo, você aprenderá sobre vários aspetos da infraestrutura e do gerenciamento do Mesh Clouding, incluindo os serviços que são implantados em sua Assinatura do Azure quando você cria e publica seu projeto de Cloud Scripting.
Recursos implantados
O Mesh Cloud Scripting consiste em . Aplicativos baseados em NET que são executados na nuvem. A infraestrutura de nuvem do Mesh Cloud Scripting implantada na Assinatura do Azure do cliente contém os seguintes recursos do Azure:
Plano do Serviço de Aplicativo: representa um cluster de computação no qual os aplicativos Web podem ser executados. Ele também pode executar um ou mais aplicativos Web diferentes.
Azure VNet: Este é o recurso de rede virtual no qual as instâncias de serviço de aplicativo são implantadas e permite que elas se comuniquem entre si.
Instância do Aplicativo Web do Azure: representa uma instância do aplicativo Web em execução em uma VM específica.
Conta de Armazenamento do Azure: contém o conteúdo publicado e as informações sobre as instâncias do aplicativo Web do Azure. Subdivide-se em duas componentes:
- O Mesh Cloud Scripting Service Blob Storage: contém o blob do Mesh Cloud Scripting Service carregado pelo Mesh Uploader.
- A Tabela de Membros de Orleans: Contém informações sobre a vivacidade das instâncias do Silo de Orleans.
Espaço de trabalho do Log Analytics: contém os logs emitidos pelo Mesh Cloud Scripting Service em execução no Serviço de Aplicativo.
Application Insights: fornece recursos de monitoramento de desempenho de aplicativos (APM). As ferramentas APM são úteis para monitorar aplicativos desde o desenvolvimento, passando pelo teste e até a produção.
Plano do Serviço de Aplicações
Um plano do Serviço de Aplicativo define um conjunto de recursos de computação que permitem a execução de um aplicativo Web.
Quando cria um plano do Serviço de Aplicações numa determinada região (por exemplo, Europa Ocidental), é criado um conjunto de recursos de computação para esse plano nessa região. Quaisquer aplicações que ponha nesse plano do Serviço de Aplicações serão executadas nestes recursos de computação, conforme definido pelo seu plano do Serviço de Aplicações. Cada Plano do Serviço de Aplicações define o seguinte:
- Sistema Operativo: (Windows, Linux)
- Região (E.U.A. Oeste, E.U.A. Leste e assim sucessivamente.)
- Número de instâncias de VM
- Tamanho das instâncias de VM (pequena, média, grande)
- Escalão de preço (Gratuito, Partilhado, Básico, Standard, Premium, Premium V2, PremiumV3, Isolado, IsolatedV2)
Para obter mais informações, consulte os Documentos do Plano do Serviço de Aplicativo.
Configurações de recursos padrão do kit de ferramentas de malha para o Plano do Serviço de Aplicativo
- Nome do SKU: P1v2
- Nível de SKU: PremiumV2
- Capacidade de SKU: 1
- Tipo: Linux
- Reservado: Verdadeiro
No contexto do Mesh Cloud Scripting Services, o plano do Serviço de Aplicativo é o componente de computação. Ele pode ser dimensionado automaticamente e lidar com a forma como as diferentes instâncias se comunicam entre si (rede). O CloudHost, que é o aplicativo que executa e gerencia o Mesh Cloud Scripting Services, é atualmente oferecido como uma imagem do Docker e, como tal, usamos um plano baseado em Linux. Os planos Premium são mais adequados para cargas de trabalho de produção.
Para obter mais informações sobre os padrões, consulte a referência de modelo Bicep & ARM para o recurso de plano do Serviço de Aplicativo.
Serviço de Aplicações
O Serviço de Aplicativo do Azure é um serviço baseado em HTTP para hospedar aplicativos Web, APIs REST e back-ends móveis. O Serviço de Aplicativo adiciona o poder do Microsoft Azure ao seu aplicativo, como segurança, balanceamento de carga, dimensionamento automático e gerenciamento automatizado. Com o Serviço de Aplicações, paga pelos recursos de computação do Azure que utilizar. Os recursos de computação que você usa são determinados pelo plano do Serviço de Aplicativo no qual você executa seus aplicativos.
Para obter mais informações, consulte os Documentos do Serviço de Aplicativo.
Configurações de recursos padrão do kit de ferramentas de malha - Serviço de Aplicativo
- httpsOnly: Verdadeiro
- alwaysOn: Verdadeiro
- Contagem de vnetPrivatePorts: 2
- vnetRouteAllEnabled: Verdadeiro
- vnetName: Nome da rede virtual padrão
Para obter mais informações sobre os padrões, consulte a referência de modelo Bicep & ARM para o recurso Plano do Serviço de Aplicativo.
Rede Virtual
A Rede Virtual do Azure é o bloco de construção fundamental para a sua rede privada no Azure. Uma rede virtual permite que muitos tipos de recursos do Azure, como as Máquinas Virtuais (VM) do Azure, se comuniquem com segurança entre si, com a Internet e com redes locais. Uma rede virtual é semelhante a uma rede tradicional que você operaria em seu próprio data center. Uma Rede Virtual do Azure traz consigo benefícios adicionais da infraestrutura do Azure, como escala, disponibilidade e isolamento.
Para obter mais informações, consulte o Documentos da Rede Virtual.
Configurações de recursos padrão do kit de ferramentas Mesh - Rede Virtual
- AddressSpace addressPrefixes: 10.0.0.0/16
- Endereço da sub-redePrefixo: 10.0.0.0/24
- Nome das delegações da sub-rede: delegação
- Delegações de sub-rede serviceName: Microsoft.Web/serverFarms
Para obter mais informações sobre os padrões, consulte a referência de modelo Bicep & ARM para o recurso Rede Virtual.
Conta de Armazenamento
Uma conta de armazenamento do Azure contém todos os seus objetos de dados do Armazenamento do Azure: blobs, arquivos, filas e tabelas. A conta de armazenamento fornece um namespace exclusivo para seus dados de Armazenamento do Azure que pode ser acessado de qualquer lugar do mundo por HTTP ou HTTPS. Os dados em sua conta de armazenamento são duráveis e altamente disponíveis, seguros e massivamente escaláveis.
Para obter mais informações, consulte os documentos da conta de armazenamento.
Configurações de recursos padrão do kit de ferramentas de malha - Conta de armazenamento
- Nome SKU: Standard_LRS
- Tipo: StorageV2
Para obter mais informações sobre os padrões, consulte a referência de modelo Bicep & ARM para o recurso Conta de Armazenamento.
Área de trabalho do Log Analytics
Um espaço de trabalho do Log Analytics é um ambiente exclusivo para dados de log do Azure Monitor e de outros serviços do Azure, como o Microsoft Sentinel e o Microsoft Defender for Cloud. É uma ferramenta no portal do Azure que é usada para editar e executar consultas de log em dados no repositório de Logs do Azure Monitor.
Para obter mais informações, consulte o Log Analytics Workspace Docs.
Configurações de recursos padrão do kit de ferramentas de malha - Espaço de trabalho do Log Analytics
- forceCmkForQuery: false
- retençãoInDays: 30
- Nome do SKU: PerGB2018
- diárioQuotaGb: 2GB
Para obter mais informações sobre os padrões, consulte a referência de modelo Bicep & ARM para o recurso Espaço de trabalho.
Application Insights
O Application Insights é uma extensão do Azure Monitor e fornece recursos de monitoramento de desempenho de aplicativos (APM). As ferramentas APM são úteis para monitorar aplicativos desde o desenvolvimento, passando pelo teste, até a produção das seguintes maneiras:
Compreenda proativamente o desempenho de um aplicativo. Analise reativamente os dados de execução do aplicativo para determinar a causa de um incidente. Além de coletar métricas e dados de telemetria de aplicativos, que descrevem atividades e integridade do aplicativo, você pode usar o Application Insights para coletar e armazenar dados de log de rastreamento de aplicativos.
Para obter mais informações, consulte o Application Insights Docs.
Configurações de recursos padrão do kit de ferramentas Mesh - Application Insights
- Tipo: web
- Request_Source: descanso
- WorkspaceResourceId: ID do espaço de trabalho padrão do Log Analytics.
Para obter mais informações sobre os padrões, consulte a referência de modelo Bicep & ARM para o recurso Rede Virtual.
Diagrama de infraestrutura do Mesh Cloud Scripting Services
O tráfego flui através de cada componente
Client <-> AppService Instances: Solicitações/respostas do cliente (solicitações de conexão, notificações de script na nuvem e muito mais).
Instâncias do Serviço de Aplicativo: mensagens de ping TCP para determinar a vivacidade.
Instâncias do Serviço de Aplicativo <-> LogAnalytics/AppInsights: Telemetria de Aplicativo (logs de aplicativos).
Instâncias <do Serviço de Aplicativo -> Tabela de Membros: informações de vivacidade sobre cada instância do serviço de aplicativo.
Instância do Serviço de Aplicativo -> Armazenamento <de Blob: o zip dos scripts na nuvem em execução na nuvem.
Registos de fornecedores de recursos
Os serviços de registo são:
- Microsoft.Web
- Microsoft.Storage
- Microsoft.Network
- Microsoft.Insights
- Microsoft.OperationalInsights
Notas
Se precisar de ajuda com erros, consulte Erros de registro do provedor de recursos.
Conforme explicado na documentação do Azure, o registro de serviços é feito em um nível de assinatura. Em outras palavras, não há necessidade de registrar os serviços para diferentes grupos de recursos.
Controle de acesso para a implantação do Mesh Cloud Scripting Service
Os desenvolvedores devem ter uma contagem de e-mail que possa ser usada para a implantação. Pode ser uma conta nova ou pré-existente.
Se estiver a gerir o controlo de acesso através de um Grupo de Segurança do Azure, crie este grupo (por exemplo, "Programadores de Serviços de Script na Nuvem Mesh"). Para obter mais informações sobre o Grupo de Segurança do Azure em comparação com os tipos de grupo do Microsoft 365, consulte Saiba mais sobre grupos e associação a grupos.
Decida como você deseja que os desenvolvedores acessem sua assinatura do Azure. Isso é determinado pelo fato de o desenvolvedor ser um membro nativo do diretório ou um usuário convidado.
- Você pode adicionar membros nativos ao Grupo de Segurança do Azure criado na etapa #2 acima se quiser gerenciar facilmente os controles de acesso.
- Você pode adicionar usuários convidados à sua assinatura do Azure ou adicioná-los ao Grupo de Segurança do Azure (consulte a etapa #2 acima).
Para obter mais informações sobre usuários convidados, consulte Adicionar usuários de colaboração B2B no portal do Azure .
As nossas recomendações para o controlo de acessos
Aqui estão algumas recomendações sobre como conceder aos desenvolvedores acesso para provisionar a infraestrutura de nuvem do Mesh Cloud Scripting Services no Azure. Eles variam dependendo de quão restritivas você gostaria que suas políticas de controle de acesso fossem.
Conceda aos desenvolvedores a função de Colaborador em toda a Assinatura provisionada para seus Serviços de Script de Nuvem Mesh.
Crie um grupo de recursos dedicado para a implantação da infraestrutura de nuvem do Mesh Cloud Scripting Services e conceda aos desenvolvedores a função de Colaborador nesse grupo de recursos. Você pode fazer isso por meio do Grupo de Segurança do Azure criado no segundo pré-requisito, ou seja, "Desenvolvedores de Serviços de Script de Nuvem Mesh". Isso lhes concede acesso total para gerenciar todos os recursos, mas não permite que eles atribuam funções no RBAC do Azure, gerenciem atribuições em Plantas do Azure ou compartilhem galerias de imagens.
Crie uma Função Personalizada no Azure que tenha o mínimo de permissões necessárias para criar e gerenciar a infraestrutura de nuvem do Mesh Cloud Scripting Services.
Você pode atribuir essa função diretamente no Grupo de Segurança do Azure criado no segundo pré-requisito, ou seja, "Desenvolvedores de Serviços de Script de Nuvem Mesh".
Aqui estão nossas permissões recomendadas para as funções personalizadas que você cria:
O arquivo JSON que você carregaria deve ser semelhante 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
A função personalizada MeshCloudScriptingServiceDeployer não permite que os usuários criem grupos de recursos. Se quisermos que os usuários criem um grupo de recursos, eles também precisarão das permissões Microsoft.Resources/subscriptions/resourcegroups/write.
Limitações de cota para Mesh Cloud Scripting Services
A infraestrutura do Mesh Cloud Scripting Services utiliza o plano Premium App Service Linux (P1V2). Estes são os limites do Serviço de Aplicativo que você pode encontrar ao implantar o Mesh Cloud Scripting Service:
Recurso | Premium (P1V2) |
---|---|
Aplicativos Web, móveis ou de API por plano do Serviço de Aplicativo do Azure | Ilimitado |
Plano do Serviço de Aplicações | 100 por grupo de recursos |
Nota
Os aplicativos e as cotas de armazenamento são por plano do Serviço de Aplicativo, salvo indicação em contrário.
Nota
O número real de aplicativos que você pode hospedar nessas máquinas depende da atividade dos aplicativos, do tamanho das instâncias da máquina e da utilização de recursos correspondente.
Se você receber o seguinte erro: "Esta região tem cota de 0 instâncias PremiumV2 para sua assinatura. Tente selecionar uma região ou SKU diferente", consulte Limites e cotas de assinatura do Azure.
Limpe os serviços obsoletos do Mesh Cloud Scripting
Se você tiver serviços obsoletos ou não utilizados do Mesh Cloud Scripting, siga estas etapas para localizar seus recursos do Mesh Cloud Scripting e removê-los.
Faça logon no Portal do Azure.
Navegue até a guia "Todos os recursos".
Na página "Todos os recursos":
a. Selecione a Subscrição adequada.
b. Adicione um filtro com a tag EnvironmentName.
c. Encontre os recursos que correspondem aos ambientes que você deseja excluir.
Limpe os serviços obsoletos do Mesh Cloud Scripting clicando nas reticências ao lado do nome de cada recurso encontrado na etapa 3C e, em seguida, clicando em Excluir na lista suspensa. Como alternativa, você pode usar a CLI do Azure conforme descrito neste artigo Excluir recurso para excluir os recursos por nome.