OpenSearch Service 도메인의 저장 공간 부족 문제를 해결하려면 어떻게 해야 하나요?

5분 분량
0

Amazon OpenSearch Service 도메인에 저장 공간 부족으로 오류가 발생했습니다.

간단한 설명

사용자의 OpenSearch Service 도메인에는 작업량 처리를 위해 저장 공간 요구 사항이 있습니다. ClusterBlockException 오류는 사용자의 OpenSearch Service 도메인에 저장 공간이 부족하므로 발생할 수 있습니다. 예를 들어, 클러스터 노드에 저장 공간을 할당하면 해당 공간의 최대 20%(20GB)가 예비 공간입니다. 또한 Linux와 같은 운영 체제는 루트 사용자가 수행하는 모든 중요한 프로세스를 지원하기 위해 파일 시스템의 5%를 예비로 남겨둡니다. OpenSearch Service 저장 공간 요구 사항에 대한 자세한 내용은 저장 공간 요구 사항 추산을 참조하세요.

저장 공간 부족 문제를 해결하려면 다음 단계를 완료하세요.

  • 샤드가 모든 노드에 균등하게 배포되도록 클러스터 샤딩 전략을 업데이트하세요.
  • 도메인의 Amazon Elastic Block Store(Amazon EBS) 볼륨 크기를 늘리세요. OpenSearch Service 도메인에 클러스터 노드를 더 추가할 수도 있습니다.
  • 사용자의 도메인에 저장되는 데이터의 양을 줄이세요. 불필요한 파일을 삭제하거나 이전 인덱스를 최적화하거나 도메인의 복제본 수를 줄일 수 있습니다. 먼저 수동 스냅샷을 찍어야 합니다.
    **참고:**도메인의 복제본 수를 줄이면 내결함성을 줄일 수 있습니다. 각 인덱스에 대해 하나 이상의 복제본을 구성하는 것이 가장 좋습니다.
  • Index State Management(ISM)를 사용하여 부족한 저장 공간을 관리합니다.
  • Amazon CloudWatch 지표를 사용하여 사용자의 클러스터에서 사용할 수 있는 저장 공간의 양을 모니터링할 수 있습니다.

해결 방법

사용자의 저장 공간 구성 설정 업데이트

**중요:**사용자의 구성 설정을 업데이트하기 전에, 블루/그린 배포를 시작할 수 있는 구성 변경 사항을 확인하세요. 또한 사용자의 전용 기본 노드 유형이 권장 노드 유형인지 확인하세요.

cat 할당(Elastic 웹 사이트에서 설정) 명령을 사용하여 사용자 클러스터의 각 노드에서 사용할 수 있는 저장 공간 양을 확인하세요.

curl -XGET "es_endpoint/_cat/allocation?v"

OpenSearch Service 도메인 구성 설정을 업데이트하려면, 다음 단계를 완료하세요.

1.     OpenSearch Service 콘솔을 엽니다.

2.     탐색 창의관리형 클러스터에서 도메인을 선택합니다.

3.     저장 공간을 추가할 도메인을 선택합니다.

4.    사용자의 도메인 설정을 업데이트합니다.

**참고:**Amazon EBS 볼륨을 저장 공간으로 사용하는 경우 저장 공간 구성 설정을 업데이트하세요. 또는 데이터 노드 수를 업데이트할 수 있습니다.

5.    제출을 선택합니다.

사용자의 도메인에서 EBS 볼륨을 데이터 저장 공간으로 사용하는 경우

도메인에서 EBS 볼륨을 저장 공간으로 사용하는 경우, 다음 조치 중 하나를 수행하세요.

  • EBS 볼륨의 크기를 늘립니다. 최대 볼륨 크기는 노드의 인스턴스 유형 또는 Elasticsearch 버전 유형에 따라 달라집니다. 예를 들어, Elasticsearch 버전 1.5의 최대 볼륨 크기는 512GiB입니다.
  • EBS 볼륨의 크기를 늘릴 수 없다면, 노드를 추가하거나 도메인을 확장한 다음 새 EBS 한도를 선택하세요. EBS 볼륨에 대한 자세한 내용은 EBS 볼륨 크기 할당량을 참조하세요.
  • Amazon Simple Storage Service(Amazon S3) 버킷에 원치 않는 인덱스의 백업을 생성합니다. 그런 다음, 사용자의 OpenSearch Service 클러스터에서 인덱스를 삭제하여 디스크 공간을 확보합니다. 또는 Curator를 사용하여 OpenSearch Service에서 데이터를 교체(Python Package Index 웹 사이트에서 설정)할 수 있습니다. ISM을 사용하여 OpenSearch Service에서 인덱스를 교체할 수도 있습니다.
    **참고:**모든 백업을 생성하려면 수동 스냅샷 저장소를 설정해야 합니다.

사용자의 도메인에서 데이터 저장 공간으로 Amazon Elastic Compute Cloud(Amazon EC2) I3 인스턴스를 사용하는 경우

Amazon EC2 I3 인스턴스를 데이터 저장 공간으로 사용하는 경우 다음 작업 중 하나를 수행하세요.

  • 사용자의 OpenSearch Service 클러스터에 더 많은 노드를 추가합니다.
  • 인스턴스 유형을 확장하여 더 많은 저장 공간을 확보하세요.
  • 사용자의 OpenSearch Service 클러스터에서 원치 않는 인덱스를 모두 삭제하세요.

사용하지 않거나 오래된 인덱스 삭제

다음 명령으로 인덱스 생성 날짜를 확인할 수 있습니다.

GET _cat/indices?h=h,s,i,id,p,r,dc,dd,ss,creation.date.string&s=creation.date.string:desc

단일 인덱스를 삭제하려면, 다음 명령을 실행합니다.

DELETE <index-name>

여러 인덱스를 삭제하려면, 다음 명령을 실행합니다.

DELETE cwl-index-*

ISM을 사용하여 부족한 저장 공간을 관리하세요

ISM 을 사용하면 일상적인 작업을 자동화한 다음 그것들을OpenSearch Service의 인덱스 및 인덱스들 패턴에 적용할 수 있습니다. ISM을 사용하면, 디스크 공간 부족과 같은 문제를 관리하는 데 도움이 되는 사용자 지정 관리 정책을 정의할 수 있습니다. 예를 들어, rollover 작업과 ISM 정책을 사용하여 인덱스 크기와 같은 조건에 따라 오래된 인덱스를 자동으로 삭제할 수 있습니다. rollover 작업은 기존 인덱스가 정의된 조건을 충족할 때 대상을 새 인덱스로 롤오버합니다.

다음 예제의 ISM 정책은 50분 후에 인덱스를 삭제합니다.

PUT _plugins/_ism/policies/delete_ism_policy
{
    "policy": {
        "policy_id": "delete_ism_policy",
        "description": "A simple default policy that deletes old unused indices“,
        "last_updated_time": 1658834661281,
        "schema_version": 13,
        "error_notification": null,
        "default_state": "example_hot_state",        #Default state
        "states": [
            {
                "name": "example_hot_state",
                "actions": [],
                "transitions": [
                    {
                        "state_name": "delete",
                        "conditions": {
                            "min_index_age": “50m”   #Note that after 50 minutes index will transit from hot_state to delete state
                        }
                    }
                ]
            },
            {
                "name": "delete",                    #Indices moved to delete state
                "actions": [
                    {
                        "delete": {}
                    }
                ],
                "transitions": []
            }
        ],
        "ism_template": [
            {
                "index_patterns": [                  #This ISM policy attaches to all indices for the index pattern and you can mention your index pattern here
                    "sample*"
                ],
                "priority": 100,                     #Priority can be set from 0 to 100
                "last_updated_time": 1658834436349
            }
        ]
    }
}

다음 API 호출을 사용하여 ISM 정책을 인덱스에 수동으로 연결합니다.

POST _plugins/_ism/add/your-index-*
{
     "policy_id": "<policy_id>"
}

자세한 내용은 Amazon OpenSearch Service에서 ISM을 사용하여 부족한 저장 공간을 관리하려면 어떻게 해야 하나요?를 참조하세요.

CloudWatch 경보를 사용하여 저장 공간을 모니터링하세요

CloudWatch FreeStorageSpace 지표를 사용하여 사용자의 클러스터에서 사용할 수 있는 저장 공간의 양을 모니터링할 수 있습니다. 저장 공간이 부족할 때마다 알림을 받으려면, CloudWatch 경보를 구성하세요.

자세한 내용은 Amazon CloudWatch를 사용한 OpenSearch 클러스터 지표의 모니터링을 참조하세요.

관련 정보

Amazon OpenSearch Service의 운영 모범 사례

Amazon OpenSearch Service 도메인의 내결함성을 높이려면 어떻게 해야 하나요?

Amazon OpenSearch Service 클러스터가 빨간색 또는 노란색 상태인 이유는 무엇입니까?

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