Compartilhar via


Infraestrutura e gerenciamento de scripts em nuvem em malha

Visão geral

Neste artigo, você aprenderá sobre vários aspectos 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 script de nuvem de malha consiste 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:

  1. Plano do Serviço de Aplicativo: representa um cluster de computação em que os aplicativos Web podem ser executados. Ele também pode executar um ou mais aplicativos da Web diferentes.

  2. VNet do Azure: esse é o recurso de rede virtual no qual as instâncias do serviço de aplicativo são implantadas e permite que elas se comuniquem entre si.

  3. Instância do Aplicativo Web do Azure: representa uma instância do aplicativo Web em execução em uma VM específica.

  4. Conta de Armazenamento do Azure: contém o conteúdo publicado e as informações sobre as instâncias do aplicativo Web do Azure. É subdividido em dois componentes:

    1. O Armazenamento de Blobs do Serviço de Script de Nuvem de Malha: contém o blob do Serviço de Script de Nuvem de Malha carregado pelo Uploader de Malha.
    2. A Tabela de Membros do Orleans: contém informações sobre a atividade das instâncias do Silo do Orleans.
  5. Espaço de Trabalho do Log Analytics: contém os logs emitidos do Serviço de Script de Nuvem de Malha em execução no Serviço de Aplicativo.

  6. Application Insights: fornece recursos de APM (monitoramento de desempenho de aplicativos). As ferramentas de APM são úteis para monitorar aplicativos desde o desenvolvimento, passando pelo teste e até a produção.

Plano do Serviço de Aplicativo

Um plano do Serviço de Aplicativo define um conjunto de recursos de computação que permitem que um aplicativo Web seja executado.

Quando você cria um plano de serviço de aplicativo em uma determinada região (por exemplo, Europa Ocidental), um conjunto de recursos de computação é criado para esse plano nessa região. Quaisquer aplicativos que você coloque nesse plano de serviço de aplicativo é executado nesses recursos de computação conforme definido pelo seu plano de serviço de aplicativo. Cada plano de serviço de aplicativo define:

  • Sistema operacional (Windows e Linux)
  • Região (Oeste dos EUA, Leste dos EUA e assim por diante)
  • Número de instâncias de VM
  • Tamanho de instâncias de máquina virtual (pequeno, médio, grande)
  • Tipo de preço (Gratuito, Compartilhado, Básico, Standard, Premium, PremiumV2, PremiumV3, Isolado, IsoladoV2)

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
  • Camada de SKU: PremiumV2
  • Capacidade de SKU: 1
  • Tipo: Linux
  • Reservado: Verdadeiro

No contexto dos Serviços de Script de Nuvem de Malha, 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 do Bicep e do ARM para o recurso de plano do Serviço de Aplicativo.

Serviço de Aplicativo

O Serviço de Aplicativo do Azure é um serviço com base em HTTP para hospedagem de aplicativos Web, APIs REST e back-ends móveis. O Serviço de Aplicativo agrega 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 Aplicativo, você paga pelos recursos de computação do Azure que usar. Os recursos de computação usados são determinados pelo Plano do Serviço de Aplicativo no qual os aplicativos são executados.

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 de rede virtual padrão

Para obter mais informações sobre os padrões, consulte a referência de modelo do Bicep e do ARM para o recurso Plano do Serviço de Aplicativo.

Rede Virtual

A Rede Virtual do Azure é o bloco de construção fundamental de sua rede privada no Azure. Uma rede virtual permite vários tipos de recursos do Azure, como VMs (Máquinas Virtuais) do Azure, a fim de se comunicar de forma segura com a Internet, com as redes locais e com outras VMs. Uma rede virtual é semelhante a uma rede tradicional que você operaria em seu próprio data center. Uma Rede Virtual do Azure traz benefícios extras da infraestrutura do Azure, como escala, disponibilidade e isolamento.

Para obter mais informações, consulte os documentos da Rede Virtual.

Configurações de recurso padrão do kit de ferramentas de malha – Rede Virtual

  • AddressSpace addressPrefixes: 10.0.0.0/16
  • Endereço de sub-redePrefixo: 10.0.0.0/24
  • Nome das delegações de 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 do Bicep e do ARM para o recurso de 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. Uma conta de armazenamento fornece um namespace exclusivo para os dados do Armazenamento do Azure, que podem ser acessados de qualquer lugar do mundo por HTTP ou HTTPS. Os dados na conta de armazenamento do Azure são duráveis e altamente disponíveis, seguros e massivamente escaloná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 do SKU: Standard_LRS
  • Tipo: StorageV2

Para obter mais informações sobre os padrões, consulte a referência de modelo do Bicep e do ARM para o recurso Conta de Armazenamento.

Workspace do Log Analytics

Um workspace do Log Analytics é um ambiente exclusivo para dados de log Azure Monitor e outros serviços do Azure, como o Microsoft Sentinel e o Microsoft Defender para Nuvem. É uma ferramenta no portal do Azure usada para editar e executar consultas de log em dados no repositório de Logs do Azure Monitor.

Para obter mais informações, consulte os Documentos do Espaço de Trabalho do Log Analytics.

Configurações de recursos padrão do kit de ferramentas de malha – Workspace do Log Analytics

  • forceCmkForQuery: falso
  • retençãoem dias: 30
  • Nome do SKU: PerGB2018
  • dailyQuotaGb: 2 GB

Para obter mais informações sobre os padrões, consulte a referência do modelo Bicep e ARM para o recurso Workspace.

Application Insights

O Application Insights é uma extensão do Azure Monitor e fornece recursos de monitoramento de desempenho de aplicativos (APM). As ferramentas do APM são úteis para monitorar aplicativos desde o desenvolvimento até o teste e à produção das seguintes maneiras:

Entenda proativamente o desempenho de um aplicativo. Examine reativamente os dados de execução do aplicativo para determinar a causa de um incidente. Juntamente com a coleta das métricas e dos dados de telemetria do aplicativo, que descrevem as atividades e a integridade do aplicativo, você pode usar o Application Insights para coletar e armazenar dados de log de rastreamento do aplicativo.

Para obter mais informações, consulte os documentos do Application Insights.

Configurações de recursos padrão do kit de ferramentas de malha – Application Insights

  • Tipo: web
  • Request_Source: descanso
  • WorkspaceResourceId: ID padrão do workspace do Log Analytics.

Para obter mais informações sobre os padrões, consulte a referência de modelo do Bicep e do ARM para o recurso de Rede Virtual.

Diagrama de infraestrutura do Mesh Cloud Scripting Services

Um diagrama mostrando a infraestrutura de serviços de script de nuvem de malha

O tráfego flui por cada componente

Cliente <-> Instâncias do AppService: solicitações/respostas do cliente (solicitações de conexão, notificações de script de nuvem e muito mais).

Instâncias do Serviço de Aplicativo: mensagens de ping TCP para determinar a atividade.

Instâncias do Serviço de Aplicativo <–> LogAnalytics/AppInsights: telemetria do aplicativo (logs do aplicativo).

Instâncias do Serviço de Aplicativo <–> Tabela de Associação: informações de atividade sobre cada instância do serviço de aplicativo.

Instância do Serviço de Aplicativo <–> Armazenamento de Blobs: o zip dos scripts de nuvem em execução na nuvem.

Registros do provedor de recursos

Os serviços para se registrar são:

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

Observações

  • 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

  1. Os desenvolvedores devem ter uma conta de e-mail que possa ser usada para a implantação. Pode ser uma conta nova ou pré-existente.

  2. Se você estiver gerenciando o controle de acesso por meio de um Grupo de Segurança do Azure, crie esse grupo (por exemplo, "Desenvolvedores de Serviços de Script de Nuvem em Malha"). 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 de grupo.

  3. 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.

    1. 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.
    2. 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.

Nossas recomendações para controle de acesso

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. Isso varia dependendo de quão restritivas você deseja que suas políticas de controle de acesso sejam.

  1. Conceda aos desenvolvedores a função de Colaborador em toda a Assinatura provisionada para seus Serviços de Script do Mesh Cloud.

  2. Crie um grupo de recursos dedicado para a implantação da infraestrutura em nuvem do Mesh Cloud Scripting Services e conceda aos desenvolvedores a função Colaborador nesse grupo de recursos. Você pode fazer isso por meio do Grupo de Segurança do Azure criado no segundo pré-requisito, em outras palavras, "Desenvolvedores de Serviços de Script de Nuvem de Malha". Isso concede a eles acesso total para gerenciar todos os recursos, mas não permite que eles atribuam funções no RBAC do Azure, gerenciem atribuições no Azure Blueprints ou compartilhem galerias de imagens.

  3. 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 em Malha".

    Aqui estão nossas permissões recomendadas para as funções personalizadas que você cria:

    Uma tela da página onde você escolhe funções personalizadas.

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

    Observação

    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 serviços de script de nuvem em malha

A infraestrutura do Mesh Cloud Scripting Services utiliza o plano Linux do Serviço de Aplicativo Premium (P1V2). Estes são os limites do Serviço de Aplicativo que você pode encontrar ao implantar o Serviço de Script de Nuvem de Malha:

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 Aplicativo 100 por grupo de recursos

Observação

Os aplicativos e as cotas de armazenamento são por plano do Serviço de Aplicativo, a menos que indicado de outra forma.

Observação

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.

Limpar serviços obsoletos de script de nuvem de malha

Se você tiver serviços de Script de Nuvem de Malha obsoletos ou não utilizados, siga estas etapas para localizar seus recursos de Script de Nuvem de Malha e removê-los.

  1. Faça logon no Portal do Azure.

  2. Navegue até a guia "Todos os recursos".

    Selecionar todos os recursos no portal do Azure

  3. Na página "Todos os recursos":

    a. Selecione a Assinatura apropriada.

    Selecione a assinatura no Azure

    b. Adicione um filtro com a tag EnvironmentName.

    Filtro EnvironmentName no Azure

    c. Encontre os recursos que correspondem aos ambientes que você deseja excluir.

    Filtro de recursos no Azure

  4. 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.

Próximas etapas