

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

# Amazon OpenSearch Service와 함께 OpenSearch Dashboards 사용
<a name="dashboards"></a>

OpenSearch Dashboards는 OpenSearch와 함께 작동하도록 제작된 오픈 소스 시각화 도구입니다. Amazon OpenSearch Service는 모든 OpenSearch Service 도메인과 함께 Dashboards를 설치합니다. Dashboards는 도메인의 핫 데이터 노드에서 실행됩니다.

OpenSearch Dashboards는 단일 OpenSearch 도메인 내에서 데이터를 탐색하고 분석하기 위한 시각화 도구입니다. 반면 중앙 집중식 OpenSearch 사용자 인터페이스(OpenSearch 애플리케이션이라고도 함)는 여러 OpenSearch 도메인, OpenSearch Serverless 컬렉션 및 AWS 데이터 소스에 연결하는 클라우드 기반 UI입니다. OpenSearch 여기에는 관찰성 및 보안 분석과 같은 특정 사용 사례를 위한 워크스페이스가 포함되어 있으며, 데이터 세트 전반에서 통합된 환경을 제공합니다. Dashboards는 개별 도메인에 연결되어 있지만, 중앙 집중식 UI를 사용하면 도메인 간 데이터 통합 및 분석이 가능합니다. 자세한 내용은 [Amazon OpenSearch Service에서 OpenSearch UI 사용](application.md) 단원을 참조하십시오.

OpenSearch Service 콘솔의 도메인 대시보드에서 OpenSearch 대시보드 링크를 찾을 수 있습니다. OpenSearch 실행하는 도메인의 경우 URL은 `{{domain-endpoint}}/_dashboards/`입니다. 레거시 Elasticsearch를 실행하는 도메인의 경우 URL은 `{{domain-endpoint}}/_plugin/kibana`입니다.

이 기본 Dashboards 설치를 이용한 쿼리는 제한 시간이 300초입니다.

**참고**  
이 설명서에서는 다양한 연결 방법을 포함하여 Amazon OpenSearch Service의 컨텍스트에서 OpenSearch 대시보드를 설명합니다. 시작하기 가이드, 대시보드 생성 지침, 대시보드 관리 및 대시보드 쿼리 언어(DQL)를 포함한 포괄적인 설명서는 오픈 소스 OpenSearch 설명서의 [OpenSearch Dashboards](https://opensearch.org/docs/latest/dashboards/)를 참조하세요.

## Dashboards에 대한 액세스 제어
<a name="dashboards-access"></a>

Dashboards는 IAM 사용자와 역할을 기본으로 지원하지는 않지만, OpenSearch Service가 Dashboards 액세스 제어를 위한 다양한 솔루션을 제공합니다.
+ [Dashboards에 대한 SAML 인증](saml.md)을 활성화합니다.
+ HTTP 기본 인증과 함께 [세분화된 액세스 제어](fgac.md#fgac-concepts)를 사용합니다.
+ [Dashboards에 대한 Cognito 인증](cognito-auth.md)을 구성합니다.
+ 공용 액세스 도메인의 경우 [프록시 서버](#dashboards-proxy)를 사용하거나 사용하지 않는 [IP 기반 액세스 정책](ac.md#ac-types-ip)을 구성합니다.
+ VPC 액세스 도메인의 경우 프록시 서버를 사용하거나 사용하지 않는 오픈 액세스 정책 및 [보안 그룹](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)을 이용해 액세스를 제어합니다. 자세한 내용은 [VPC 도메인 액세스 정책에 대하여](vpc.md#vpc-security) 섹션을 참조하세요.

### 프록시를 사용하여 Dashboards에서 OpenSearch Service에 액세스
<a name="dashboards-proxy"></a>

**참고**  
이 프로세스는 도메인이 퍼블릭 액세스를 사용하며 [Cognito 인증](cognito-auth.md)을 사용하지 않으려는 경우에만 적용됩니다. [Dashboards에 대한 액세스 제어](#dashboards-access) 섹션을 참조하세요.

Kibana는 JavaScript 애플리케이션이므로 요청은 사용자의 IP 주소에서 발생합니다. 각 사용자에게 대시보드 액세스 권한을 주기 위해 허용해야 하는 IP 주소 수가 늘어나기 때문에, IP 기반 액세스 제어는 실용적이지 않을 수 있습니다. 한 가지 해결 방법은 Dashboards와 OpenSearch Service 사이에 프록시 서버를 배치하는 것입니다. 그런 다음 하나의 IP 주소인 프록시의 요청만 허용하는 IP 기반 액세스 정책을 추가할 수 있습니다. 다음 다이어그램은 이 구성을 보여줍니다.

![OpenSearch Service 보안 액세스를 위한 VPC, 프록시 및 클라이언트 구성 요소가 포함된 아키텍처입니다.](http://docs.aws.amazon.com/ko_kr/opensearch-service/latest/developerguide/images/KibanaProxy.png)


1. 이것이 OpenSearch Service 도메인입니다. IAM은 이 도메인에 대해 인증된 액세스 권한을 제공합니다. 추가 IP 기반 액세스 정책은 프록시 서버에 대한 액세스를 제공합니다.

1. 이 프록시 서버는 Amazon EC2 인스턴스에서 실행됩니다.

1. 다른 애플리케이션은 서명 버전 4 서명 프로세스를 사용하여 인증 요청을 OpenSearch Service로 보낼 수 있습니다.

1. Dashboards 클라이언트는 프록시를 통해 OpenSearch Service 도메인에 연결합니다.

이러한 유형의 구성을 활성화하려면 역할 및 IP 주소를 지정하는 리소스 기반 정책이 필요합니다. 다음은 샘플 정책입니다.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Resource":"arn:aws:es:us-west-2:111111111111:domain/my-domain/*",
         "Principal":{
            "AWS":"arn:aws:iam::111111111111:role/allowedrole1"
         },
         "Action":[
            "es:ESHttpGet"
         ],
         "Effect":"Allow"
      },
      {
         "Effect":"Allow",
         "Principal":{
            "AWS":"*"
         },
         "Action":"es:*",
         "Condition":{
            "IpAddress":{
               "aws:SourceIp":[
                  "{{203.0.113.0/24}}",
                  "{{2001:DB8:1234:5678::/64}}"
               ]
            }
         },
         "Resource":"arn:aws:es:us-west-2:111111111111:domain/my-domain/*"
      }
   ]
}
```

------

탄력적 IP 주소를 사용하여 프록시 서버를 실행하는 EC2 인스턴스를 구성하는 것이 좋습니다. 이러한 방식으로 필요한 경우 인스턴스를 대체하고 동일한 퍼블릭 IP 주소를 계속 연결할 수 있습니다. 자세한 내용은 **Amazon EC2 사용 설명서의 [탄력적 IP 주소](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)를 참조하세요.

프록시 서버 *및* [Cognito 인증](cognito-auth.md)을 사용한다면, Dashboards와 Amazon Cognito용 설정을 추가해 `redirect_mismatch` 오류를 방지해야 할 수도 있습니다. 다음 `nginx.conf` 예를 참조하세요.

```
server {
    listen 443;
    server_name $host;
    rewrite ^/$ https://$host/_plugin/_dashboards redirect;

    ssl_certificate           /etc/nginx/cert.crt;
    ssl_certificate_key       /etc/nginx/cert.key;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    location /_plugin/_dashboards {
        # Forward requests to Dashboards
        proxy_pass https://$dashboards_host/_plugin/_dashboards;

        # Handle redirects to Cognito
        proxy_redirect https://$cognito_host https://$host;

        # Update cookie domain and path
        proxy_cookie_domain $dashboards_host $host;
        proxy_cookie_path / /_plugin/_dashboards/;

        # Response buffer settings
        proxy_buffer_size 128k;
        proxy_buffers 4 256k;
        proxy_busy_buffers_size 256k;
    }

    location ~ \/(log|sign|fav|forgot|change|saml|oauth2) {
        # Forward requests to Cognito
        proxy_pass https://$cognito_host;

        # Handle redirects to Dashboards
        proxy_redirect https://$dashboards_host https://$host;

        # Update cookie domain
        proxy_cookie_domain $cognito_host $host;
    }
}
```

**참고**  
(선택 사항) 전용 조정자 노드를 프로비저닝하려는 경우 자동으로 OpenSearch 대시보드 호스팅이 시작됩니다. 따라서 CPU 및 메모리와 같은 데이터 노드 리소스의 가용성이 증가합니다. 이렇게 증가된 데이터 노드 리소스 가용성은 도메인의 전반적인 복원력을 개선하는 데 도움이 될 수 있습니다.

## WMS 맵 서버를 사용하도록 Dashboards 구성
<a name="dashboards-map-server"></a>

OpenSearch Service에 대한 Dashboards의 기본 설치에는 인도 및 중국 리전의 도메인을 제외한 맵 서비스가 포함됩니다. 맵 서비스는 최대 10개의 줌 레벨을 지원합니다.

리전과 관계없이 좌표 맵 시각화를 위해 다른 WMS(Web Map Service) 서버를 사용하도록 대시보드를 구성할 수 있습니다. 리전 맵 시각화는 기본 맵 서비스만 지원합니다.

**WMS 맵 서버를 사용하도록 Dashboards를 구성하려면:**

1. Dashboards를 엽니다.

1. **스택 관리(Stack Management)**를 선택합니다.

1. **고급 설정(Advanced Settings)**을 선택합니다.

1. **visualization:tileMap:WMSdefaults**를 찾습니다.

1. `enabled`를 `true`로 바꾸고 `url`은 유효한 WMS 맵 서버의 URL로 변경합니다.

   ```
   {
     "enabled": true,
     "url": "{{wms-server-url}}",
     "options": {
       "format": "image/png",
       "transparent": true
     }
   }
   ```

1. **변경 사항 저장(Save changes)**을 선택합니다.

새 기본값을 시각화에 적용하려면 Dashboards를 다시 로드해야 할 수 있습니다. 시각화를 저장한 경우 시각화를 연 후 **옵션(Options)**을 선택합니다. **WMS 맵 서버**가 활성화되어 있고 **WMS url**에 기본 설정 맵 서버가 포함되어 있는지 확인한 다음 **변경 사항 적용**을 선택합니다.

**참고**  
맵 서비스에는 종종 라이선스 요금이 부과되거나 제한이 따릅니다. 어떤 맵 서버를 지정하든 간에 그러한 부분은 모두 사용자의 책임입니다. [미국 지질조사국](https://www.usgs.gov/products/maps)의 맵 서비스로 테스트해 보면 유용합니다.

## 로컬 Dashboards 서버를 OpenSearch Service에 연결
<a name="dashboards-local"></a>

이미 상당한 시간을 투자하여 자체 Dashboards 인스턴스를 구성한 경우, OpenSearch Service에서 제공하는 기본 Dashboards 인스턴스 대신(또는 추가로) 그 인스턴스를 사용할 수 있습니다. 다음 절차는 오픈 액세스 정책과 함께 [세분화된 액세스 제어](fgac.md)를 사용하는 도메인에 적용됩니다.

**로컬 Dashboards 서버를 OpenSearch Service에 연결하려면**

1. OpenSearch Service 도메인에서 적절한 권한을 가진 사용자를 생성합니다.

   1. Dashboards에서 **보안(Security)**,**내부 사용자(Internal users)**로 이동하여 **내부 사용자 생성(Create internal user)**을 선택합니다.

   1. 사용자 이름과 암호를 입력하고 **생성(Create)**을 선택합니다.

   1. **역할(Roles)**로 이동하여 역할을 선택합니다.

   1. **매핑된 사용자(Mapped users)**를 선택하고 **매핑 관리(Manage mapping)**를 선택합니다.

   1. **사용자(Users)**에서 사용자 이름을 추가하고 **맵(Map)**을 선택합니다.

1. 자체 관리형 Dashboards OSS 설치에 적절한 버전의 OpenSearch [보안 플러그인](https://docs.opensearch.org/latest/dashboards/install/plugins/#install)을 다운로드하고 설치합니다.

1. 로컬 Dashboards 서버에서 `config/opensearch_dashboards.yml` 파일을 열고 이전에 만든 사용자 이름과 암호를 사용하여 OpenSearch Service 엔드포인트를 추가합니다.

   ```
   opensearch.hosts: ['https://{{domain-endpoint}}']
   opensearch.username: 'username'
   opensearch.password: 'password'
   ```

   다음 샘플 `opensearch_dashboards.yml` 파일을 사용할 수 있습니다.

   ```
   server.host: '0.0.0.0'
   
   opensearch.hosts: ['https://{{domain-endpoint}}']
   
   opensearchDashboards.index: ".username"
   
   opensearch.ssl.verificationMode: none # if not using HTTPS
   
   opensearch_security.auth.type: basicauth
   opensearch_security.auth.anonymous_auth_enabled: false
   opensearch_security.cookie.secure: false # set to true when using HTTPS
   opensearch_security.cookie.ttl: 3600000
   opensearch_security.session.ttl: 3600000
   opensearch_security.session.keepalive: false
   opensearch_security.multitenancy.enabled: false
   opensearch_security.readonly_mode.roles: ['opensearch_dashboards_read_only']
   opensearch_security.auth.unauthenticated_routes: []
   opensearch_security.basicauth.login.title: 'Please log in using your username and password'
   
   opensearch.username: 'username'
   opensearch.password: 'password'
   opensearch.requestHeadersWhitelist: [authorization, securitytenant, security_tenant]
   ```

OpenSearch Service 인덱스를 보려면 로컬 대시보드 서버를 시작하고 **Dev Tools**로 이동하여 다음 명령을 실행합니다.

```
GET _cat/indices
```

## Dashboards의 인덱스 관리
<a name="dashboards-indices"></a>

OpenSearch Service 도메인에 Dashboards를 설치하면 도메인의 여러 스토리지 계층에서 인덱스를 관리하는 데 유용한 UI를 사용할 수 있습니다. 인덱스 상태 관리(ISM) 정책에 따라 관리되는 인덱스뿐만 아니라 핫, [UltraWarm](ultrawarm.md), [콜드](cold-storage.md) 스토리지의 모든 인덱스를 보려면 Dashboards 주 메뉴에서 **인덱스 관리(Index Management)**를 선택합니다. 인덱스 관리를 사용하여 웜 스토리지와 콜드 스토리지 간에 인덱스를 이동하고 세 계층 간의 마이그레이션을 모니터링합니다.

![웜 스토리지로 이동하는 옵션이 포함된 콜드 인덱스를 보여주는 인덱스 관리 인터페이스입니다.](http://docs.aws.amazon.com/ko_kr/opensearch-service/latest/developerguide/images/KibanaIndices.png)


UltraWarm 및/또는 콜드 스토리지를 활성화하지 않으면 핫, 웜 및 콜드 인덱스 옵션이 표시되지 않습니다.

## 기타 기능
<a name="dashboards-additions"></a>

각 OpenSearch Service 도메인의 기본 Dashboards 설치에는 몇 가지 추가 기능이 있습니다.
+ 다양한 [OpenSearch 플러그인](supported-plugins.md)을 위한 사용자 인터페이스
+ [테넌트](fgac.md#fgac-multitenancy)
+ [보고서](https://opensearch.org/docs/latest/dashboards/reporting/)

  **보고(Reporting)** 메뉴를 사용하여 검색 페이지에서 온디맨드 CSV 보고서 및 대시보드 또는 시각화의 PDF 또는 PNG 보고서를 생성할 수 있습니다. CSV 보고서의 행은 10,000개로 제한됩니다.
+ [Gantt 차트](https://docs.opensearch.org/latest/observing-your-data/trace/ta-dashboards/)
+ [노트북](https://opensearch.org/docs/latest/observability-plugin/notebooks/)