AWS CloudFormation에서 내 AWS::Elasticsearch::Domain 리소스에 대한 현재 위치 업그레이드 또는 대체 업그레이드를 수행하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 4월 23일

AWS CloudFormation에서 AWS::Elasticsearch::Domain 리소스에 대한 현재 위치 업그레이드 또는 대체 업그레이드를 수행하려고 합니다.

간략한 설명

AWS::Elasticsearch::Domain 리소스에 대해 현재 위치 업그레이드 또는 대체 업그레이드를 활성화하려면 AWS CloudFormation 템플릿에서 EnableVersionUpgrade라는 UpdatePolicy 속성을 사용해야 합니다. EnableVersionUpgrade 정책을 사용하여 Elasticsearch 도메인에 대한 현재 위치 업그레이드를 활성화하거나 비활성화할 수 있습니다.

현재 위치 업그레이드 또는 대체 업그레이드를 수행하기 전에 다음을 고려하십시오.

  • Amazon Elasticsearch Service(Amazon ES)는 버전 5.1 이상을 실행하는 도메인에 대해 현재 위치 Elasticsearch 업그레이드를 지원합니다.
  • 스택 업데이트 중에 EngineVersion 속성의 값을 변경하면 AWS CloudFormation이 Elasticsearch 도메인에 대한 대체 업데이트를 수행하고 새 도메인을 생성합니다.
  • 현재 위치 업그레이드를 사용하면 도메인의 업그레이드 기록을 추적하고 동일한 도메인 엔드포인트 URL을 유지할 수 있습니다. 도메인과 인터페이스로 연결되는 서비스의 구성을 변경할 필요가 없습니다. 이러한 서비스는 새 버전의 도메인에 액세스할 수 있습니다.
  • 대체 업그레이드를 통해 업그레이드 기록을 추적할 수 없습니다. 이전 도메인은 새 도메인과 해당 도메인의 새 엔드포인트 URL로 대체됩니다. 도메인과 인터페이스로 연결되는 서비스가 새 도메인에 액세스하도록 허용하려면 서비스의 구성을 변경해야 합니다. 자세한 내용은 Amazon Elasticsearch Service 도메인 관리를 참조하십시오.

해결 방법

1.    AWS CloudFormation 스택 템플릿에서 EnableVersionUpgrade UpdatePolicy를 추가합니다.

2.    AWS CloudFormation이 현재 위치 업그레이드를 수행하도록 허용하려면 EnableVersionUpgradetrue로 설정하고 ElasticsearchVersion을 해당 버전의 값으로 설정합니다.

--또는--

AWS::Elasticsearch::Domain 리소스를 새 AWS::Elasticsearch::Domain 리소스로 바꾸려면 EnableVersionUpgradefalse로 설정하거나 값을 지정하지 마십시오.

예를 들어 UpdatePolicy 속성은 다음 템플릿에서 현재 위치 업그레이드에 대해 구성되어 있습니다.

AWSTemplateFormatVersion: 2010-09-09
Description: AWS CloudFormation sample template to launch an Elasticsearch 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 Elasticsearch 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 Amazon ES 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.    현재 위치 업그레이드 또는 교체 업그레이드 프로세스를 완료하려면 AWS CloudFormation 콘솔 또는 AWS 명령줄 인터페이스(AWS CLI)를 사용하여 스택을 업데이트합니다.


이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?