Como faço um upgrade no local ou de substituição para um recurso AWS::Elasticsearch::Domain no CloudFormation?

3 minuto de leitura
0

Quero fazer um upgrade no local para meu recurso AWS::Elasticsearch::Domain no AWS CloudFormation.

Breve descrição

Para habilitar uma atualização no local para seu recurso AWS::Elasticsearch::Domain, você deve usar um atributo UpdatePolicy chamado EnableVersionUpgrade no modelo do CloudFormation. Você pode usar a política EnableVersionUpgrade para habilitar ou desabilitar atualizações no local para um domínio do Amazon OpenSearch Service.

Antes de realizar um upgrade no local ou de substituição, considere o seguinte:

  • O Amazon OpenSearch Service oferece suporte a upgrades locais do OpenSearch Service para as versões 5.1 ou posteriores.
  • Se você alterar o valor da propriedade EngineVersion durante uma atualização de pilha, o CloudFormation executará uma atualização de substituição para um domínio do OpenSearch Service. Em seguida, o CloudFormation criará um novo domínio.
  • Com um upgrade no local, você pode rastrear o histórico de atualizações do seu domínio e manter o mesmo URL do endpoint de domínio. Você não precisa fazer alterações de configuração nos serviços que fazem interface com seu domínio. Esses serviços terão acesso à nova versão do seu domínio.
  • Um upgrade de substituição não permite que você monitore seu histórico de atualizações. O domínio antigo é substituído por novos domínio e novo URL de endpoint. Para permitir que os serviços que interagem com seu domínio atual acessem o novo, você deve fazer alterações de configuração em seus serviços. Para obter mais informações, consulte Criação e gerenciamento de domínios do Amazon OpenSearch Service.

Resolução

1.    No templete de pilha do CloudFormation, adicione a política de atualização EnableVersionUpgrade.

2.    Para permitir que o CloudFormation execute um upgrade no local, defina EnableVersionUpgrade como true e defina ElasticsearchVersion como o valor da sua versão.

-ou-

Para substituir o recurso AWS::Elasticsearch::Domain por um novo recurso AWS::Elasticsearch::Domain, defina EnableVersionUpgrade como false ou não especifique nenhum valor.

Por exemplo, o atributo updatePolicy está configurado para um upgrade no local no seguinte modelo:

>AWSTemplateFormatVersion: 2010-09-09
Description: AWS CloudFormation sample template to launch an Amazon OpenSearch Service Domain. Performing an update using the same template and supplying a different ElasticsearchVersion will perform an in-place upgrade for an Elasticsearch Domain resource.
Parameters:
  ElasticsearchVersion:
    Type: String
    AllowedValues: ['5.6', '5.5', '5.3', '5.1', '6.8', '6.7', '6.5', '6.4', '6.3', '6.2', '6.0', '7.4', '7.1']
    Default: 5.3
    Description: The version of Amazon OpenSearch Service to use.
  InstanceTypeForDataNode:
    Type: String
    Default: m3.medium.elasticsearch
    Description: The instance type for your data nodes.
  NumberOfDataNodes:
    Type: String
    Default: 1
    Description: The number of data nodes (instances) to use in the OpenSearch Service domain.
Resources:
  ElasticSearchDomain:
    Type: AWS::Elasticsearch::Domain
    UpdatePolicy:
       EnableVersionUpgrade: true   ### In-place Upgrade
    Properties:
      ElasticsearchClusterConfig:
        InstanceCount: !Ref NumberOfDataNodes
        InstanceType: !Ref InstanceTypeForDataNode
      ElasticsearchVersion: !Ref ElasticsearchVersion

3.    Para concluir o processo de upgrade no local ou de substituição, atualize sua pilha usando o console do CloudFormation ou a AWS Command Line Interface (AWS CLI).


Informações relacionadas

Upgrade de domínios do Amazon OpenSearch Service

AWS OFICIAL
AWS OFICIALAtualizada há 3 anos