내용으로 건너뛰기

OpenSearch Service 클러스터의 클러스터 간 복제 실패 문제를 해결하려면 어떻게 해야 합니까?

4분 분량
0

Amazon OpenSearch Service 클러스터에서 클러스터 간 복제가 작동하지 않습니다.

해결 방법

클러스터 간 연결 구성 및 권한 요구 사항을 준수해야 합니다.

참고: 클러스터 간 복제는 데이터 스트림으로 사용할 수 없습니다. 자세한 내용은 OpenSearch 웹 사이트의 데이터 스트림을 참조하십시오. AWS PrivateLink를 사용하는 경우 AWS 리전 전체에서 클러스터 간 검색을 사용할 수 없습니다.

복제 작업 상태를 확인하여 복제가 실패한 이유 파악

복제 작업의 상태를 확인하려면 팔로워 도메인에서 다음 명령을 실행합니다.

GET _plugins/_replication/index_name/_status

참고: index-name을 인덱스 이름으로 바꾸십시오.

출력 예시:

{
  "status" : "PAUSED",
  "reason" : "Paused by AWS due to burstable instance type",
  "leader_alias" : "connection1",
  "leader_index" : "test-leader-index",
  "follower_index" : "test-follower-index"
}

출력에서 reason 값을 기록하여 복제 실패를 해결하도록 수행할 수 있는 작업을 식별합니다. 예를 들어 출력 예시의 문제를 해결하려면 버스트가 불가능한 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스 유형을 사용하십시오.

자동 팔로우 실패 해결

자동 팔로우 복제 규칙을 사용하여 패턴을 기반으로 인덱스를 복제할 수 있습니다. 자동 팔로우 규칙은 정기적으로 리더 도메인에 새 인덱스가 있는지 확인하여 패턴과 일치하는 인덱스를 자동으로 복제합니다.

자동 팔로우 실패 원인 확인

OpenSearch Service 도메인의 오류 로그를 활성화한 경우 AutoFollowTaskIndexReplicationTask 키워드를 검색하여 자동 팔로우 복제 오류를 식별하십시오. 자세한 내용은 OpenSearch Service 오류 로그 보기를 참조하십시오.

자동 팔로우 복제 규칙의 상태를 확인하려면 팔로워 도메인에서 다음 명령을 실행합니다.

GET _plugins/_replication/autofollow_stats

출력에서 failed_indices 값을 확인하여 실패한 인덱스를 식별합니다.

출력 예시:

{  
  "num_success_start_replication" : 1,
  "num_failed_start_replication" : 0,
  "num_failed_leader_calls" : 0,
  "failed_indices" : [
    ".kibana_2",
    ".opendistro-reports-definitions",
    ".opendistro-reports-instances",
    ".kibana_3"
  ],
  "autofollow_stats" : [
    {
      "name" : "rule1",
      "pattern" : "*",
      "num_success_start_replication" : 1,
      "num_failed_start_replication" : 0,
      "num_failed_leader_calls" : 0,
      "failed_indices" : [
        ".kibana_2",
        ".opendistro-reports-definitions",
        ".opendistro-reports-instances",
        ".kibana_3"
      ],
      "last_execution_time" : 1679381247239
    }
  ]
}

특정 인덱스에 대한 자세한 내용을 보려면 팔로워 도메인에서 다음 명령을 실행합니다.

GET _plugins/_replication/index_name/_status?pretty

참고: index_name을 인덱스 이름으로 바꾸십시오.

실패한 인덱스 목록을 가져오려면 팔로워 도메인에서 다음 명령을 실행합니다.

GET _cluster/state?pretty&filter_path=metadata.replication_metadata

출력에서 REPLICATION_LAST_KNOWN_OVERALL_STATEFAILED인 인덱스를 확인하십시오.

실패한 인덱스 문제 해결

다음 단계를 완료하십시오.

  1. 실패한 인덱스에서 복제를 중지하려면 팔로워 도메인에서 다음 명령을 실행합니다.
    POST _plugins/_replication/failed_index_name/_stop
    { }
    참고: failed_index_nameFAILED 상태의 인덱스 이름으로 바꾸십시오.
  2. 인덱스를 삭제하려면 팔로워 도메인에서 다음 명령을 실행합니다.
    DELETE failed_index_name
    참고: failed_index_nameFAILED 상태의 인덱스 이름으로 바꾸십시오.
  3. 자동 팔로우 규칙을 삭제하려면 팔로워 도메인에서 다음 명령을 실행합니다.
    DELETE _plugins/_replication/_autofollow
    {
        "leader_alias" : "connection_alias",
        "name": "rule_name"
    }
    참고: connection_alias를 연결 별칭으로 바꾸고 rule_name을 자동 팔로우 규칙 이름으로 바꾸십시오. 연결 별칭을 찾으려면 도메인 대시보드의 연결 탭을 확인하십시오.
  4. 인덱스 패턴을 사용하여 자동 팔로우 규칙을 다시 만들려면 팔로워 도메인에서 다음 명령을 실행합니다.
    POST _plugins/_replication/_autofollow
    {
        "leader_alias": "connection_alias",
        "name": "rule_name",
        "pattern": "index_pattern",
        "use_roles": {
            "leader_cluster_role": "leaderclusterrole",
            "follower_cluster_role": "followerclusterrole"
        }
    }
    참고: connection_alias를 연결 별칭으로, rule_name을 규칙 이름으로, index_pattern을 인덱스 패턴으로 바꾸십시오. 또한 leader_cluster_role을 리더 클러스터 역할로 바꾸고 follower_cluster_role을 팔로워 클러스터 역할로 바꾸십시오.

복제 지연 시간 확인

Amazon CloudWatch 클러스터 간 복제 지표를 확인하여 클러스터 간 복제 지연을 식별하십시오.

지연 시간이 긴 리더 및 팔로워 도메인의 JVM(Java 가상 머신) 메모리 압력이 높은지 확인하고 문제를 해결하십시오. 도메인 상태가 정상이면 LeaderCheckPointFollowerCheckPoint CloudWatch 지표를 확인하여 지연 시간이 증가하고 있는지 아니면 고정되어 있는지 확인하십시오. LeaderCheckPointFollowerCheckPoint 지표가 정상이면 팔로워 도메인에 비해 IndexingRate가 너무 높을 수 있습니다. 동기화 단계를 더 빠르게 수행하려면 복제를 중지하고 다시 시작하십시오. 설명은 복제 일시 중지 및 재시작을 참조하십시오.

복제가 진행 중이고 지연 시간이 있는지 확인합니다. 리더와 팔로워의 체크포인트가 동일하면 복제가 동기화된 것입니다.

팔로워 및 리더 도메인의 인덱스 복제 상태를 확인하려면 팔로워 및 리더 도메인에 대해 다음 명령을 실행합니다.

GET _plugins/_replication/follower_stats?pretty
GET _plugins/_replication/leader_stats?pretty

복제가 완료되었는지 확인하려면 팔로워 도메인에서 다음 명령을 실행합니다.

GET _cat/indices

출력에서 리더 샤드와 팔로워 샤드의 인덱스 목록이 동일한지 확인합니다. 동일하지 않은 경우 복제가 아직 진행 중인 것입니다.

복제 일시 중지 및 재시작

복제를 일시적으로 중지하여 문제를 해결하거나 리더 도메인의 로드를 줄이거나 리더 도메인을 업데이트할 수 있습니다.

복제를 일시 중지하려면 팔로워 도메인에서 다음 명령을 실행합니다.

POST _plugins/_replication/index_name/_pause
{ }

참고: index_name을 인덱스 이름으로 바꾸십시오.

복제를 다시 시작하려면 팔로워 도메인에서 다음 명령을 실행합니다.

POST _plugins/_replication/index_name/_resume
{ }

참고: index_name을 인덱스 이름으로 바꾸십시오.

12시간 이상 일시 중지된 후에는 복제를 재개할 수 없습니다. 이 시나리오에서는 복제를 중지하고 팔로워 인덱스를 삭제한 다음, 리더 복제를 다시 시작해야 합니다.

중요: 복제를 중지하면 팔로워 인덱스가 리더를 언팔로우하고 표준 인덱스가 됩니다. 복제를 중지한 후에는 다시 시작할 수 없습니다.

복제를 중지하려면 팔로워 도메인에서 다음 명령을 실행합니다.

POST _plugins/_replication/index_name/_stop
{ }

참고: index_name을 인덱스 이름으로 바꾸십시오.

관련 정보

OpenSearch Service의 클러스터 간 복제

OpenSearch Service를 통한 클러스터 간 복제를 사용하여 데이터의 가용성 보장

AWS 공식업데이트됨 일 년 전