

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

# 자습서: 인덱스 상태 관리 프로세스 자동화
<a name="ism-tutorial"></a>

이 자습서에서는 주기적으로 수행되는 인덱스 관리 태스크를 자동화하고 인덱스와 인덱스 패턴에 적용하는 ISM 정책을 구현하는 방법을 보여줍니다.

Amazon OpenSearch Service의 [인덱스 상태 관리(ISM)](ism.md)를 사용하면 반복적인 인덱스 관리 활동을 자동화할 수 있으므로 인덱스 수명 주기를 관리하기 위해 추가 도구를 사용하지 않아도 됩니다. Amazon OpenSearch Service 도메인 내에서 인덱스 기간, 크기 및 기타 조건을 기반으로 이러한 작업을 자동화하는 정책을 생성할 수 있습니다.

OpenSearch Service는 활성 쓰기 및 지연 시간이 짧은 분석을 위한 기본 '핫' 상태, 최대 3페타바이트의 읽기 전용 데이터를 위한 UltraWarm, 무제한 장기 보관을 위한 콜드 스토리지의 세 가지 스토리지 계층을 지원합니다.

이 자습서에서는 일별 인덱스에서 시계열 데이터를 처리하는 샘플 사용 사례를 제공합니다. 이 자습서에서는 24시간 후에 연결된 각 인덱스의 자동 스냅샷을 생성하는 정책을 설정합니다. 그런 다음 2일 후에 기본 핫 상태에서 UltraWarm 스토리지로, 30일 후에 콜드 스토리지로 인덱스를 마이그레이션하고, 마지막으로 60일 후에 인덱스를 삭제합니다.

## 사전 조건
<a name="ism-tutorialprerequisites"></a>
+ OpenSearch Service 도메인은 Elasticsearch 버전 6.8 이상을 실행해야 합니다.
+ 도메인에 [UltraWarm](ultrawarm.md)과 [콜드 스토리지](cold-storage.md)가 활성화되어 있어야 합니다.
+ 도메인에 대한 [수동 스냅샷 리포지토리를 등록](managedomains-snapshot-registerdirectory.md)해야 합니다.
+ 사용자 역할에는 OpenSearch Service 콘솔에 액세스할 수 있는 충분한 권한이 필요합니다. 필요한 경우 [도메인에 대한 액세스를 구성](ac.md)하고 검증합니다.

## 1단계: ISM 정책 구성
<a name="ism-tutorial-policy"></a>

먼저 OpenSearch Dashboards에서 ISM 정책을 구성합니다.

1. OpenSearch Service 콘솔의 도메인 대시보드에서 OpenSearch 대시보드 URL로 이동하여 마스터 사용자 이름과 암호로 로그인합니다. URL은 `domain-endpoint/_dashboards/` 형식입니다.

1. OpenSearch Dashboards에서 **Add sample data**(샘플 데이터 추가)를 선택하고 하나 이상의 샘플 인덱스를 도메인에 추가합니다.

1. 왼쪽 탐색 패널을 열고 **Index Management**(인덱스 관리)를 선택한 다음 **Create policy**(정책 생성)를 선택합니다.

1. 정책 이름을 `ism-policy-example`로 지정합니다.

1. 기본 정책을 다음과 같은 정책으로 바꿉니다.

   ```
   {
     "policy": {
       "description": "Move indexes between storage tiers",
       "default_state": "hot",
       "states": [
         {
           "name": "hot",
           "actions": [],
           "transitions": [
             {
               "state_name": "snapshot",
               "conditions": {
                 "min_index_age": "24h"
               }
             }
           ]
         },
         {
           "name": "snapshot",
           "actions": [
             {
               "retry": {
                 "count": 5,
                 "backoff": "exponential",
                 "delay": "30m"
               },
               "snapshot": {
                 "repository": "snapshot-repo",
                 "snapshot": "ism-snapshot"
               }
             }
           ],
           "transitions": [
             {
               "state_name": "warm",
               "conditions": {
                 "min_index_age": "2d"
               }
             }
           ]
         },
         {
           "name": "warm",
           "actions": [
             {
               "retry": {
                 "count": 5,
                 "backoff": "exponential",
                 "delay": "1h"
               },
               "warm_migration": {}
             }
           ],
           "transitions": [
             {
               "state_name": "cold",
               "conditions": {
                 "min_index_age": "30d"
               }
             }
           ]
         },
         {
           "name": "cold",
           "actions": [
             {
               "retry": {
                 "count": 5,
                 "backoff": "exponential",
                 "delay": "1h"
               },
               "cold_migration": {
                 "start_time": null,
                 "end_time": null,
                 "timestamp_field": "@timestamp",
                 "ignore": "none"
               }
             }
           ],
           "transitions": [
             {
               "state_name": "delete",
               "conditions": {
                 "min_index_age": "60d"
               }
             }
           ]
         },
         {
           "name": "delete",
           "actions": [
             {
               "cold_delete": {}
             }
           ],
           "transitions": []
         }
       ],
       "ism_template": [
         {
           "index_patterns": [
             "index-*"
           ],
           "priority": 100
         }
       ]
     }
   }
   ```
**참고**  
`ism_template` 필드는 지정된 `index_patterns` 중 하나와 일치하는 새로 생성된 인덱스에 정책을 자동으로 연결합니다. 이 경우 `index-`로 시작하는 모든 인덱스입니다. 사용자 환경의 인덱스 형식과 일치하도록 이 필드를 수정할 수 있습니다. 자세한 내용은 [ISM 템플릿](ism.md#ism-template)을 참조하세요.

1. 정책의 `snapshot` 섹션에서 `snapshot-repo`를 도메인에 등록한 [스냅샷 리포지토리](managedomains-snapshot-registerdirectory.md)의 이름으로 바꿉니다. 필요에 따라 `ism-snapshot`을 바꿀 수도 있습니다. 이는 스냅샷 생성 시 스냅샷의 이름이 됩니다.

1. **생성(Create)**을 선택합니다. 정책이 이제 **State management policies**(상태 관리 정책) 페이지에 표시됩니다.

## 2단계: 하나 이상의 인덱스에 정책 연결
<a name="ism-tutorial-attach"></a>

생성한 정책을 클러스터에 있는 하나 이상의 인덱스에 연결합니다.

1. **Hot indicies**(핫 인덱스) 탭으로 이동하고 `opensearch_dashboards_sample`을 검색합니다. 1단계에서 추가한 모든 샘플 인덱스가 나열됩니다.

1. 모든 인덱스를 선택하고 **Apply policy**(정책 적용)를 선택한 다음 방금 생성한 **ism-policy-example** 정책을 선택합니다.

1. **적용**을 선택합니다.

**Policy managed indices**(정책 관리형 인덱스) 페이지에서 다양한 상태로 전환되는 인덱스를 모니터링할 수 있습니다.