Compartilhar via


Infraestrutura e gerenciamento do Mesh Cloud Scripting

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 ao criar e publicar seu projeto de Script de Nuvem.

Recursos implantados

Os Serviços de Script de Nuvem de Malha são . 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:

  1. Serviço de Aplicativo plano: representa um cluster de computação em que os aplicativos Web podem ser executados. Ele também pode executar um ou mais aplicativos 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. Ele é subdividido em dois componentes:

    1. O Armazenamento de Blobs do Serviço de Script de Nuvem de Malha: mantém o blob do Serviço de Script de Nuvem de Malha carregado pelo Carregador de Malha.
    2. A Tabela de Associação do Orleans: contém informações sobre a vida das instâncias do Silo do Orleans.
  5. Workspace do Log Analytics: manté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 do APM são úteis para monitorar aplicativos do desenvolvimento, do teste e da produção.

Plano do Serviço de Aplicativo

Um plano 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 o Serviço de Aplicativo Plan Docs.

Configurações de recurso padrão do kit de ferramentas de malha para Serviço de Aplicativo Plan

  • Nome do SKU: P1v2
  • Camada de SKU: PremiumV2
  • Capacidade de SKU: 1
  • Tipo: Linux
  • Reservado: True

No contexto dos Serviços de Script de Nuvem de Malha, o plano Serviço de Aplicativo é o componente de computação. Ele pode ser dimensionado automaticamente e manipular como as diferentes instâncias se comunicam entre si (rede). O CloudHost, que é o aplicativo que executa e gerencia os Serviços de Script de Nuvem de Malha, 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 ARM do Bicep & para o recurso de plano de 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 o Serviço de Aplicativo Docs.

Configurações de recurso padrão do kit de ferramentas de malha – Serviço de Aplicativo

  • httpsOnly: True
  • alwaysOn: True
  • Contagem de vnetPrivatePorts: 2
  • vnetRouteAllEnabled: True
  • vnetName: nome de Rede Virtual padrão

Para obter mais informações sobre os padrões, consulte a referência de modelo do ARM do Bicep & para o recurso plano 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, 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 o Rede Virtual Docs.

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

  • AddressSpace addressPrefixes: 10.0.0.0/16
  • Endereço da sub-redePrefixo: 10.0.0.0/24
  • Nome das delegações de sub-rede: delegação
  • Subnet Delegations serviceName: Microsoft.Web/serverFarms

Para obter mais informações sobre os padrões, consulte a referência de modelo do ARM do Bicep & 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. 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 a Documentação da Conta de Armazenamento.

Configurações de recurso padrão do kit de ferramentas de malha – Conta de Armazenamento

  • Nome da SKU: Standard_LRS
  • Tipo: StorageV2

Para obter mais informações sobre os padrões, consulte a referência de modelo do Bicep & 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 Workspace do Log Analytics.

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

  • forceCmkForQuery: false
  • retentionInDays: 30
  • Nome da SKU: PerGB2018
  • dailyQuotaGb: 2 GB

Para obter mais informações sobre os padrões, consulte a referência de modelo do ARM do Bicep & 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 o Application Insights Docs.

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

  • Tipo: Web
  • Request_Source: rest
  • 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 ARM do Bicep & para o recurso Rede Virtual.

Diagrama de infraestrutura de nuvem dos Serviços de Script de Nuvem de Malha

Diagrama de infraestrutura do Mesh Cloud Scripting Service

Registros do provedor de recursos

Os serviços a serem registrados são:

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

Observações

  • Se você 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 é necessário registrar os serviços para diferentes grupos de recursos.

Controle de acesso para a implantação do Serviço de Script de Nuvem de Malha

  1. Os desenvolvedores devem ter uma conta de email 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 do Mesh Cloud Scripting Services"). 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.

  3. Decida como você deseja que os desenvolvedores acessem sua assinatura do Azure. Isso é determinado por se o desenvolvedor é 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 nº 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 nº 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. Elas variam dependendo de quão restritivas você gostaria que suas políticas de controle de acesso fossem.

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

  2. 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 colaborador neste 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 do Mesh Cloud Scripting Services". 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 as permissões mínimas 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 do Mesh Cloud Scripting Services".

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

    Diagrama de infraestrutura do Serviço de Script de Nuvem de Malha

    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 precisam das permissões Microsoft.Resources/subscriptions/resourcegroups/write .

Limitações de cota para os Serviços de Script de Nuvem de Malha

A infraestrutura do Mesh Cloud Scripting Services utiliza o plano Premium Serviço de Aplicativo Linux (P1V2). Esses são os limites de 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 de 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 Serviço de Aplicativo plano, a menos que indicado de outra forma.

Observação

O número real de aplicativos que você pode hospedar nesses computadores depende da atividade dos aplicativos, do tamanho das instâncias do computador e da utilização de recursos correspondente.

Se você receber o seguinte erro: "Essa região tem cota de 0 instâncias PremiumV2 para sua assinatura. Tente selecionar uma região ou SKU diferente", confira 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 os recursos do Mesh Cloud Scripting e removê-los.

  1. Faça logon no Portal do Azure.

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

    Selecione todos os recursos no portal do Azure

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

    a. Selecione a Assinatura apropriada.

    Selecionar assinatura no Azure

    b. Adicione um filtro com a marca EnvironmentName.

    Filtro EnvironmentName no azure

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

    Filtro de recurso 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