Amazon 서비스의 OpenSearch 서비스 소프트웨어 업데이트 - 아마존 OpenSearch 서비스

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon 서비스의 OpenSearch 서비스 소프트웨어 업데이트

참고

주요(패치 제외) 서비스 소프트웨어 업데이트 시 수행된 변경 사항 및 추가 사항에 대한 설명은 릴리스 정보를 참조하세요.

Amazon OpenSearch Service는 기능을 추가하거나 도메인을 개선하는 서비스 소프트웨어 업데이트를 정기적으로 릴리스합니다. 콘솔의 Notifications(알림) 패널은 업데이트가 있는지 확인하거나 업데이트 상태를 확인하는 가장 쉬운 방법입니다. 각 알림에는 서비스 소프트웨어 업데이트에 대한 세부 정보가 포함됩니다. 모든 서비스 소프트웨어 업데이트는 블루/그린 배포를 사용하여 가동 중단을 최소화합니다.

서비스 소프트웨어 업데이트는 OpenSearch 버전 업그레이드와 다릅니다. 의 최신 버전으로 업그레이드하는 방법에 대한 자세한 내용은 OpenSearch 을 참조하십시오아마존 OpenSearch 서비스 도메인 업그레이드.

선택적 업데이트와 필수 업데이트 비교

OpenSearch 서비스에는 크게 두 가지 범주의 서비스 소프트웨어 업데이트가 있습니다.

선택적 업데이트

선택적 서비스 소프트웨어 업데이트에는 일반적으로 새로운 특징이나 기능에 대한 개선 사항 및 지원이 포함됩니다. 선택적 업데이트는 도메인에 적용되지 않으며 설치 기한도 정해져 있지 않습니다. 업데이트 사용 가능 여부는 이메일과 콘솔 알림을 통해 전달됩니다. 업데이트를 즉시 적용하도록 선택하거나 더 적절한 날짜 및 시간으로 다시 예약할 수 있습니다. 도메인의 사용량이 적은 기간 동안 일정을 잡을 수도 있습니다. 대부분의 소프트웨어 업데이트는 선택 사항입니다.

업데이트 예약 여부에 관계없이 블루/그린 배포를 초래하는 도메인을 변경하면 OpenSearch 서비스가 자동으로 서비스 소프트웨어를 업데이트합니다.

사용량이 적은 기간에 선택적 업데이트를 자동으로 적용하도록 도메인을 구성할 수 있습니다. 이 옵션을 켜면 OpenSearch 서비스는 선택적 업데이트를 사용할 수 있는 날로부터 최소 13일을 기다린 후 72시간 (3일) 후에 업데이트를 예약합니다. 업데이트가 예약되면 콘솔 알림을 받게 되며 나중에 업데이트하도록 일정을 조정할 수 있습니다.

자동 소프트웨어 업데이트를 켜려면 도메인을 만들거나 업데이트할 때 자동 소프트웨어 업데이트 활성화를 선택합니다. 를 사용하여 동일한 설정을 구성하려면 도메인을 만들거나 업데이트할 true--software-update-options 로 설정하십시오. AWS CLI

필수 업데이트

필수 서비스 소프트웨어 업데이트에는 일반적으로 도메인의 지속적인 무결성과 기능을 보장하기 위한 중요한 보안 수정 사항이나 기타 필수 업데이트가 포함됩니다. 필수 업데이트 사항으로는 Log4j Common Vulnerabilities and Exposures(CVEs) 및 Instance Metadata Service Version 2(IMDSv2)의 적용 등이 있습니다. 연간 필수 업데이트 횟수는 보통 3회 미만입니다.

OpenSearch 서비스는 이러한 업데이트를 자동으로 예약하고 예정된 업데이트 72시간 (3일) 전에 이메일과 콘솔 알림을 통해 알려줍니다. 업데이트를 즉시 적용하거나 허용된 기간 내에서 더 적절한 날짜 및 시간으로 업데이트를 다시 예약하도록 선택할 수 있습니다. 도메인의 다음 사용량이 적은 기간 동안 일정을 잡을 수도 있습니다. 필수 업데이트에 대해 아무 조치도 취하지 않고 블루/그린 배포를 야기하는 도메인 변경을 하지 않는 경우, OpenSearch 서비스는 도메인의 사용량이 적은 기간 내에 지정된 기한 (일반적으로 사용 가능 후 14일) 이 지난 언제든지 업데이트를 시작할 수 있습니다.

업데이트 예정 시기와 관계없이 블루/그린 배포를 유발하는 도메인을 변경하면 OpenSearch 서비스가 자동으로 도메인을 업데이트합니다.

패치 업데이트

“-P”와 숫자로 끝나는 서비스 소프트웨어 버전(예: R20211203-P4)은 패치 릴리스입니다. 패치에는 성능 개선, 사소한 버그 수정, 보안 수정 또는 자세 개선이 포함될 수 있습니다. 패치 릴리스에는 새로운 기능이나 주요 변경 사항이 포함되어 있지 않으며 일반적으로 사용자에게 직접적이거나 눈에 띄는 영향을 미치지 않습니다. 서비스 소프트웨어 알림은 패치 릴리스가 선택 사항인지 필수인지 알려줍니다.

고려 사항

도메인 업데이트 여부를 결정할 때는 다음을 고려합니다.

  • 도메인을 수동으로 업데이트하면 새로운 기능을 더욱 빠르게 활용할 수 있습니다. 업데이트를 선택하면 OpenSearch 서비스가 요청을 대기열에 넣고 시간이 되면 업데이트를 시작합니다.

  • 서비스 소프트웨어 업데이트를 시작하면 OpenSearch 서비스가 업데이트가 시작되고 완료될 때 알림을 보냅니다.

  • 소프트웨어 업데이트는 블루/그린 배포를 사용하여 가동 중단을 최소화합니다. 업데이트는 클러스터의 전용 프라이머리 노드에 일시적으로 부담을 줄 수 있으므로 관련 오버헤드를 처리할 수 있는 충분한 용량을 유지해야 합니다.

  • 업데이트는 일반적으로 몇 분 내에 완료되지만 시스템에 부하가 높은 경우 몇 시간 또는 며칠이 걸릴 수도 있습니다. 업데이트 기간이 길어지지 않도록 구성된 사용량이 적은 기간에 도메인을 업데이트하는 것이 좋습니다.

서비스 소프트웨어 업데이트 시작

서비스 콘솔 AWS CLI, 또는 SDK 중 하나를 통해 OpenSearch 서비스 소프트웨어 업데이트를 요청할 수 있습니다.

서비스 소프트웨어 업데이트 요청
  1. https://console.aws.amazon.com/aos/home 에서 아마존 OpenSearch 서비스 콘솔을 엽니다.

  2. 도메인 이름을 선택하여 구성을 엽니다.

  3. 실행, 업데이트를 선택하고, 다음 옵션 중 하나를 선택합니다.

    • 지금 업데이트 적용 - 사용 가능한 용량이 있는 경우 현재 시간에 작업이 수행되도록 즉시 예약합니다. 용량을 사용할 수 없는 경우 선택할 수 있는 다른 시간대를 제공합니다.

    • 사용량이 적은 기간에 예약 — 도메인에 사용량이 적은 기간을 활성화한 경우에만 사용할 수 있습니다. 도메인에 구성된 사용량이 적은 기간에 업데이트가 수행되도록 예약합니다. 업데이트가 바로 다음 기간에 적용된다는 보장은 없습니다. 용량에 따라 다음 날에 발생할 수 있습니다. 자세한 설명은 사용량이 적은 기간에 소프트웨어 업데이트 예약 섹션을 참조하세요.

    • 특정 날짜 및 시간 예약 - 특정 날짜 및 시간에 업데이트가 진행되도록 예약합니다. 용량상의 이유로 지정한 시간을 사용할 수 없는 경우 다른 시간대를 선택할 수 있습니다.

    업데이트를 나중 날짜(도메인의 사용량이 적은 기간 내 또는 외부)로 예약하는 경우 언제든지 다시 일정을 조정할 수 있습니다. 지침은 작업 일정 조정 섹션을 참조하십시오.

  4. 확인을 선택합니다.

서비스 소프트웨어 업데이트 시작 start-service-software-update AWS CLI 요청을 보내십시오. 이 예제에서는 업데이트를 대기열에 즉시 추가합니다.

aws opensearch start-service-software-update \ --domain-name my-domain \ --schedule-at "NOW"

응답:

{ "ServiceSoftwareOptions": { "CurrentVersion": "R20220928-P1", "NewVersion": "R20220928-P2", "UpdateAvailable": true, "Cancellable": true, "UpdateStatus": "PENDING_UPDATE", "Description": "", "AutomatedUpdateDate": "1969-12-31T16:00:00-08:00", "OptionalDeployment": true } }
작은 정보

업데이트를 요청한 후에는 취소할 수 있는 기간 범위가 줄어들 수 있습니다. 이 PENDING_UPDATE 상태의 지속 시간은 사용자와 OpenSearch 서비스가 수행하는 동시 업데이트 수에 따라 크게 달라질 수 있습니다. AWS 리전 업데이트를 취소하려면 콘솔 또는 cancel-service-software-update AWS CLI 명령을 사용합니다.

BaseException를 통한 요청이 실패하면 용량상의 이유로 지정한 시간을 사용할 수 없으므로 다른 시간을 지정해야 합니다. OpenSearch 서비스는 응답으로 사용 가능한 대체 슬롯 제안을 제공합니다.

이 샘플 Python 스크립트는 의 describe_domainstart_service_software_update 메서드를 사용하여 도메인이 서비스 소프트웨어 AWS SDK for Python (Boto3) 업데이트에 적합한지 확인하고 해당하는 경우 업데이트를 시작합니다. domain_name의 값을 제공해야 합니다.

import boto3 from botocore.config import Config import time # Build the client using the default credential configuration. # You can use the CLI and run 'aws configure' to set access key, secret # key, and default region. my_config = Config( # Optionally lets you specify a Region other than your default. region_name='us-east-1' ) domain_name = '' # The name of the domain to check and update client = boto3.client('opensearch', config=my_config) def getUpdateStatus(client): """Determines whether the domain is eligible for an update""" response = client.describe_domain( DomainName=domain_name ) sso = response['DomainStatus']['ServiceSoftwareOptions'] if sso['UpdateStatus'] == 'ELIGIBLE': print('Domain [' + domain_name + '] is eligible for a service software update from version ' + sso['CurrentVersion'] + ' to version ' + sso['NewVersion']) updateDomain(client) else: print('Domain is not eligible for an update at this time.') def updateDomain(client): """Starts a service software update for the eligible domain""" response = client.start_service_software_update( DomainName=domain_name ) print('Updating domain [' + domain_name + '] to version ' + response['ServiceSoftwareOptions']['NewVersion'] + '...') waitForUpdate(client) def waitForUpdate(client): """Waits for the domain to finish updating""" response = client.describe_domain( DomainName=domain_name ) status = response['DomainStatus']['ServiceSoftwareOptions']['UpdateStatus'] if status == 'PENDING_UPDATE' or status == 'IN_PROGRESS': time.sleep(30) waitForUpdate(client) elif status == 'COMPLETED': print('Domain [' + domain_name + '] successfully updated to the latest software version') else: print('Domain is not currently being updated.') def main(): getUpdateStatus(client)

사용량이 적은 기간에 소프트웨어 업데이트 예약

2023년 2월 16일 이후에 생성된 각 OpenSearch 서비스 도메인은 현지 시간으로 오후 10시에서 오전 8시 사이의 일일 10시간 기간이 있으며, 이 기간은 비수기 기간으로 간주됩니다. OpenSearch 서비스는 이 창을 사용하여 도메인에 대한 서비스 소프트웨어 업데이트를 예약합니다. 사용량이 적은 업데이트는 트래픽이 많은 기간 동안 클러스터의 전용 마스터 노드에 가해지는 부담을 최소화하는 데 도움이 됩니다. OpenSearch 서비스는 사용자의 동의 없이는 이 10시간 기간 외에는 업데이트를 시작할 수 없습니다.

  • 선택적 업데이트의 경우 OpenSearch 서비스에서 업데이트 가능 여부를 알리고 다가오는 비수기 기간에 업데이트를 예약하라는 메시지를 표시합니다.

  • 필수 업데이트의 경우 OpenSearch 서비스는 다가오는 비수기 기간에 자동으로 업데이트를 예약하고 3일 전에 사용자에게 알립니다. (사용량이 적은 기간 내 또는 이외 기간의 경우) 업데이트를 완료하는 데 필요한 기간 내에만 업데이트 일정을 조정할 수 있습니다.

각 도메인에 대해 기본 오후 10시 시작 시간을 사용자 지정 시간으로 재정의하도록 선택할 수 있습니다. 지침은 사용량이 적은 사용자 지정 기간 구성 섹션을 참조하십시오.

다가오는 사용량이 적은 기간에 업데이트를 예약하려면
  1. https://console.aws.amazon.com/aos/home 에서 아마존 OpenSearch 서비스 콘솔을 엽니다.

  2. 도메인 이름을 선택하여 구성을 엽니다.

  3. [Actions], [Update Details]를 선택합니다.

  4. 사용량이 적은 시간에 예약하기를 선택합니다.

  5. 확인을 선택합니다.

사용량이 적은 기간 탭에서 예약된 작업을 확인하고 언제든지 일정을 조정할 수 있습니다. 예약된 작업 보기 섹션을 참조하십시오.

를 사용하여 다가오는 비수기 기간에 업데이트를 예약하려면 StartServiceSoftwareUpdate요청을 보내고 --schedule-at 파라미터를 지정하십시오OFF_PEAK_WINDOW. AWS CLI

aws opensearch start-service-software-update \ --domain-name my-domain \ --schedule-at "OFF_PEAK_WINDOW"

서비스 소프트웨어 업데이트 이벤트 모니터링

OpenSearch 서비스는 서비스 소프트웨어 업데이트가 제공되거나, 필요하거나, 시작되거나, 완료되거나, 실패했을 때 알림을 보냅니다. OpenSearch 서비스 콘솔의 알림 패널에서 이러한 알림을 볼 수 있습니다. 알림 심각도는 업데이트가 선택 사항인 경우 Informational, 필수인 경우 High입니다.

OpenSearch 또한 서비스는 Amazon에 서비스 소프트웨어 이벤트를 EventBridge 전송합니다. 이벤트 수신 시 이메일을 보내거나 특정 작업을 수행하는 규칙을 구성하는 EventBridge 데 사용할 수 있습니다. 예제 연습은 자습서: 사용 가능한 소프트웨어 업데이트에 대한 SNS 알림 보내기 섹션을 참조하세요.

Amazon으로 전송되는 각 서비스 소프트웨어 이벤트의 형식을 EventBridge 보려면 을 참조하십시오서비스 소프트웨어 업데이트 이벤트.

도메인이 업데이트에 적합하지 않은 경우

다음 상태에 있는 도메인은 서비스 소프트웨어 업데이트에 적합하지 않습니다.

상태 설명
처리 중 상태의 도메인

도메인이 구성 변경 도중에 있습니다. 작업이 완료된 후 업데이트 자격을 확인하세요.

빨간색 클러스터 상태

클러스터에서 하나 이상의 인덱스가 빨간색입니다. 문제 해결 단계는 빨간색 클러스터 상태 섹션을 참조하세요.

높은 오류율

요청을 처리하려고 시도할 때 OpenSearch 클러스터가 대량의 5 xx 오류를 반환합니다. 이 문제는 일반적으로 너무 많은 동시 읽기 또는 쓰기 요청의 결과입니다. 클러스터로 가는 트래픽을 줄이거나 도메인을 확장할 것을 고려하세요.

브레인 분할

스플릿 브레인 (split brain) 이란 OpenSearch 클러스터에 마스터 노드가 두 개 이상 있고 자체적으로 다시 결합되지 않는 두 개의 클러스터로 분리된 것을 의미합니다. 권장 수의 전용 프라이머리 노드를 사용하면 브레인 분할을 방지할 수 있습니다. 브레인 분할로부터 복구하기 위해 도움이 필요하면 AWS Support에 문의하세요.

Amazon Cognito 통합 문제

도메인이 OpenSearch 대시보드 인증을 사용하는데, OpenSearch 서비스가 Amazon Cognito 리소스를 하나 이상 찾을 수 없습니다. 이 문제는 보통 Amazon Cognito 사용자 풀이 없는 경우에 발생합니다. 문제를 해결하려면 누락된 리소스를 다시 생성하고 이를 사용하도록 OpenSearch 서비스 도메인을 구성하십시오.

기타 서비스 문제

OpenSearch 서비스 자체에 문제가 있으면 도메인이 업데이트에 적합하지 않은 것으로 표시될 수 있습니다. 도메인에 이전 조건이 하나도 적용되지 않지만 문제가 하루를 넘게 지속될 경우 AWS Support에 문의하세요.