Considerações para balanceamento de carga
Você pode usar o balanceamento de carga para lidar com cargas de trabalho de ingestão e recuperação de clientes S3.
O que é balanceamento de carga?
Quando um aplicativo cliente salva ou recupera dados de um sistema StorageGRID , o StorageGRID usa um balanceador de carga para gerenciar a carga de trabalho de ingestão e recuperação. O balanceamento de carga maximiza a velocidade e a capacidade de conexão distribuindo a carga de trabalho entre vários nós de armazenamento.
O serviço StorageGRID Load Balancer é instalado em todos os nós de administração e todos os nós de gateway e fornece balanceamento de carga da Camada 7. Ele executa o encerramento de solicitações de clientes pelo protocolo TLS (Transport Layer Security), inspeciona as solicitações e estabelece novas conexões seguras com os nós de armazenamento.
O serviço Load Balancer em cada nó opera de forma independente ao encaminhar o tráfego do cliente para os nós de armazenamento. Por meio de um processo de ponderação, o serviço Load Balancer encaminha mais solicitações para nós de armazenamento com maior disponibilidade de CPU.
|
Embora o serviço StorageGRID Load Balancer seja o mecanismo de balanceamento de carga recomendado, talvez você queira integrar um balanceador de carga de terceiros. Para obter informações, entre em contato com seu representante de conta NetApp ou consulte "TR-4626: balanceadores de carga globais e de terceiros do StorageGRID" . |
Quantos nós de balanceamento de carga eu preciso?
Como prática recomendada geral, cada site no seu sistema StorageGRID deve incluir dois ou mais nós com o serviço Load Balancer. Por exemplo, um site pode incluir dois nós de gateway ou um nó de administração e um nó de gateway. Certifique-se de que haja infraestrutura de rede, hardware ou virtualização adequada para cada nó de balanceamento de carga, esteja você usando dispositivos de serviços, nós bare metal ou nós baseados em máquina virtual (VM).
O que é um ponto de extremidade do balanceador de carga?
Um ponto de extremidade do balanceador de carga define a porta e o protocolo de rede (HTTPS ou HTTP) que as solicitações de entrada e saída do aplicativo cliente usarão para acessar os nós que contêm o serviço do balanceador de carga. O ponto de extremidade também define o tipo de cliente (S3), o modo de vinculação e, opcionalmente, uma lista de locatários permitidos ou bloqueados.
Para criar um ponto de extremidade do balanceador de carga, selecione CONFIGURAÇÃO > Rede > Pontos de extremidade do balanceador de carga ou conclua o assistente de configuração do FabricPool e do S3. Para instruções:
Considerações para o porto
A porta para um ponto de extremidade do balanceador de carga é definida como 10433 para o primeiro ponto de extremidade criado, mas você pode especificar qualquer porta externa não utilizada entre 1 e 65535. Se você usar a porta 80 ou 443, o ponto de extremidade usará o serviço Load Balancer somente nos nós de gateway. Essas portas são reservadas em nós de administração. Se você usar a mesma porta para mais de um ponto de extremidade, deverá especificar um modo de vinculação diferente para cada ponto de extremidade.
Portas usadas por outros serviços de rede não são permitidas. Veja o"Referência de porta de rede" .
Considerações sobre o protocolo de rede
Na maioria dos casos, as conexões entre aplicativos cliente e o StorageGRID devem usar criptografia TLS (Transport Layer Security). A conexão ao StorageGRID sem criptografia TLS é suportada, mas não recomendada, especialmente em ambientes de produção. Ao selecionar o protocolo de rede para o ponto de extremidade do balanceador de carga StorageGRID , você deve selecionar HTTPS.
Considerações sobre certificados de ponto de extremidade do balanceador de carga
Se você selecionar HTTPS como o protocolo de rede para o ponto de extremidade do balanceador de carga, deverá fornecer um certificado de segurança. Você pode usar qualquer uma destas três opções ao criar o ponto de extremidade do balanceador de carga:
-
Faça upload de um certificado assinado (recomendado). Este certificado pode ser assinado por uma autoridade de certificação (CA) pública ou privada. Usar um certificado de servidor CA publicamente confiável para proteger a conexão é a melhor prática. Ao contrário dos certificados gerados, os certificados assinados por uma CA podem ser rotacionados sem interrupções, o que pode ajudar a evitar problemas de expiração.
Você deve obter os seguintes arquivos antes de criar o ponto de extremidade do balanceador de carga:
-
O arquivo de certificado do servidor personalizado.
-
O arquivo de chave privada do certificado do servidor personalizado.
-
Opcionalmente, um pacote de CA dos certificados de cada autoridade certificadora emissora intermediária.
-
-
Gerar um certificado autoassinado.
-
Use o certificado global StorageGRID S3. Você deve carregar ou gerar uma versão personalizada deste certificado antes de poder selecioná-lo para o ponto de extremidade do balanceador de carga. Ver "Configurar certificados da API S3" .
Quais valores eu preciso?
Para criar o certificado, você deve saber todos os nomes de domínio e endereços IP que os aplicativos cliente S3 usarão para acessar o ponto de extremidade.
A entrada Subject DN (Distinguished Name) do certificado deve incluir o nome de domínio totalmente qualificado que o aplicativo cliente usará para StorageGRID. Por exemplo:
Subject DN: /C=Country/ST=State/O=Company,Inc./CN=s3.storagegrid.example.com
Conforme necessário, o certificado pode usar curingas para representar os nomes de domínio totalmente qualificados de todos os nós de administração e nós de gateway que executam o serviço do balanceador de carga. Por exemplo, *.storagegrid.example.com
usa o curinga * para representar adm1.storagegrid.example.com
e gn1.storagegrid.example.com
.
Se você planeja usar solicitações de estilo de hospedagem virtual S3, o certificado também deve incluir uma entrada Nome Alternativo para cada"Nome de domínio do ponto de extremidade S3" que você configurou, incluindo quaisquer nomes curinga. Por exemplo:
Alternative Name: DNS:*.s3.storagegrid.example.com
|
Se você usar curingas para nomes de domínio, revise o"Diretrizes de proteção para certificados de servidor" . |
Você também deve definir uma entrada DNS para cada nome no certificado de segurança.
Como faço para gerenciar certificados que estão expirando?
|
Se o certificado usado para proteger a conexão entre o aplicativo S3 e o StorageGRID expirar, o aplicativo poderá perder temporariamente o acesso ao StorageGRID. |
Para evitar problemas de expiração de certificado, siga estas práticas recomendadas:
-
Monitore cuidadosamente todos os alertas que avisam sobre a aproximação das datas de expiração do certificado, como os alertas Expiração do certificado de ponto de extremidade do balanceador de carga e Expiração do certificado do servidor global para a API S3.
-
Mantenha sempre as versões do certificado do StorageGRID e do aplicativo S3 sincronizadas. Se você substituir ou renovar o certificado usado para um ponto de extremidade do balanceador de carga, deverá substituir ou renovar o certificado equivalente usado pelo aplicativo S3.
-
Use um certificado de CA assinado publicamente. Se você usar um certificado assinado por uma CA, poderá substituir certificados prestes a expirar sem interrupções.
-
Se você gerou um certificado StorageGRID autoassinado e esse certificado estiver prestes a expirar, você deverá substituí-lo manualmente no StorageGRID e no aplicativo S3 antes que o certificado existente expire.
Considerações sobre o modo de ligação
O modo de vinculação permite controlar quais endereços IP podem ser usados para acessar um ponto de extremidade do balanceador de carga. Se um ponto de extremidade usar um modo de vinculação, os aplicativos clientes só poderão acessar o ponto de extremidade se usarem um endereço IP permitido ou seu nome de domínio totalmente qualificado (FQDN) correspondente. Aplicativos clientes que usam qualquer outro endereço IP ou FQDN não conseguem acessar o endpoint.
Você pode especificar qualquer um dos seguintes modos de vinculação:
-
Global (padrão): Os aplicativos cliente podem acessar o ponto de extremidade usando o endereço IP de qualquer nó de gateway ou nó de administração, o endereço IP virtual (VIP) de qualquer grupo de HA em qualquer rede ou um FQDN correspondente. Use esta configuração, a menos que você precise restringir a acessibilidade de um ponto de extremidade.
-
IPs virtuais de grupos HA. Os aplicativos cliente devem usar um endereço IP virtual (ou FQDN correspondente) de um grupo HA.
-
Interfaces de nó. Os clientes devem usar os endereços IP (ou FQDNs correspondentes) das interfaces de nó selecionadas.
-
Tipo de nó. Com base no tipo de nó selecionado, os clientes devem usar o endereço IP (ou FQDN correspondente) de qualquer nó de administração ou o endereço IP (ou FQDN correspondente) de qualquer nó de gateway.
Considerações sobre acesso de inquilinos
O acesso do locatário é um recurso de segurança opcional que permite controlar quais contas de locatário do StorageGRID podem usar um ponto de extremidade do balanceador de carga para acessar seus buckets. Você pode permitir que todos os locatários acessem um ponto de extremidade (padrão) ou pode especificar uma lista de locatários permitidos ou bloqueados para cada ponto de extremidade.
Você pode usar esse recurso para fornecer melhor isolamento de segurança entre locatários e seus endpoints. Por exemplo, você pode usar esse recurso para garantir que os materiais ultrassecretos ou altamente confidenciais de propriedade de um inquilino permaneçam completamente inacessíveis a outros inquilinos.
|
Para fins de controle de acesso, o locatário é determinado a partir das chaves de acesso usadas na solicitação do cliente. Se nenhuma chave de acesso for fornecida como parte da solicitação (como no caso de acesso anônimo), o proprietário do bucket será usado para determinar o locatário. |
Exemplo de acesso do inquilino
Para entender como esse recurso de segurança funciona, considere o seguinte exemplo:
-
Você criou dois pontos de extremidade do balanceador de carga, como segue:
-
Ponto de extremidade público: usa a porta 10443 e permite acesso a todos os locatários.
-
Ponto de extremidade Top Secret: usa a porta 10444 e permite acesso somente ao locatário Top Secret. Todos os outros inquilinos estão bloqueados de acessar este ponto de extremidade.
-
-
O
top-secret.pdf
está em um balde de propriedade do inquilino ultrassecreto.
Para acessar o top-secret.pdf
, um usuário no locatário Top secret pode emitir uma solicitação GET para https://w.x.y.z:10444/top-secret.pdf
. Como esse locatário tem permissão para usar o ponto de extremidade 10444, o usuário pode acessar o objeto. Entretanto, se um usuário pertencente a qualquer outro locatário emitir a mesma solicitação para o mesmo URL, ele receberá imediatamente uma mensagem de Acesso Negado. O acesso é negado mesmo que as credenciais e a assinatura sejam válidas.
Disponibilidade da CPU
O serviço Load Balancer em cada nó de administração e nó de gateway opera de forma independente ao encaminhar o tráfego S3 para os nós de armazenamento. Por meio de um processo de ponderação, o serviço Load Balancer encaminha mais solicitações para nós de armazenamento com maior disponibilidade de CPU. As informações de carga da CPU do nó são atualizadas a cada poucos minutos, mas a ponderação pode ser atualizada com mais frequência. Todos os nós de armazenamento recebem um valor mínimo de peso base, mesmo que um nó relate 100% de utilização ou não relate sua utilização.
Em alguns casos, as informações sobre a disponibilidade da CPU são limitadas ao site onde o serviço Load Balancer está localizado.