Visão geral dos clusters do Service Fabric no Azure
Um cluster do Service Fabric é um conjunto ligado à rede de máquinas virtuais ou físicas, no qual os microsserviços são implementados e geridos. Uma máquina ou VM que faz parte de um cluster é chamada de nó de cluster. Os clusters podem ser dimensionados para milhares de nós. Se você adicionar novos nós ao cluster, o Service Fabric reequilibrará as réplicas e instâncias da partição de serviço no número maior de nós. O desempenho geral do aplicativo melhora e a contenção para acesso à memória diminui. Se os nós no cluster não estiverem sendo usados de forma eficiente, você poderá diminuir o número de nós no cluster. O Service Fabric reequilibra novamente as réplicas de partição e instâncias no número reduzido de nós para fazer melhor uso do hardware em cada nó.
Um tipo de nó define o tamanho, o número e as propriedades de um conjunto de nós (máquinas virtuais) no cluster. Cada tipo de nó pode então ser aumentado ou reduzido verticalmente de forma independente, pode ter conjuntos diferentes de portas abertas e ter métricas de capacidade diferente. Os tipos de nó são utilizados para definir funções para um conjunto de nós de cluster, como o "front-end" ou o "back-end". O cluster pode ter mais do que um tipo de nó, mas o tipo de nó primário tem de ter, pelo menos, cinco VMs para clusters de produção (ou, pelo menos, três VMs para clusters de teste). Os serviços do sistema do Service Fabric são colocados em nós do tipo de nó primário.
Componentes e recursos do cluster
Um cluster do Service Fabric no Azure é um recurso do Azure que usa e interage com outros recursos do Azure:
- VMs e placas de rede virtual
- conjuntos de dimensionamento de máquinas virtuais
- redes virtuais
- Balanceadores de carga
- contas de armazenamento
- endereços IP públicos
Máquina virtual
Uma máquina virtual que faz parte de um cluster é chamada de nó, embora, tecnicamente, um nó de cluster seja um processo de tempo de execução do Service Fabric. É atribuído um nome de nó (uma cadeia) a cada nó. Os nós têm características, como propriedades de posicionamento. Cada máquina ou VM tem um serviço de inicialização automática, FabricHost.exe, que começa a ser executado no momento da inicialização e, em seguida, inicia dois executáveis, Fabric.exe e FabricGateway.exe, que compõem o nó. Uma implantação de produção é um nó por máquina física ou virtual. Para cenários de teste, você pode hospedar vários nós em uma única máquina ou VM executando várias instâncias de Fabric.exe e FabricGateway.exe.
Cada VM está associada a uma placa de interface de rede virtual (NIC) e a cada NIC é atribuído um endereço IP privado. Uma VM é atribuída a uma rede virtual e a um balanceador local por meio da NIC.
Todas as VMs em um cluster são colocadas em uma rede virtual. Todos os nós no mesmo tipo de nó/conjunto de escala são colocados na mesma sub-rede na rede virtual. Esses nós só têm endereços IP privados e não são diretamente endereçáveis fora da rede virtual. Os clientes podem acessar serviços nos nós por meio do balanceador de carga do Azure.
Conjunto de escala/tipo de nó
Ao criar um cluster, você define um ou mais tipos de nó. Os nós, ou VMs, em um tipo de nó têm o mesmo tamanho e características, como número de CPUs, memória, número de discos e E/S de disco. Por exemplo, um tipo de nó pode ser para VMs front-end pequenas com portas abertas para a Internet, enquanto outro tipo de nó pode ser para VMs grandes e back-end que processam dados. Nos clusters do Azure, cada tipo de nó é mapeado para um conjunto de escala de máquina virtual.
Você pode usar conjuntos de escala para implantar e gerenciar uma coleção de máquinas virtuais como um conjunto. Cada tipo de nó definido em um cluster do Azure Service Fabric configura um conjunto de escala separado. O tempo de execução do Service Fabric é inicializado em cada máquina virtual no conjunto de escala usando extensões de VM do Azure. Você pode dimensionar de forma independente cada tipo de nó para cima ou para baixo, alterar a SKU do sistema operacional em execução em cada nó de cluster, ter diferentes conjuntos de portas abertas e usar métricas de capacidade diferentes. Um conjunto de dimensionamento tem cinco domínios de atualização e cinco domínios de falha e pode ter até 100 VMs. Você cria clusters de mais de 100 nós criando vários conjuntos de escala/tipos de nós.
Importante
Escolher o número de tipos de nó para seu cluster e as propriedades de cada tipo de nó (tamanho, principal, voltado para a Internet, número de VMs, etc.) é uma tarefa importante. Para obter mais informações, leia as considerações de planejamento de capacidade de cluster.
Para obter mais informações, leia Tipos de nó do Service Fabric e conjuntos de dimensionamento de máquina virtual.
Balanceador de Carga do Azure
As instâncias de VM são unidas atrás de um balanceador de carga do Azure, que está associado a um endereço IP público e rótulo DNS. Quando você provisiona um cluster com clustername>, o nome DNS,< clustername>.<<location.cloudapp.azure.com> é o rótulo DNS associado ao balanceador de carga na frente do conjunto de escala.
As VMs em um cluster têm apenas endereços IP privados. O tráfego de gerenciamento e o tráfego de serviço são roteados através do balanceador de carga voltado para o público. O tráfego de rede é roteado para essas máquinas por meio de regras NAT (os clientes se conectam a nós/instâncias específicos) ou regras de balanceamento de carga (o tráfego vai para VMs round robin). Um balanceador de carga tem um IP público associado com um nome DNS no formato: <clustername>.<localização.cloudapp.azure.com>. Um IP público é outro recurso do Azure no grupo de recursos. Se você definir vários tipos de nó em um cluster, um balanceador de carga será criado para cada tipo de nó/conjunto de escala. Ou, você pode configurar um único balanceador de carga para vários tipos de nós. O tipo de nó primário tem o rótulo <DNS clustername.<>location.cloudapp.azure.com, outros tipos de nó têm o rótulo< DNS clustername-nodetype>.<><>localização.cloudapp.azure.com>.
Contas de armazenamento
Cada tipo de nó de cluster é suportado por uma conta de armazenamento do Azure e discos gerenciados.
Segurança do cluster
Um cluster do Service Fabric é um recurso de sua propriedade. É sua responsabilidade proteger seus clusters para ajudar a impedir que usuários não autorizados se conectem a eles. Um cluster seguro é especialmente importante quando você está executando cargas de trabalho de produção no cluster.
Segurança nó a nó
A segurança nó a nó protege a comunicação entre as VMs ou computadores em um cluster. Esse cenário de segurança garante que apenas os computadores autorizados a ingressar no cluster possam participar da hospedagem de aplicativos e serviços no cluster. O Service Fabric usa certificados X.509 para proteger um cluster e fornecer recursos de segurança de aplicativos. Um certificado de cluster é necessário para proteger o tráfego de cluster e fornecer autenticação de cluster e servidor. Os certificados autoassinados podem ser usados para clusters de teste, mas um certificado de uma autoridade de certificação confiável deve ser usado para proteger clusters de produção.
Para obter mais informações, leia Segurança nó a nó
Segurança cliente-a-nó
A segurança de cliente para nó autentica clientes e ajuda a proteger a comunicação entre um cliente e nós individuais no cluster. Esse tipo de segurança ajuda a garantir que apenas usuários autorizados possam acessar o cluster e os aplicativos implantados no cluster. Os clientes são identificados exclusivamente por meio de suas credenciais de segurança de certificado X.509. Qualquer número de certificados de cliente opcionais pode ser usado para autenticar clientes de administrador ou usuário com o cluster.
Além dos certificados de cliente, o Microsoft Entra ID também pode ser configurado para autenticar clientes com o cluster.
Para obter mais informações, leia Segurança de cliente para nó
Controlo de acesso baseado em funções
O controle de acesso baseado em função do Azure (Azure RBAC) permite atribuir controles de acesso refinados aos recursos do Azure. Você pode atribuir diferentes regras de acesso a assinaturas, grupos de recursos e recursos. As regras do RBAC do Azure são herdadas ao longo da hierarquia de recursos, a menos que sejam substituídas em um nível inferior. Você pode atribuir qualquer usuário ou grupos de usuários em sua ID do Microsoft Entra com regras do RBAC do Azure para que os usuários e grupos designados possam modificar seu cluster. Para obter mais informações, leia a visão geral do RBAC do Azure.
O Service Fabric também oferece suporte ao controle de acesso para limitar o acesso a determinadas operações de cluster para diferentes grupos de usuários. Isso ajuda a tornar o cluster mais seguro. Dois tipos de controle de acesso são suportados para clientes que se conectam a um cluster: Função de administrador e Função de usuário.
Para obter mais informações, leia Controle de acesso baseado em função do Service Fabric.
Grupos de segurança de rede
Os NSGs (grupos de segurança de rede) controlam o tráfego de entrada e saída de uma sub-rede, VM ou NIC específica. Por padrão, quando várias VMs são colocadas na mesma rede virtual, elas podem se comunicar entre si por meio de qualquer porta. Se quiser restringir as comunicações entre as máquinas, você pode definir NSGs para segmentar a rede ou isolar VMs umas das outras. Se você tiver vários tipos de nó em um cluster, poderá aplicar NSGs a sub-redes para impedir que máquinas pertencentes a diferentes tipos de nó se comuniquem entre si.
Para obter mais informações, leia sobre grupos de segurança
Dimensionamento
O aplicativo exige mudanças ao longo do tempo. Talvez seja necessário aumentar os recursos do cluster para atender ao aumento da carga de trabalho do aplicativo ou do tráfego de rede ou diminuir os recursos do cluster quando a demanda cair. Depois de criar um cluster do Service Fabric, você pode dimensioná-lo horizontalmente (alterar o número de nós) ou verticalmente (alterar os recursos dos nós). Você pode dimensionar o cluster a qualquer momento, mesmo quando as cargas de trabalho estão em execução no cluster. À medida que o cluster é dimensionado, seus aplicativos também são dimensionados automaticamente.
Para obter mais informações, leia Dimensionamento de clusters do Azure.
A atualizar
Um cluster do Azure Service Fabric é um recurso que você possui, mas é parcialmente gerenciado pela Microsoft. A Microsoft é responsável por aplicar patches no sistema operacional subjacente e executar atualizações de tempo de execução do Service Fabric em seu cluster. Você pode definir seu cluster para receber atualizações automáticas de tempo de execução, quando a Microsoft lançar uma nova versão, ou optar por selecionar uma versão de tempo de execução suportada desejada. Além das atualizações de tempo de execução, você também pode atualizar a configuração do cluster, como certificados ou portas de aplicativos.
Para obter mais informações, leia Atualizando clusters.
Sistemas operativos suportados
Consulte Versões suportadas no Azure para obter informações adicionais
Próximos passos
Leia mais sobre como proteger, dimensionar e atualizar clusters do Azure.
Saiba mais sobre as opções de suporte do Service Fabric.