Come faccio a eseguire un aggiornamento o una sostituzione sul posto per la mia risorsa AWS::Elasticsearch::Domain in AWS CloudFormation?
Breve descrizione
Per abilitare un aggiornamento sul posto per la risorsa AWS። Elasticsearch። Domain, è necessario utilizzare un attributo updatePolicy chiamato enableVersionUpgrade nel modello CloudFormation. Vi è la possibilità di utilizzare la politica EnableVersionUpgrade per abilitare o disabilitare gli aggiornamenti sul posto per un dominio Amazon OpenSearch Service.
Prima di eseguire un aggiornamento sul posto o un aggiornamento sostitutivo, considerare quanto segue:
- Amazon OpenSearch Service supporta gli aggiornamenti sul posto di OpenSearch Service per le versioni 5.1 o successive.
- Se si modifica il valore della proprietà EngineVersion durante un aggiornamento dello stack, CloudFormation esegue un aggiornamento sostitutivo per un dominio del servizio OpenSearch. Quindi, CloudFormation crea un nuovo dominio.
- Con un aggiornamento sul posto, è possibile tenere traccia della cronologia degli aggiornamenti del proprio dominio e mantenere lo stesso URL dell'endpoint del dominio. Non è necessario apportare modifiche alla configurazione dei servizi che si interfacciano con il dominio. Questi servizi avranno accesso alla nuova versione del proprio dominio.
- Un aggiornamento sostitutivo non consente di tenere traccia della cronologia degli aggiornamenti. Il vecchio dominio viene sostituito con un nuovo dominio e un nuovo URL endpoint per quel dominio. Per consentire ai servizi che si interfacciano con il dominio di accedere al nuovo dominio, è necessario apportare modifiche alla configurazione dei servizi. Per ulteriori informazioni, consulta la sezione Creazione e gestione di domini del servizio OpenSearch.
Risoluzione
1. Nel modello stack di CloudFormation, aggiungi la policy di aggiornamento EnableVersionUpgrade.
2. Per consentire a CloudFormation di eseguire un aggiornamento sul posto, impostare enableVersionUpgrade su true e impostare ElasticSearchVersion sul valore della propria versione.
-oppure-
Per sostituire la risorsa AWS። Elasticsearch። Domain con una nuova risorsa AWS። Elasticsearch። Domain, impostare EnableVersionUpgrade su false o non specificare alcun valore.
Ad esempio, l'attributo updatePolicy è configurato per un aggiornamento sul posto nel seguente modello:
>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. Per completare l'aggiornamento sul posto o il processo di aggiornamento sostitutivo, aggiornare lo stack utilizzando la console CloudFormation o l'interfaccia a riga di comando AWS (AWS CLI).
Informazioni correlate
Aggiornamento dei domini Amazon OpenSearch Service