Amazon OpenSearch Service 클러스터를 위한 블루/그린 배포란 무엇인가요?

5분 분량
0

Amazon OpenSearch Service 클러스터의 블루/그린 배포가 무엇인지 알고 싶습니다.

간략한 설명

OpenSearch Service 클러스터 구성을 변경하면 블루/그린 배포를 시작할 수 있습니다. 블루/그린 배포 중에는 새 OpenSearch Service 환경이 생성되는 동안 클러스터 상태가 “처리 중”으로 변경됩니다. 새 OpenSearch 환경이 생성되면 다음과 같은 상황이 발생합니다.

  • 총 노드 수는 두 배가 됩니다. 또는 총 노드 수는 이전 환경과 새 환경의 노드 수와 같습니다.
  • 새 노드가 프로비저닝되면 클러스터 상태가 “활성”으로 돌아가고 이전 노드에서 새 노드로의 데이터 마이그레이션이 시작됩니다.
  • 데이터 마이그레이션이 완료되면 이전 노드가 종료됩니다.

OpenSearch Service는 구성 변경 또는 버전 업그레이드 중에 도메인이 업데이트에 적합한지 확인하기 위해 일련의 유효성 검사를 수행합니다. 검사에 실패하면 도메인을 업데이트하기 전에 해결해야 하는 문제가 포함된 알림이 OpenSearch Service 콘솔에 전송됩니다. 블루/그린 배포는 OpenSearch Service 콘솔에 상태가 “처리 중”으로 표시되더라도 유효성 검사가 완료될 때까지 시작되지 않습니다. 유효성 검사 문제가 해결된 후 OpenSearch Service 콘솔에서 구성 변경을 다시 시도할 수 있습니다. 자세한 내용은 검증 오류 문제 해결을 참조하세요.
참고:

  • 블루/그린 배포는 다운타임을 최소화하고 새 환경으로의 배포가 실패할 경우에도 원래 환경을 유지합니다.
  • 도메인의 사용량이 많지 않은 시간대에 블루/그린 배포를 예약하는 것이 가장 좋습니다. 자세한 내용은 Amazon OpenSearch Service의 사용량이 많지 않은 기간 정의를 참조하세요.

해결 방법

Amazon OpenSearch Service 클러스터에서 블루/그린 배포를 시작하는 이유는 무엇인가요?

블루/그린 배포를 시작하는 구성 변경 목록은 일반적으로 블루/그린 배포를 유발하는 변경 사항을 참조하세요. OpenSearch Service 또는 모의 실행 API를 사용하여 계획된 도메인 구성 변경으로 블루/그린 배포가 시작되는지 테스트할 수 있습니다. 자세한 지침은 변경으로 인해 블루/그린 배포가 발생할지 여부 결정을 참조하세요.
참고:

  • 블루/그린 배포 중에 두 배로 늘어난 노드는 Amazon OpenSearch Service 할당량의 영향을 받지 않습니다. 예를 들어 도메인 할당량당 기본 인스턴스가 80개이고 OpenSearch 클러스터에 70개의 인스턴스가 있는 경우를 예로 들 수 있습니다. 블루/그린 배포 중에 OpenSearch 클러스터는 140개의 인스턴스를 사용할 수 있습니다.
  • 블루/그린 배포를 유발하는 변경을 수행하면 OpenSearch Service에서 도메인을 사용 가능한 최신 소프트웨어 업데이트로 자동 업데이트합니다. 자세한 내용은 OpenSearch Service의 서비스 소프트웨어 업데이트를 참조하세요.

블루/그린 배포가 성능에 미치는 영향

블루/그린 배포 중에는 들어오는 검색 및 인덱싱 요청에 대해 Amazon OpenSearch 서비스 클러스터를 사용할 수 있습니다. 하지만 다음과 같은 성능 문제가 발생할 수 있습니다.

  • 클러스터에 관리할 노드가 많아짐에 따라 리더 노드의 사용량이 일시적으로 증가합니다.
  • OpenSearch Service가 기존 노드의 데이터를 새 노드로 복사하므로 검색 및 인덱싱 지연 시간이 늘어납니다.
  • 블루/그린 배포 중에 클러스터 부하가 증가함에 따라 들어오는 요청에 대한 거부 수가 증가했습니다.

지연 문제 및 요청 거부를 방지하려면 클러스터가 정상이고 네트워크 트래픽이 적을 때 블루/그린 배포를 실행하는 것이 좋습니다.

블루/그린 배포 중에 데이터 손실을 방지하려면 OpenSearch Service의 운영 모범 사례를 준수해야 합니다.

블루/그린 배포 활동, 감사 로그 및 알림 확인

AWS CloudTrail
OpenSearch Service 활동은 이벤트 기록의 다른 AWS 서비스 이벤트와 함께 CloudTrail 이벤트에 기록됩니다. CloudTrail은 OpenSearch Service에 대한 모든 구성 API 호출을 이벤트로 캡처합니다. 자세한 내용은 ](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/managedomains-cloudtrailauditing.html)CloudTrail로 OpenSearch Service API 호출 모니터링하기[를 참조하세요.

OpenSearch Service 감사 로그
Amazon OpenSearch Service 도메인에서 세분화된 액세스 제어를 사용하는 경우 데이터에 대한 감사 로그를 활성화할 수 있습니다. 감사 로그는 사용자 지정이 가능하며 OpenSearch 클러스터에서 사용자 활동을 추적할 수 있습니다. OpenSearch Service는 감사 로그를 CloudWatch Logs에 게시합니다. 자세한 내용은 OpenSearch Service의 감사 로그 모니터링하기를 참조하세요.

OpenSearch Service 알림
Amazon OpenSearch Service의 알림에는 도메인의 성능 및 상태에 대한 중요한 정보가 포함되어 있습니다. OpenSearch Service는 서비스 소프트웨어 업데이트, 자동 튜닝 개선 사항, 클러스터 상태 이벤트 및 도메인 오류에 대해 알려줍니다. OpenSearch Service 콘솔의 알림 패널에서 알림을 볼 수 있습니다. 자세한 내용은 알림 시작하기를 참조하세요.

구성 변경 기간

구성 변경은 클러스터 크기, 워크로드, 샤드 크기 및 샤드 수에 따라 더 오래 걸릴 수 있습니다. OpenSearch Service 콘솔의 도메인 상태에서 구성 변경 단계의 진행 상황을 확인할 수 있습니다. DescribeDomainChangeProgress API를 사용하여 구성 변경 단계 진행 상황을 확인할 수도 있습니다.

cat recovery API를 사용하여 샤드 재배치 상태를 모니터링하세요. 어떤 샤드가 여전히 재배치되고 있는지 확인하려면 다음 명령 구문을 사용하세요.

curl -X GET "https://<end_point>/_cat/recovery?v=true&pretty" | awk '/peer/ {print $1" "$2" "$3" "$4" "$18}' | grep -v 100\.0\%

샤드 재배치를 바이트 백분율로 나열하려면 다음 명령 구문을 사용하세요.

curl -X GET "https://<end_point>/_cat/recovery?v=true&pretty" | awk '/peer/ {print $1" "$2" "$3" "$4" "$18}' | tr -d "%" | sort -k 5 -n

자세한 내용은 Elasticsearch 웹 사이트에서 cat recovery API를 참조하세요.
참고: 다섯 번째 열에 있는 바이트 백분율로 데이터를 정렬하려면 -k에 "5"를 지정해야 합니다.

샤드 재배치가 거의 진행되지 않는 경우 클러스터가 중단될 수 있습니다.

블루/그린 배포가 중단된 이유

블루/그린 배포 프로세스는 다음과 같은 이유로 중단될 수 있습니다.

  • 구성 변경 전의 비정상 클러스터 상태입니다.
  • 지속적으로 높은 JVM 메모리 압력. 메모리 부족(OOM) 문제를 방지하려면 JVM 메모리 압력을 75% 미만으로 유지하세요.
  • 일관되게 높은 CPU 사용률. CPU 사용률을 80% 미만으로 유지하세요.
  • 클러스터에 샤드가 너무 많거나 샤드 크기가 잘못되었습니다. 샤드 수를 10GiB에서 50GiB 사이로 유지하는 것이 가장 좋습니다. 인덱싱 전략에 대한 자세한 내용은 샤드 수 선택을 참조하세요.
  • 구성 설정이 유효하지 않거나 동시에 구성이 너무 많이 변경되었습니다. 구성 설정을 확인하고 첫 번째 구성 변경이 완료될 때까지 구성 변경 내용이 전송될 때까지 기다려야 합니다.
  • 재배치 프로세스 또는 요청된 인스턴스 유형을 위한 디스크 공간이나 용량이 부족합니다.
  • Virtual Private Cloud(VPC) 내 클러스터의 요청된 서브넷에서 사용할 수 있는는 IP가 부족합니다.
  • 인스턴스 유형에 볼륨 크기 사용하기. 볼륨 크기는 제한 범위 내에 있어야 합니다.
  • "index.routing.allocation.require._name" 또는 "NODE_NAME" 또는 "index.blocks.write": true"와 같은 인덱스 설정 사용. 이러한 설정은 쓰기 블록을 나타냅니다. 계속하기 전에 색인 설정에서 이러한 설정을 제거해야 합니다.

자세한 내용은OpenSearch Service 도메인이 “처리 중” 상태에서 멈춘 이유는 무엇인가요?를 참조하세요.

관련 정보

OpenSearch Service 도메인 업그레이드가 왜 이렇게 오래 걸리나요?

OpenSearch Service의 자동 튜닝 소개

AWS 공식
AWS 공식업데이트됨 일 년 전