Fazer alterações na configuração do Amazon OpenSearch Service - Amazon OpenSearch Service

Fazer alterações na configuração do Amazon OpenSearch Service

O Amazon OpenSearch Service usa um processo de implantação azul/verde ao atualizar domínios. Azul/verde normalmente se refere à prática de operar dois ambientes de produção, um ativo e outro inativo, e alternar entre os dois ao fazer alterações de software. No caso do OpenSearch Service, isso se refere à prática de criar um novo ambiente para atualizações de domínio e rotear usuários para o novo ambiente assim que essas atualizações são concluídas. Essa prática minimiza o tempo de inatividade e mantém o ambiente original caso a implantação no novo ambiente seja malsucedida.

Alterações que normalmente causam implantações azuis/verdes

As seguintes operações causam implementações azuis/verdes:

  • Alterar o tipo de instância

  • Habilitar o controle de acesso refinado

  • Atualizações de software de serviço

  • Alterar a contagem de instâncias de dados, caso o seu domínio não tenha nós principais dedicados

  • Habilitar ou desabilitar os nós principais dedicados

  • Alteração da contagem de nós principais ou tipos de instâncias dedicados

  • Habilitar ou desabilitar Multi-AZ

  • Alterar o tipo de armazenamento, o tipo do volume ou o tamanho do volume

  • Escolher diferentes sub-redes da VPC

  • Adicionar ou remover os grupos de segurança da VPC

  • Habilitação ou desabilitação da autenticação do Amazon Cognito para OpenSearch Dashboards

  • Escolha de outro grupo de usuários ou grupo de identidades do Amazon Cognito

  • Modificar configurações avançadas

  • Habilitação ou desabilitação da publicação de logs de erros, logs de auditoria ou logs lentos no CloudWatch

  • Atualização para uma nova versão do OpenSearch

  • Habilitar ou desabilitar a opção Require HTTPS (Exigir HTTPS)

  • Habilitação da criptografia de dados em repouso e da criptografia de nó a nó

  • Habilitação ou desabilitação do armazenamento UltraWarm ou de baixa atividade

  • Desabilitação do Auto-Tune e reversão de suas alterações

  • Como modificar o endpoint personalizado

Alterações que normalmente não causam implantações azuis/verdes

Na maioria dos casos, as seguintes operações não causam implantações azuis/verdes:

  • Alterar política de acesso

  • Alterar o horário do snapshot automatizado

  • Habilitação do Auto-Tune ou desabilitação sem reverter suas alterações

  • Se o seu domínio tiver nós principais dedicados, alterar o nó de dados ou a contagem de nós UltraWarm

Há algumas exceções, dependendo da versão do software de serviço. Se você quiser ter certeza de que uma alteração não causará uma implantação azul/verde, execute uma simulação antes de atualizar seu domínio.

Determine se uma alteração causará uma implantação azul/verde

Você pode realizar uma simulação de uma alteração de configuração planejada para determinar se ela causará uma implantação azul/verde. Ao fazer uma alteração no console, será solicitado que você escolha Run analysis (Executar análise) e o OpenSearch Service calculará o tipo de implantação que a alteração causará.

Você também pode executar uma análise simulada por meio da API de configuração. Por exemplo, a solicitação UpdateDomainConfigtesta o tipo de implantação causado pela habilitação do UltraWarm:

POST https://es.us-east-1.amazonaws.com/2021-01-01/opensearch/domain/my-domain/config { "ClusterConfig": { "WarmCount": 3, "WarmEnabled": true, "WarmType": "ultrawarm1.large.search" }, "DryRun": true }

A solicitação retorna o tipo de implantação que a alteração causará, mas na verdade não executa a atualização:

{ "ClusterConfig": { ... }, "DryRunResults": { "DeploymentType": "Blue/Green", "Message": "This change will require a blue/green deployment." } }

Os possíveis tipos de implantação são:

  • Blue/Green: a alteração causará uma implantação azul/verde.

  • DynamicUpdate: a alteração não causará uma implantação azul/verde.

  • Undetermined: o domínio ainda está em um estado de processamento, portanto, não é possível determinar o tipo de implantação.

  • None: nenhuma alteração de configuração.

Início de uma alteração de configuração

Ao iniciar uma alteração de configuração, o estado do domínio mudará para Processing (Em processamento) até que o OpenSearch Service tenha criado um novo ambiente com o software de serviço mais recente, ponto em que ele mudará de volta para Active (Ativo). Durante determinadas atualizações de software de serviço, o estado permanece como Active (Ativo) o tempo inteiro. Em ambos os casos, você pode examinar a integridade do cluster e as métricas do Amazon CloudWatch e verificar se o número de nós no cluster aumenta temporariamente, muitas vezes chegando a dobrar, durante a atualização do domínio. No exemplo a seguir, você pode ver o número de nós que dobram de 11 para 22 durante uma alteração de configuração e que retornam para 11 quando a atualização é concluída.


      Número de nós que dobram de 11 para 22 durante uma alteração de configuração de domínio.

Esse aumento temporário pode sobrecarregar os nós principais dedicados do cluster, que repentinamente poderão ter muito mais nós para gerenciar. Ele também pode aumentar as latências de pesquisa e indexação à medida que o OpenSearch Service copia dados do cluster antigo para o novo. É importante manter capacidade suficiente no cluster para lidar com a sobrecarga associada a essas implantações azuis/verdes.

Importante

Não há nenhuma cobrança adicional nas alterações de configuração e na manutenção do serviço. Você será cobrado apenas pelo número de nós que solicitar para seu cluster. Para obter detalhes, consulte Cobranças para alterações de configuração.

Para evitar a sobrecarga de nós principais dedicados, você pode monitorar o uso com as métricas do Amazon CloudWatch. Para obter os valores máximos recomendados, consulte Alarmes recomendados do CloudWatch para Amazon OpenSearch Service.

Etapas de uma alteração de configuração

Depois de iniciar uma alteração de configuração, o OpenSearch Service percorre uma série de etapas para atualizar o seu domínio. Você pode visualizar o progresso da alteração de configuração em Domain status (Status do domínio) no console. As etapas exatas para a realização de uma atualização depende do tipo de alteração que você está fazendo. Você também pode monitorar uma alteração de configuração usando a operação da API DescribeDomainChangeProgress>.

Em alguns casos, como durante as atualizações de software de serviço, você não visualiza informações sobre o progresso até que a implantação azul/verde de fato se inicie. Durante esse período, o status do domínio é Pending Updates.

A seguir, estão as possíveis etapas de uma atualização durante uma alteração de configuração:

Nome da etapa Descrição

Validação

Validação se o domínio está qualificado para uma atualização e identificação de problemas de validação, se necessário.

Criação de um novo ambiente

Cumprimento dos pré-requisitos exigidos e criação dos recursos necessários para iniciar a implantação azul/verde.

Provisionamento de novos nós

Criando um novo conjunto de instâncias no novo ambiente.

Roteamento de tráfego em novos nós

Redirecionamento do tráfego para os nós de dados recém-criados.

Roteamento de tráfego em nós antigos

Desabilitação tráfego em nós de dados antigos.

Preparação dos nós para remoção

Preparação para a remoção de nós. Esta etapa só ocorre quando você reduz a escala do seu domínio (por exemplo, de 8 nós para 6 nós).

Cópia de fragmentos para novos nós

Transferência de fragmentos dos nós antigos para os novos nós.

Encerramento de nós

Encerramento e exclusão de nós antigos após a remoção dos fragmentos.

Exclusão de recursos mais antigos

Exclusão de recursos associados ao ambiente antigo (por exemplo, o balanceador de carga).

Atualização dinâmica

Eles serão exibidos quando a atualização não exigir uma implantação azul/verde e eles forem aplicáveis dinamicamente.

Solução de problemas de erros de validação

Quando você inicia uma alteração de configuração ou executa uma atualização da versão do OpenSearch ou do Elasticsearch, o OpenSearch Service primeiro executa uma série de verificações de validação para garantir que o domínio se qualifique para uma atualização. Se alguma dessas verificações falhar, você receberá uma notificação no console contendo os problemas específicos que deverão ser corrigidos antes da atualização do domínio. A tabela a seguir lista os possíveis problemas de domínio que o OpenSearch Service pode apresentar e as etapas necessárias para resolvê-los.

Problema Código de erro Etapas de solução de problemas
Grupo de segurança não encontrado SecurityGroupNotFound

O grupo de segurança associado ao seu domínio do OpenSearch Service não existe. Para resolver esse problema, crie um grupo de segurança com o nome especificado.

Sub-rede não encontrada SubnetNotFound

A sub-rede associada ao seu domínio do OpenSearch Service não existe. Para resolver esse problema, crie uma sub-rede na sua VPC.

Função vinculada ao serviço não configurada SLRNotConfigured A função vinculada ao serviço do OpenSearch Service não está configurada. A função vinculada ao serviço é predefinida pelo OpenSearch Service e inclui todas as permissões que o serviço requer para chamar outros serviços da AWS em seu nome. Se a função não existir, talvez seja necessário criá-la manualmente.
Não há endereços IP suficientes InsufficientFreeIPsForSubnets

Uma ou mais sub-redes da VPC não têm endereços IP suficientes para atualizar seu domínio. Para calcular quantos endereços IP são necessários, consulte Reserva de endereços IP em uma sub-rede da VPC.

O grupo de usuários do Cognito não existe CognitoUserPoolNotFound

O OpenSearch Service não consegue encontrar o grupo de usuários do Amazon Cognito. Confirme se você criou um e se tem o ID correto. Para encontrar o ID, você pode usar o console do Amazon Cognito ou o seguinte comando da AWS CLI:

aws cognito-idp list-user-pools --max-results 60 --region us-east-1
O grupo de identidades do Cognito não existe CognitoIdentityPoolNotFound

O OpenSearch Service não consegue encontrar o grupo de identidades do Cognito. Confirme se você criou um e se tem o ID correto. Para encontrar o ID, você pode usar o console do Amazon Cognito ou o seguinte comando da AWS CLI:

aws cognito-identity list-identity-pools --max-results 60 --region us-east-1
Domínio do Cognito não encontrado para grupo de usuários CognitoDomainNotFound

O grupo de usuários não tem um nome de domínio. Você pode configurar um usando o console do Amazon Cognito ou o seguinte comando da AWS CLI:

aws cognito-idp create-user-pool-domain --domain my-domain --user-pool-id id
Função do Cognito não configurada CognitoRoleNotConfigured

O perfil do IAM que concede ao OpenSearch Service permissão para configurar os grupos de usuários e identidades do Amazon Cognito e usá-los para autenticação não está configurado. Configure a função com um conjunto de permissões e uma relação de confiança apropriados. É possível usar o console, que cria a função CognitoAccessForAmazonOpenSearch padrão por você, ou configurar manualmente uma função usando a AWS CLI ou o AWS SDK.

Não é possível descrever o grupo de usuários UserPoolNotDescribable A função especificada do Amazon Cognito não tem permissão para descrever o grupo de usuários associado ao seu domínio. Verifique se a política de permissões da função permite a ação cognito-identity:DescribeUserPool. Consulte Sobre a função CognitoAccessForAmazonOpenSearch para ver a política de permissões completa.
Não é possível descrever o grupo de identidades IdentityPoolNotDescribable A função especificada do Amazon Cognito não tem permissão para descrever o grupo de identidades associado ao seu domínio. Verifique se a política de permissões da função permite a ação cognito-identity:DescribeIdentityPool. Consulte Sobre a função CognitoAccessForAmazonOpenSearch para ver a política de permissões completa.
Não é possível descrever os grupos usuários e de identidades CognitoPoolsNotDescribable A função especificada do Amazon Cognito não tem permissão para descrever os grupos de usuários e de identidades associados ao seu domínio. Verifique se a política de permissões da função permite as ações cognito-identity:DescribeIdentityPool e cognito-identity:DescribeUserPool. Consulte Sobre a função CognitoAccessForAmazonOpenSearch para ver a política de permissões completa.
A chave do KMS não está habilitada KMSKeyNotEnabled

A chave do AWS Key Management Service (AWS KMS) usada para criptografar seu domínio está desabilitada. Reative a chave imediatamente.

O certificado personalizado não está no estado ISSUED (EMITIDO) InvalidCertificate

Se seu domínio utilizar um endpoint personalizado, você protegerá o endpoint gerando um certificado SSL no AWS Certificate Manager (ACM) ou importando um dos seus próprios certificados. O status do certificado deve ser Issued (Emitido). Ao receber esse erro, verifique o status do certificado no console do ACM. Se o status for Expired (Expirado), Failed (Com falha), Inactive (Inativo) ou Pending validation (Validação pendente), consulte a documentação de solução de problemas do ACM para resolver o problema.

Capacidade insuficiente para iniciar o tipo de instância escolhido InsufficientInstanceCapacity

A capacidade do tipo de instância solicitada não está disponível. Por exemplo, você pode ter solicitado cinco nós i3.16xlarge.search, mas o OpenSearch Service não tem hosts i3.16xlarge.search suficientes disponíveis, portanto, a solicitação não pode ser atendida. Verifique os tipos de instância compatíveis no OpenSearch Service e escolha outro tipo de instância.

Índices vermelhos no cluster RedCluster

Um ou mais índices em seu cluster têm um status vermelho, o que leva a um status geral de cluster vermelho. Para solucionar e corrigir esse problema, consulte Status de cluster vermelho.

Disjuntor de memória, excesso de solicitações TooManyRequests

Há solicitações de pesquisa e gravação demais em seu domínio, portanto, o OpenSearch Service não pode atualizar sua configuração. É possível reduzir o número de solicitações, aumentar instâncias na vertical até 64 GiB de RAM ou aumentar a escala na horizontal adicionando instâncias.

A nova configuração não pode acomodar os dados (pouco espaço em disco) InsufficientStorageCapacity

O tamanho de armazenamento configurado não é capaz de acomodar todos os dados no seu domínio. Para resolver esse problema, escolha um volume maior, exclua índices não utilizados ou aumente o número de nós no cluster para liberar espaço em disco imediatamente.

Fragmentos fixados em nós específicos ShareMovementBlocked

Um ou mais índices em seu domínio estão anexados a nós específicos e não podem ser reatribuídos. Isso provavelmente aconteceu porque você configurou a filtragem de alocação de fragmentos, que permite especificar quais nós têm permissão para hospedar os fragmentos de um índice específico.

Para resolver esse problema, remova os filtros de alocação de fragmentos de todos os índices afetados:

PUT my-index/_settings { "settings": { "index.routing.allocation.require._name": null } }
A nova configuração não pode conter todos os fragmentos (contagem de fragmentos) TooManyShards A contagem de fragmentos no seu domínio é muito alta, o que impede que o OpenSearch Service os mova para a nova configuração. Para resolver esse problema, dimensione seu domínio horizontalmente adicionando nós do mesmo tipo de configuração que os nós de cluster atuais. Observe que o tamanho máximo do volume do EBS depende do tipo de instância do nó.

Para evitar esse problema no futuro, consulte Como escolher o número de fragmentos e defina uma estratégia de fragmentação que seja apropriada para o seu caso de uso.

Cobranças para alterações de configuração

Se você alterar a configuração para um domínio, o OpenSearch Service criará um novo cluster conforme descrito em Fazer alterações na configuração do Amazon OpenSearch Service. Durante a migração do antigo para o novo, você é cobrado pelos seguintes encargos:

  • Se você alterar o tipo de instância, será cobrado por ambos os clusters para a primeira hora. Após a primeira hora, você será cobrado apenas pelo novo cluster. Os volumes do EBS não são cobrados duas vezes porque fazem parte do cluster. Portanto, o faturamento segue o faturamento da instância.

    Exemplo: Você altera a configuração de três instâncias m3.xlarge para quatro instâncias m4.large. Na primeira hora, você é cobrado por ambos os clusters (3 * m3.xlarge + 4 * m4.large). Após a primeira hora, você será cobrado apenas pelo novo cluster (4 * m4.large).

  • Se você não alterar o tipo de instância, será cobrado apenas pelo cluster maior para a primeira hora. Após a primeira hora, você será cobrado apenas pelo novo cluster.

    Exemplo: Você altera a configuração de seis instâncias m3.xlarge para três instâncias m3.xlarge. Para a primeira hora, você será cobrado pelo cluster maior (6 * m3.xlarge). Após a primeira hora, você será cobrado apenas pelo novo cluster (3 * m3.xlarge).