

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

# Amazon OpenSearch Service용 멀티 티어 스토리지
<a name="multi-tier-storage"></a>

Amazon OpenSearch Service용 다중 계층 스토리지는 다양한 스토리지 계층에서 데이터를 관리하여 성능과 비용을 모두 최적화하는 지능형 데이터 관리 솔루션입니다. 이 아키텍처를 통해 조직은 자주 액세스하는 데이터를 고성능 핫 스토리지에 유지하는 동시에 자주 액세스하지 않는 데이터를 보다 비용 효율적인 웜 스토리지로 이동하여 성능과 비용 간의 균형을 효율적으로 조정할 수 있습니다.

Amazon OpenSearch Service는 핫/웜 스토리지 계층을 위한 두 가지 아키텍처 옵션을 제공합니다.
+ **OpenSearch 다중 계층 스토리지 아키텍처 **
  + Amazon S3를 로컬 인스턴스 스토리지와 결합
  + OpenSearch 최적화 인스턴스 기반
  + 웜 티어에서 쓰기 작업 지원
  + 핫 티어와 웜 티어 간의 원활한 데이터 마이그레이션 지원
  + OpenSearch 3.3 이상에서 사용 가능
  + 콜드 티어를 지원하지 않음
+ **UltraWarm 기반 아키텍처**
  + Amazon S3를 로컬 인스턴스 스토리지와 결합
  + UltraWarm 인스턴스 기반
  + 읽기 전용 웜 티어 워크로드에 최적화
  + Elasticsearch 버전 6.8 이상 및 모든 OpenSearch 버전에서 사용 가능
  + 콜드 티어 지원

**참고**  
 이 설명서는 멀티 티어 아키텍처에만 중점을 둡니다. Ultrawarm 스토리지 아키텍처는 [Ultrawarm](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ultrawarm.html) 및 [콜드 스토리지](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/cold-storage.html)를 참조하세요.

## 다중 계층 스토리지 아키텍처
<a name="multi-tier"></a>

**Topics**
+ [주요 이점](#multi-tier-benefits)
+ [사전 조건](#multi-tier-prerequisites)
+ [제한 사항](#multi-tier-limitations)
+ [주의 사항](#things-to-note)
+ [다중 계층 도메인 생성](#multi-tier-creating)
+ [티어 마이그레이션 관리](#multi-tier-managing)
+ [보안 구성](#multi-tier-security)
+ [모범 사례](#multi-tier-best-practices)
+ [지표 모니터링](#multi-tier-metrics)

### 주요 이점
<a name="multi-tier-benefits"></a>
+ **쓰기 가능한 웜:** 웜 인덱스에 대한 쓰기 작업 지원
+ **원활한 마이그레이션:** 스토리지 계층 간 원활한 데이터 이동
+ **비용 최적화:** 덜 활동적인 데이터를 비용 효율적인 웜 스토리지로 이동하여 스토리지 비용 절감
+ **성능 향상:** 핫 티어에서 자주 액세스하는 데이터에 대한 고성능 유지
+ **유연한 데이터 관리:** 워크로드 요구 사항에 가장 적합한 아키텍처 선택
+ **자동 관리:** 스토리지 계층 간 데이터 수명 주기 관리 간소화

### 사전 조건
<a name="multi-tier-prerequisites"></a>
+ **엔진 버전:** OpenSearch **3.3 이상**
+ **인스턴스 패밀리:**
  + 핫 노드: OR1, OR2, OM2 또는 OI2
  + 웜 노드: OI2
+ **보안:** Node-to-node 암호화, 저장 시 암호화, HTTPS 적용

### 제한 사항
<a name="multi-tier-limitations"></a>
+ Ultrawarm이 아직 활성화되지 않은 OpenSearch 최적화 인스턴스가 있는 모든 도메인에서 작동
+ 콜드 티어를 지원하지 않음

### 주의 사항
<a name="things-to-note"></a>
+ 핫-웜 마이그레이션은 다중 계층 아키텍처에서 강제 병합을 트리거하지 않습니다. 필요한 경우 사용자는 인덱스 관리 정책을 사용하여 강제 병합을 조정할 수 있습니다.
+ 이제 웜 노드는 인덱싱 외에도 백그라운드 병합 작업(핫 노드와 유사)도 수행합니다.
+ 웜 인덱스에 대한 모든 검색 요청은 기본 샤드로 라우팅되며 복제본은 기본 샤드가 다운된 경우에만 읽기를 제공합니다.
+ 이 아키텍처에서는 웜 인덱스의 자동 스냅샷도 지원됩니다.
+ 클러스터 간 복제는 핫 인덱스에서만 지원됩니다.
+ 축소, 분할 및 복제와 같은 인덱스 APIs는 웜 인덱스에서 작동하지 않습니다.

### 다중 계층 도메인 생성
<a name="multi-tier-creating"></a>

#### 1단계: 도메인 생성
<a name="multi-tier-step1"></a>

```
aws opensearch create-domain \
      --domain-name my-domain \
      --engine-version OpenSearch_3.3 \
      --cluster-config InstanceCount=3,InstanceType=or2.large.search,DedicatedMasterEnabled=true,DedicatedMasterType=m6g.large.search,DedicatedMasterCount=3,WarmEnabled=true,WarmCount=3,WarmType=oi2.2xlarge.search \
      --ebs-options EBSEnabled=true,VolumeType=gp2,VolumeSize=11 \
      --node-to-node-encryption-options Enabled=true \
      --encryption-at-rest-options Enabled=true \
      --domain-endpoint-options EnforceHTTPS=true,TLSSecurityPolicy=Policy-Min-TLS-1-2-2019-07 \
      --advanced-security-options '{"Enabled":true,"InternalUserDatabaseEnabled":true,"MasterUserOptions":{"MasterUserName":"user_name","MasterUserPassword":"your_pass"}}' \
      --access-policies '{"Version": "2012-10-17",		 	 	  "Statement":[{"Effect":"Allow","Principal":"*","Action":"es:*","Resource":"*"}]}' \
      --region us-east-1
```

#### 2단계: 웜 노드 확인
<a name="multi-tier-step2"></a>

```
aws opensearch describe-domain-nodes --domain-name my-domain --region us-east-1
```

샘플 응답(발췌):

```
{
      "NodeType": "Warm",
      "InstanceType": "oi2.large.search",
      "NodeStatus": "Active"
    }
```

### 티어 마이그레이션 관리
<a name="multi-tier-managing"></a>

다중 계층 도메인 지원:
+ 간소화된 경험을 위한 새로운 계층화 APIs 
+ 호환성을 위한 레거시 UltraWarm APIs 

#### 새로운 계층화 APIs
<a name="multi-tier-new-apis"></a>

**인덱스를 웜으로 마이그레이션합니다.**

```
curl -XPOST 'https://localhost:9200/index-name/_tier/warm'
```

응답:

```
{"acknowledged": true}
```

**인덱스를 핫으로 마이그레이션:**

```
curl -XPOST 'https://localhost:9200/index-name/_tier/hot'
```

응답:

```
{"acknowledged": true}
```

**계층화 상태 확인:**

```
curl -XGET 'https://localhost:9200/index-name/_tier'
```

응답 예제:

```
{
      "tiering_status": {
         "index": "index-name",
         "state": "RUNNING_SHARD_RELOCATION",
         "source": "HOT",
         "target": "WARM",
         "start_time": 1745836500563,
         "shard_level_status": {
           "running": 0,
           "total": 100,
           "pending": 100,
           "succeeded": 0
         }
      }
    }
```

**세부 샤드 보기:**

```
curl 'https://localhost:9200/index1/_tier?detailed=true'
```

**진행 중인 모든 마이그레이션 나열(텍스트):**

```
curl 'https://localhost:9200/_tier/all'
```

**진행 중인 마이그레이션(JSON)을 모두 나열합니다.**

```
curl 'https://localhost:9200/_tier/all?format=json'
```

**대상 계층을 기준으로 필터링:**

```
curl 'https://localhost:9200/_tier/all?target=_warm'
```

#### 호환성을 위한 레거시 UltraWarm APIs
<a name="multi-tier-legacy-apis"></a>

**웜으로 마이그레이션:**

```
curl -XPOST localhost:9200/_ultrawarm/migration/index2/_warm
```

**핫으로 마이그레이션:**

```
curl -XPOST localhost:9200/_ultrawarm/migration/index2/_hot
```

**상태 확인:**

```
curl -XGET localhost:9200/_ultrawarm/migration/index2/_status
```

### 보안 구성
<a name="multi-tier-security"></a>

기존 Amazon OpenSearch Service 도메인에서 다중 계층 스토리지를 활성화하면 도메인에 `storage_tiering_manager` 역할이 정의되지 않을 수 있습니다. 관리자가 아닌 사용자는 이 역할에 매핑되어 세분화된 액세스 제어를 사용하는 도메인의 웜 인덱스를 관리해야 합니다. 수동으로 `storage_tiering_manager` 역할을 생성하려면 다음 단계를 수행합니다.

1. OpenSearch 대시보드에서 **보안(Security)**으로 이동하여 **권한(Permissions)**을 선택합니다.

1. **작업 그룹 생성(Create action group)**을 선택하고 다음 그룹을 구성합니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/opensearch-service/latest/developerguide/multi-tier-storage.html)

1. **역할(Roles)**과 **역할 생성(Create role)**을 차례로 선택합니다.

1. 역할 이름을 `storage_tiering_manager`로 지정합니다.

1. **클러스터 권한(Cluster permissions)**에서 `storage_tiering_cluster` 및 `cluster_monitor`를 선택합니다.

1. **인덱스(Index)**에 `*`를 입력합니다.

1. **인덱스 권한**에서 및 `storage_tiering_index_read``storage_tiering_index_write`를 선택합니다`indices_monitor`.

1. **생성(Create)**을 선택합니다.

1. 역할을 생성한 후 다중 계층 인덱스를 관리할 사용자 또는 백엔드 역할에 매핑합니다.

### 모범 사례
<a name="multi-tier-best-practices"></a>

Amazon OpenSearch Service 도메인에서 다중 계층 스토리지를 구현할 때 다음 모범 사례를 고려하세요.
+ 데이터 액세스 패턴을 정기적으로 검토하여 계층 할당 최적화
+ 성능 지표를 모니터링하여 효율적인 리소스 사용률 보장
+ 새로운 계층화 APIs를 사용하여 데이터 마이그레이션을 세밀하게 제어

### 지표 모니터링
<a name="multi-tier-metrics"></a>

다중 계층 스토리지 도메인은 웜 티어 성능을 모니터링하기 위한 추가 지표를 제공합니다. 이러한 지표에는 기존 UltraWarm 지표와 OpenSearch 최적화 인스턴스 아키텍처와 관련된 새 지표가 모두 포함됩니다.

#### 새로운 지표
<a name="multi-tier-new-metrics"></a>


| 지표 이름 | 노드 수준 통계 | 클러스터 수준 통계 | 세부 수준 | 
| --- | --- | --- | --- | 
| WarmIndexingLatency | 평균 | 평균 | 1분 | 
| WarmIndexingRate | 평균 | 평균, 최대, 합계 | 1분 | 
| WarmThreadpoolIndexingQueue | 최대 | 합계, 최대값, 평균 | 1분 | 
| WarmThreadpoolIndexingRejected | 최대 | Sum | 1분 | 
| WarmThreadpoolIndexingThreads | 최대 | 합계, 평균 | 1분 | 