Elasticsearch 업데이트 - Amazon Elasticsearch Service

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

Elasticsearch 업데이트

참고

Elasticsearch 버전 업그레이드는 서비스 소프트웨어 업데이트와 다릅니다. Amazon ES 도메인에 대한 서비스 소프트웨어 업데이트에 대한 자세한 내용은 서비스 소프트웨어 업데이트 단원을 참조하십시오.

Amazon ES는 버전 5.1 이상을 실행하는 도메인에 대해 인플레이스 Elasticsearch 업그레이드를 제공합니다. Amazon Kinesis Data Firehose 또는 Amazon CloudWatch Logs 같은 서비스를 사용하여 데이터를 Amazon ES로 스트리밍하는 경우, 마이그레이션하기 전에 이러한 서비스가 새 버전의 Elasticsearch를 지원하는지 확인하십시오.

현재 Amazon ES는 다음 업그레이드 경로를 지원합니다.

구 버전 새 버전
7.x

7.x

6.8

7.x

중요

Elasticsearch 7.0에는 수많은 주요 변경 사항이 포함되어 있습니다. 현재 위치 업그레이드를 시작하기 전에 6.8 도메인의 수동 스냅샷을 생성하여 테스트 7.x 도메인에서 복원하고, 해당 테스트 도메인을 사용하여 잠재적인 업그레이드 문제를 식별하는 것이 좋습니다.

Elasticsearch 6.x와 같이 인덱스에는 하나의 매핑 유형만 포함될 수 있지만 해당 유형의 이름은 _doc여야 합니다. 결과적으로 특정 API(예: _bulk API)는 더 이상 요청 본문에 매핑 유형이 필요하지 않습니다.

새 인덱스의 경우 자체 호스팅된 Elasticsearch 7.x의 기본 샤드 수는 1입니다. Amazon ES 7.x 도메인은 이전 기본값인 5를 유지합니다.

6.x

6.x

5.6

6.x

중요

버전 6.x에서 생성된 인덱스는 더 이상 여러 개의 매핑 유형을 지원하지 않습니다. 버전 5.x에서 생성된 인덱스는 6.x 클러스터로 복원될 때 계속 여러 매핑 유형을 지원합니다. 클라이언트 코드를 통해 인덱스당 매핑 유형 하나만 생성할 수 있는지 확인하십시오.

Elasticsearch 5.6에서 6.x로 업그레이드할 때 가동 중지를 최소화하기 위해 Amazon ES는 .kibana 인덱스를 .kibana-6으로 다시 인덱싱하고, .kibana를 삭제하고, .kibana라는 별칭을 생성하여 새 인덱스를 새 별칭에 매핑합니다.

5.x 5.6

업그레이드 프로세스는 세 단계로 구성됩니다.

  1. 업그레이드 전 점검 – Amazon ES가 일련의 점검을 수행하여 업그레이드를 차단할 수 있는 문제가 있는지 확인하고 이러한 점검이 성공하지 않을 경우 다음 단계를 진행하지 않습니다.

  2. 스냅샷 – Amazon ES가 Elasticsearch 클러스터의 스냅샷을 만들고 스냅샷이 성공하지 않을 경우 다음 단계를 진행하지 않습니다. 업그레이드가 실패할 경우 Amazon ES가 이 스냅샷을 사용해 클러스터를 원래 상태로 복원합니다. 이 스냅샷에 대한 자세한 내용은 업그레이드 후에는 다운그레이드할 수 없음을 참조하십시오.

  3. 업그레이드 – Amazon ES가 업그레이드를 시작합니다. 15분에서 몇 시간까지 걸릴 수 있습니다. 일부 또는 모든 업그레이드 도중 Kibana를 사용하지 못할 수 있습니다.

업그레이드 문제 해결

인플레이스 Elasticsearch 업그레이드는 정상 상태 도메인이 필요합니다. 도메인은 업그레이드 자격이 없거나 매우 다양한 이유로 업그레이드가 실패할 수 있습니다. 다음 표에는 가장 일반적인 문제가 나와 있습니다.

문제 설명
노드당 샤드가 너무 많음 Elasticsearch의 7.x 버전에서 기본 설정된 노드당 샤드 수는 1,000개 이하입니다. 현재 클러스터의 노드가 이 설정을 초과하면 Amazon ES에서 업그레이드할 수 없습니다. 문제 해결 옵션은 최대 샤드 제한 단원을 참조하십시오.
처리 중 상태의 도메인 도메인이 구성 변경 도중에 있습니다. 작업이 완료된 후 업그레이드 자격을 확인하십시오.
빨간색 클러스터 상태 클러스터에서 하나 이상의 인덱스가 빨간색입니다. 문제 해결 단계는 빨간색 클러스터 상태 단원을 참조하십시오.
높은 오류율 Elasticsearch 클러스터가 요청을 처리하려고 시도할 때 다수의 5xx 오류를 반환합니다. 이 문제는 일반적으로 너무 많은 동시 읽기 또는 쓰기 요청의 결과입니다. 클러스터로 가는 트래픽을 줄이거나 도메인을 확장할 것을 고려하십시오.
브레인 분할 브레인 분할은 Elasticsearch 클러스터가 여러 개의 마스터 노드를 가지고 자체적으로는 절대로 다시 조인되지 않는 2개의 클러스터로 분할되어 있다는 의미입니다. 권장 수의 전용 마스터 노드를 사용하면 브레인 분할을 방지할 수 있습니다. 브레인 분할로부터 복구하기 위해 도움이 필요하면 AWS Support에 문의하십시오.
마스터 노드가 없음 Amazon ES가 클러스터의 마스터 노드를 찾을 수 없습니다. 도메인에서 다중 AZ를 사용하는 경우 가용 영역 장애로 인해 클러스터가 쿼럼을 상실하고 새 마스터 노드를 선택하지 못할 수 있습니다. 문제가 자체적으로 해결되지 않을 경우 AWS Support에 문의하십시오.
대기 중 작업이 너무 많음 마스터 노드에 부하가 너무 높아 대기 중 작업이 많습니다. 클러스터로 가는 트래픽을 줄이거나 도메인을 확장할 것을 고려하십시오.
손상된 스토리지 볼륨 하나 이상의 노드의 디스크 볼륨이 제대로 기능하지 않습니다. 이 문제는 흔히 높은 오류율, 대기 작업이 너무 많음 등 다른 문제와 함께 발생합니다. 이 문제가 단독으로 발생하고 자체적으로 해결되지 않을 경우 AWS Support에 문의하십시오.
KMS 키 문제 도메인을 암호화하는 데 사용된 KMS 키가 액세스 불가능하거나 없습니다. 자세한 내용은 유휴 시 데이터를 암호화하는 도메인 모니터링 단원을 참조하십시오.
진행 중인 스냅샷 도메인이 현재 스냅샷을 생성하고 있습니다. 스냅샷이 완료된 후 업그레이드 자격을 확인하십시오. 또한 수동 스냅샷 리포지토리를 나열하고, 해당 리포지토리에서 스냅샷을 나열하고, 수동 스냅샷을 생성할 수 있는지도 확인하십시오. Amazon ES가 스냅샷이 진행 중인지 확인할 수 없는 경우 업그레이드가 실패할 수 있습니다.
스냅샷 시간 초과 또는 실패 업그레이드 전 스냅샷 생성이 너무 오래 걸렸거나 실패했습니다. 클러스터 상태를 확인한 후 다시 시도하십시오. 문제가 지속될 경우 AWS Support에 문의하십시오.
호환되지 않는 인덱스 하나 이상의 인덱스가 대상 Elasticsearch 버전과 호환되지 않습니다. 인덱스를 이전 버전(예: 2.3)의 Elasticsearch에서 마이그레이션한 경우 이 문제가 발생할 수 있습니다. 인덱스를 다시 생성한 후 다시 시도하십시오.
높은 디스크 사용량 클러스터의 디스크 사용량이 90%를 초과합니다. 데이터를 삭제하거나 도메인을 확장한 후 다시 시도하십시오.
높은 JVM 사용량 JVM 메모리 압력이 75%를 초과합니다. 클러스터로 가는 트래픽을 줄이거나 도메인을 확장한 후 다시 시도하십시오.
Kibana 별칭 문제 .kibana 가 이미 별칭으로 구성되고 호환되지 않는 인덱스(예를 들어 Kibana의 이전 버전 중 하나)에 매핑되어 있습니다. 다시 인덱싱한 후 다시 시도하십시오.
빨간색 Kibana 상태 Kibana 상태가 빨간색입니다. 업그레이드가 완료되면 Kibana를 사용해보십시오. 상태가 지속될 경우 수동으로 해결한 후 다시 시도하십시오.
클러스터 간 호환성 업그레이드 후 소스 도메인과 대상 도메인 간에 클러스터 간 호환성이 유지되는 경우에만 업그레이드할 수 있습니다. 업그레이드 프로세스 중에 호환되지 않는 모든 연결이 식별됩니다. 업그레이드를 계속하려면 호환되지 않는 연결을 삭제하십시오.
기타 Amazon ES 서비스 문제 Amazon ES 자체에 문제가 있을 경우 도메인이 업그레이드 자격이 없는 것으로 표시될 수 있습니다. 도메인에 상기 조건이 하나도 적용되지 않지만 문제가 하루를 넘게 지속될 경우 AWS Support에 문의하십시오.

업그레이드 시작

업그레이드 프로세스는 되돌릴 수 없으며 일시 중지 또는 취소할 수 없습니다. 업그레이드 도중에는 도메인에서 구성을 변경할 수 없습니다. 업그레이드를 시작하기 전에 진행해도 좋은지 다시 한 번 확인하십시오. 동일한 단계를 사용해 실제로 업그레이드를 시작하지 않고 업그레이드 전 점검을 수행할 수 있습니다.

클러스터에 전용 마스터 노드가 있는 경우 가동 중지 없이 업그레이드가 완료됩니다. 그렇지 않으면 클러스터가 업그레이드 후 마스터 노드를 선택하는 몇 초 동안 응답하지 않을 수도 있습니다.

도메인을 새 버전의 Elasticsearch로 업그레이드하려면(콘솔)

  1. 도메인의 수동 스냅샷을 생성합니다. 이 스냅샷은 이전 Elasticsearch 버전 사용으로 돌아가고 싶은 경우 새 도메인에서 복원할 수 있는 백업의 역할을 수행합니다.

  2. https://aws.amazon.com으로 이동하여 Sign In to the Console(콘솔에 로그인)을 선택합니다.

  3. Analytics에서 Elasticsearch Service를 선택합니다.

  4. 탐색 창의 My domains(내 도메인)에서 업그레이드할 도메인을 선택합니다.

  5. Actions(작업)Upgrade domain(도메인 업그레이드)를 선택합니다.

  6. 작업에서 업그레이드, 제출, 계속.을 차례로 선택합니다.

  7. 개요 탭으로 돌아가 Upgrade status(업그레이드 상태)를 선택하여 업그레이드 상태를 모니터링합니다.

도메인을 새 버전의 Elasticsearch로 업그레이드하려면(AWS CLI 및 SDK)

다음 작업을 사용하여 도메인에 올바른 Elasticsearch 버전을 식별하고, 인플레이스 업그레이드를 시작하고, 업그레이드 전 점검을 수행하고, 진행 상태를 확인할 수 있습니다.

  • get-compatible-elasticsearch-versions (GetCompatibleElasticsearchVersions)

  • upgrade-elasticsearch-domain (UpgradeElasticsearchDomain)

  • get-upgrade-status (GetUpgradeStatus)

  • get-upgrade-history (GetUpgradeHistory)

자세한 내용은 AWS CLI Command ReferenceAmazon Elasticsearch Service 구성 API 참조 단원을 참조하십시오.

스냅샷을 사용하여 데이터를 마이그레이션

인플레이스 업그레이드는 도메인을 새 Elasticsearch 버전으로 업그레이드하는 더 쉽고 빠르며 안정적인 방법입니다. 스냅샷은 5.1 이전 버전의 Elasticsearch에서 마이그레이션하거나 완전히 새 클러스터로 마이그레이션하려는 경우 적합한 옵션입니다.

다음 표에는 스냅샷을 통해 데이터를 다른 Elasticsearch 버전을 사용하는 도메인으로 마이그레이션하는 방법이 나와 있습니다. 스냅샷 생성 및 복원에 대한 자세한 내용은 Amazon Elasticsearch Service 인덱스 스냅샷 작업 단원을 참조하십시오.

구 버전 새 버전 마이그레이션 프로세스
6.x 7.x
  1. 7.0에 대한 주요 변경 사항을 검토하여 인덱스 또는 애플리케이션을 조정할 필요가 있는지 확인하십시오. 다른 고려 사항은 Elasticsearch 업데이트의 표 단원을 참조하십시오.

  2. 6.x 도메인의 수동 스냅샷을 생성합니다.

  3. 7.x 도메인을 생성합니다.

  4. 원래 도메인의 스냅샷을 7.x 도메인에 복원합니다. 다음과 같이 작업 중에 새 이름으로 .kibana 인덱스를 복원해야 할 수도 있습니다.

    POST _snapshot/<repository-name>/<snapshot-name>/_restore { "indices": "*", "ignore_unavailable": true, "rename_pattern": ".kibana", "rename_replacement": ".backup-kibana" }

    그런 다음 새 도메인에서 .backup-kibana을 다시 인덱싱하고 .kibana에 별칭을 지정할 수 있습니다.

  5. 원래 도메인이 더 이상 필요 없는 경우에는 삭제합니다. 삭제하지 않으면 해당 도메인에 계속 요금이 부과될 수 있습니다.

6.x 6.8
  1. 6.x 도메인의 수동 스냅샷을 생성합니다.

  2. 6.8 도메인을 생성합니다.

  3. 원래 도메인의 스냅샷을 6.8 도메인에 복원합니다.

  4. 원래 도메인이 더 이상 필요 없는 경우에는 삭제합니다. 삭제하지 않으면 해당 도메인에 계속 요금이 부과될 수 있습니다.

5.x 6.x
  1. 6.0에 대한 주요 변경 사항을 검토하여 인덱스 또는 애플리케이션을 조정할 필요가 있는지 확인하십시오. 다른 고려 사항은 Elasticsearch 업데이트의 표 단원을 참조하십시오.

  2. 5.x 도메인의 수동 스냅샷을 생성합니다.

  3. 6.x 도메인을 생성합니다.

  4. 원래 도메인의 스냅샷을 6.x 도메인에 복원합니다.

  5. 5.x 도메인이 더 이상 필요 없는 경우에는 삭제합니다. 삭제하지 않으면 해당 도메인에 계속 요금이 부과될 수 있습니다.

5.x 5.6
  1. 5.x 도메인의 수동 스냅샷을 생성합니다.

  2. 5.6 도메인을 생성합니다.

  3. 원래 도메인의 스냅샷을 5.6 도메인에 복원합니다.

  4. 원래 도메인이 더 이상 필요 없는 경우에는 삭제합니다. 삭제하지 않으면 해당 도메인에 계속 요금이 부과될 수 있습니다.

2.3 6.x

Elasticsearch 2.3 스냅샷은 6.x와 호환되지 않습니다. 데이터를 2.3에서 6.x로 직접 마이그레이션하려면 새 도메인에서 인덱스를 수동으로 다시 만들어야 합니다.

또는 이 표의 2.3 -> 5.x 단계를 따라 새 5.x 도메인에서 _reindex 작업을 수행하여 2.3 인덱스를 5.x 인덱스로 변환한 후 5.x -> 6.x 단계를 따를 수 있습니다.

2.3 5.x
  1. 5.0에 대한 주요 변경 사항을 검토하여 인덱스 또는 애플리케이션을 조정할 필요가 있는지 확인하십시오.

  2. 2.3 도메인의 수동 스냅샷을 생성합니다.

  3. 5.x 도메인을 생성합니다.

  4. 2.3 도메인의 스냅샷을 5.x 도메인에 복원합니다.

  5. 2.3 도메인이 더 이상 필요 없는 경우에는 삭제합니다. 삭제하지 않으면 해당 도메인에 계속 요금이 부과될 수 있습니다.

1.5 5.x

Elasticsearch 1.5 스냅샷은 5.x와 호환되지 않습니다. 데이터를 1.5에서 5.x로 마이그레이션하려면 새 도메인에서 인덱스를 수동으로 다시 만들어야 합니다.

중요

1.5 스냅샷은 2.3과 호환되지만, Amazon ES 2.3 도메인에서는 _reindex 작업을 지원하지 않습니다. 인덱스를 다시 만들 수는 없기 때문에 1.5 도메인에서 만든 인덱스는 2.3 스냅샷에서 5.x 도메인으로 복원할 수 없습니다.

1.5 2.3
  1. 마이그레이션 플러그인을 사용하여 2.3 버전으로 직접 업그레이드할 수 있는지 알아보십시오. 마이그레이션 전에 데이터를 변경해야 할 수 있습니다.

    1. 웹 브라우저에서 http://domain_endpoint/_plugin/migration/을 엽니다.

    2. Run checks now(지금 확인 실행)를 선택합니다.

    3. 결과를 검토하고, 필요하면 지침에 따라 데이터를 변경합니다.

  2. 1.5 도메인의 수동 스냅샷을 생성합니다.

  3. 2.3 도메인을 생성합니다.

  4. 1.5 도메인의 스냅샷을 2.3 도메인에 복원합니다.

  5. 1.5 도메인이 더 이상 필요 없는 경우에는 삭제합니다. 삭제하지 않으면 해당 도메인에 계속 요금이 부과될 수 있습니다.