AWS CloudFormation에서 AWS::Elasticsearch::Domain 리소스에 대한 현재 위치 업그레이드를 수행하려고 합니다.
간략한 설명
AWS::Elasticsearch::Domain 리소스에 대해 현재 위치 업그레이드를 활성화하려면 CloudFormation 템플릿에서 EnableVersionUpgrade라는 UpdatePolicy 속성을 사용해야 합니다. EnableVersionUpgrade 정책을 사용하여 Amazon OpenSearch Service 도메인에 대한 현재 위치 업그레이드를 활성화하거나 비활성화할 수 있습니다.
현재 위치 업그레이드 또는 대체 업그레이드를 수행하기 전에 다음을 고려하세요.
- Amazon OpenSearch Service는 버전 5.1 이상에 대한 인플레이스 OpenSearch Service 업그레이드를 지원합니다.
- 스택 업데이트 중에 EngineVersion 속성의 값을 변경하면 CloudFormation이 OpenSearch Service 도메인에 대한 대체 업데이트를 수행합니다. 그런 다음 CloudFormation에서 새 도메인을 생성합니다.
- 현재 위치 업그레이드를 사용하면 도메인의 업그레이드 기록을 추적하고 동일한 도메인 엔드포인트 URL을 유지할 수 있습니다. 도메인과 인터페이스로 연결되는 서비스의 구성을 변경할 필요가 없습니다. 이러한 서비스는 새 버전의 도메인에 액세스할 수 있습니다.
- 대체 업그레이드를 통해 업그레이드 기록을 추적할 수 없습니다. 이전 도메인은 새 도메인과 해당 도메인의 새 엔드포인트 URL로 대체됩니다. 도메인과 인터페이스로 연결되는 서비스가 새 도메인에 액세스하도록 허용하려면 서비스의 구성을 변경해야 합니다. 자세한 내용을 알아보려면 Amazon OpenSearch Service 도메인 생성 및 관리를 참조하세요.
해결 방법
1. CloudFormation 스택 템플릿에서 EnableVersionUpgrade 업데이트 정책을 추가합니다.
2. CloudFormation이 현재 위치 업그레이드를 수행하도록 허용하려면 EnableVersionUpgrade를 true로 설정하고 ElasticsearchVersion을 해당 버전의 값으로 설정합니다.
-또는-
AWS::Elasticsearch::Domain 리소스를 새 AWS::Elasticsearch::Domain 리소스로 바꾸려면 EnableVersionUpgrade를 false로 설정하거나 값을 지정하지 마십시오.
예를 들어 UpdatePolicy 속성은 다음 템플릿에서 현재 위치 업그레이드에 대해 구성되어 있습니다.
>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. 현재 위치 업그레이드 또는 교체 업그레이드 프로세스를 완료하려면 CloudFormation 콘솔 또는 AWS 명령줄 인터페이스(AWS CLI)를 사용하여 스택을 업데이트합니다.
관련 정보
Amazon OpenSearch Service 도메인 업그레이드