

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

# Amazon Redshift 데이터 소스에 연결
<a name="AWS-Redshift"></a>

**참고**  
또한 버전 9 이상을 지원하는 워크스페이스에서 이 데이터 소스를 사용하려면 적절한 플러그인을 설치해야 할 수 있습니다. 자세한 내용은 [플러그인을 사용하여 워크스페이스 확장](grafana-plugins.md) 단원을 참조하십시오.

**참고**  
 이 설명서에서는 사용자가 Amazon Redshift 데이터 소스를 사용하기 전에 Amazon Redshift 서비스에 익숙하다고 가정합니다.

Amazon Managed Grafana를 사용하면 Grafana 워크스페이스 콘솔의 데이터 소스 구성 옵션을 사용하여 Amazon Redshift를 AWS 데이터 소스로 추가할 수 있습니다. 이 기능은 기존 Amazon Redshift 계정을 검색하여 Amazon Redshift를 데이터 소스로 추가하는 작업을 간소화하고 Amazon Redshift에 액세스하는 데 필요한 인증 자격 증명의 구성을 관리합니다. 이 방법을 사용하여 인증을 설정하고 Amazon Redshift를 데이터 소스로 추가하거나 자체 관리형 Grafana 서버에서와 동일한 방법을 사용하여 데이터 소스와 필요한 인증 자격 증명을 수동으로 설정할 수 있습니다.

Amazon Managed Grafana에서 Amazon Redshift에 액세스하기 위한 사전 조건이 있습니다. Amazon Redshift 데이터 소스 사용과 관련된 사전 조건은 [사전 조건](Redshift-prereq.md) 섹션을 참조하세요.

# 사전 조건
<a name="Redshift-prereq"></a>

Amazon Managed Grafana에 관리 AWS 형 정책을 사용하려면 Amazon Redshift 데이터 소스를 구성하기 전에 다음 작업을 완료합니다.
+ `GrafanaDataSource: true`를 사용하여 Amazon Redshift 클러스터에 태그를 지정합니다. 그렇지 않으면 액세스할 수 없습니다.
+ 다음 상호 배타적 방법 중 하나로 데이터베이스 자격 증명을 생성합니다.
  + 기본 메커니즘(임시 자격 증명 옵션)을 사용하여 Redshift 데이터베이스에 대해 인증하려면 `redshift_data_api_user`라는 데이터베이스 사용자를 생성해야 합니다.
  + Secrets Manager의 자격 증명을 사용하려면 보안 암호에 `RedshiftQueryOwner: true`로 태그를 지정해야 합니다. 자세한 내용은 이 설명서의 [Amazon Managed Grafana의 자격 증명 기반 정책 예제](https://docs.aws.amazon.com/grafana/latest/userguide/security_iam_id-based-policy-examples.html)를 참조하세요.

# AWS 데이터 소스 구성을 사용하여 Amazon Redshift를 데이터 소스로 추가
<a name="Redshift-configure"></a>

# AWS 데이터 소스 구성을 사용하여 Amazon Redshift를 데이터 소스로 추가하려면


1.  사용자 역할이 관리자 또는 편집자인지 확인합니다.

1.  [https://console.aws.amazon.com/grafana/](https://console.aws.amazon.com/grafana/home/)의 Amazon Managed Grafana 콘솔에서 작업할 워크스페이스를 선택하세요.

1. 이 워크스페이스를 생성할 때이 워크스페이스에 서비스 관리형 권한을 사용하도록 선택하지 않은 경우 Grafana 워크스페이스 콘솔에서 AWS 데이터 소스 구성 옵션을 사용할 수 있도록 적절한 IAM 역할 및 정책이 활성화되도록 고객 관리형 권한을 사용하여 서비스 관리형 권한을 사용하는 것으로 변경합니다. 이를 수행하려면 **IAM 역할** 옆의 편집 아이콘을 선택하고 **서비스 관리형**, **변경 사항 저장**을 선택하세요. 자세한 내용은 [AWS 데이터 소스에 대한 Amazon Managed Grafana 권한 및 정책](AMG-manage-permissions.md) 단원을 참조하십시오.

1. **데이터 소스** 탭을 선택하세요. 그런 다음, **Amazon Redshift**의 확인란을 선택하고 **작업**, **서비스 관리형 정책 활성화**를 선택하세요.

1. **데이터 소스** 탭을 다시 선택한 다음, **Amazon Redshift** 행에서 **Grafana에서 구성**을 선택하세요.

1. 필요한 경우 IAM Identity Center를 사용하여 Grafana 워크스페이스 콘솔에 로그인합니다.

1. Grafana 워크스페이스 콘솔의 왼쪽 탐색 표시줄에서 하단의 AWS 아이콘(두 개가 있음)을 선택한 다음, **Redshift**를 선택하세요.

1. Amazon Redshift 데이터 소스에서 쿼리할 기본 리전을 선택한 다음, 원하는 계정을 선택하고 **데이터 소스 추가**를 선택하세요.

1.  단계에 따라 [**연결 세부 정보** 설정](Redshift-config.md#Redshift-connection-details)에서 **연결 세부 정보**를 구성하세요.

# 수동으로 Amazon Redshift 데이터 소스 추가
<a name="Redshift-add-the-data-source"></a>

## 사전 조건
<a name="Redshift-prerequisites"></a>
+  계정에서 **Amazon Redshift**에 액세스할 수 있습니다.

**Amazon Redshift 데이터 소스를 추가하려면 다음을 수행하세요.**

1. [AmazonRedshiftAccessPolicy](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonGrafanaRedshiftAccess)를 워크스페이스 사용자 역할에 연결하세요.

1. 사용자 역할이 관리자 또는 편집자인지 확인하세요.

1.  [https://console.aws.amazon.com/grafana/](https://console.aws.amazon.com/grafana/home/)의 Amazon Managed Grafana 콘솔에서 작업할 워크스페이스를 선택하세요.

1.  Grafana 콘솔 사이드 메뉴에서 **구성**(톱니) 아이콘에서 일시 중지하고 **데이터 소스**를 선택하세요.

1. **데이터 소스 추가**를 선택합니다.

1. **AWS Redshift** 데이터 소스를 선택하세요. 필요한 경우 검색 상자에서 **Redshift**를 입력하기 시작하면 해당 항목을 찾는 데 도움이 됩니다.

1. 그러면 **연결 세부 정보** 페이지가 열립니다. [**연결 세부 정보** 설정](Redshift-config.md#Redshift-connection-details)을 구성하는 단계를 수행하세요.

# Amazon Redshift 구성
<a name="Redshift-config"></a>

 Amazon Redshift 데이터 소스를 워크스페이스에 추가한 후 Amazon Redshift 설정을 다음과 같이 구성합니다.

## 사전 조건
<a name="Redshift-prerequisites"></a>
+  계정에서 **Amazon Redshift**에 액세스할 수 있습니다.

## **연결 세부 정보** 설정
<a name="Redshift-connection-details"></a>

**연결 세부 정보 설정 구성**

1.  **연결 세부 정보** 메뉴에서 인증 제공업체(권장: **Workspace IAM 역할**)를 선택하세요.

1.  쿼리하려는 **기본 리전**을 선택하세요.

## **인증** 설정
<a name="Redshift-Authentication"></a>

****인증** 설정 구성**

1.  **인증** 메뉴에서 **임시 자격 증명**을 선택하거나 **AWS Secrets Manager** 탭을 액세스 자격 증명 제공업체로 선택하세요. 임시 자격 증명 및 AWS Secrets Manager에 대한 자세한 내용은 섹션을 참조하세요. [AWS 관리형 정책: AmazonGrafanaRedshiftAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonGrafanaRedshiftAccess) 

1.  기본적으로 **임시 자격 증명** 정보를 선택하는 경우 아래 단계를 따르세요. **AWS Secrets Manager**를 선택하는 경우 입력 필드에 **AWS Secrets Manager** 자격 증명을 입력합니다.

1.  Amazon Redshift에서 생성한 클러스터의 **클러스터 식별자**를 선택하세요.

   Redshift 클러스터에 대한 자세한 내용은 [Redshift 연결](https://docs.aws.amazon.com/redshift/latest/gsg/connection.html)을 참조하세요.

1.  대상 Redshift 데이터베이스를 선택하세요.

1.  위 클러스터에 대해 생성한 데이터베이스 사용자를 선택하세요.

1.  **저장 및 테스트**를 선택합니다.

다음은 **임시 자격 증명** 설정 예제입니다.

![\[임시 자격 증명 예제\]](http://docs.aws.amazon.com/ko_kr/grafana/latest/userguide/images/redshift.png)


다음은 **AWS Secrets Manager** 메뉴 예제입니다.

![\[Secrets Manager 예제\]](http://docs.aws.amazon.com/ko_kr/grafana/latest/userguide/images/secretsmanager.png)


# Amazon Redshift Data 데이터 소스 사용
<a name="Redshift-using-the-data-source"></a>

## IAM 정책
<a name="Redshift-policies"></a>

 Grafana는 Redshift 지표를 읽을 수 있도록 IAM을 사용하여 부여된 권한이 필요합니다. 역할 수임을 위해 이러한 권한을 IAM 역할에 연결하고 Grafana의 기본 제공 지원을 활용할 수 있습니다. 기본 제공 Amazon Grafana Redshift 액세스 정책은 [AWS 관리형 정책: AmazonGrafanaRedshiftAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonGrafanaRedshiftAccess) 섹션에 정의되어 있습니다.

## Amazon Redshift 데이터 쿼리
<a name="Redshift-query"></a>

 Amazon Redshift 데이터 소스는 표준 SQL 쿼리 편집기를 제공합니다. Amazon Managed Grafana에는 더 복잡한 시간 쿼리를 작성하는 데 도움이 되는 몇 가지 매크로가 포함되어 있습니다.

매크로


|  매크로  |  설명  |  출력 예시  | 
| --- | --- | --- | 
|  \$1\$1\$1timeEpoch(column)  |  \$1\$1\$1timeEpoch는 UNIX 타임스탬프로 변환하고 열 이름을 시간으로 바꾸는 표현식으로 대체됩니다. |  UNIX\$1TIMESTAMP(dateColumn) as "time"  | 
|  \$1\$1\$1timeFilter(column)  |  \$1\$1\$1timeFilter는 패널의 시간 범위에 따라 데이터(column 사용)를 필터링하는 조건을 생성함  |  time BETWEEN '2017-07-18T11:15:52Z' AND '2017-07-18T11:15:52Z'  | 
|  \$1\$1\$1timeFrom()  |  \$1\$1\$1timeFrom은 패널 범위의 현재 시작 시간을 따옴표로 묶어 출력함  | '2017-07-18T11:15:52Z' | 
|  \$1\$1\$1timeTo()  |  \$1\$1\$1timeTo는 패널 범위의 현재 종료 시간을 따옴표로 묶어 출력함  | '2017-07-18T11:15:52Z' | 
|  \$1\$1\$1timeGroup(column, '1m')  |  \$1\$1\$1timeGroup은 그래프의 기간마다 1개의 포인트만 존재하도록 타임스탬프를 그룹화함  | floor(extract(epoch from time)/60)\$160 AS "time" | 
|  \$1\$1\$1schema  |  \$1\$1\$1schema 에서는 선택한 스키마를 사용합니다. | public | 
|  \$1\$1\$1table  |   \$1\$1\$1table은 지정된 \$1\$1\$1schema에서 테이블을 출력함(기본적으로 퍼블릭 스키마 사용)  | sales | 
|  \$1\$1\$1column  |  \$1\$1\$1column은 현재 \$1\$1\$1table에서 열을 출력함  | date  | 
|  \$1\$1\$1unixEpochFilter(column)  |  \$1\$1\$1unixEpochFilter는 지정된 열 이름을 사용하여 시간 범위 필터로 대체됨(Unix 타임스탬프로 시간이 표시됨)  |   column >= 1624406400 AND column <= 1624410000  | 
|  \$1\$1\$1unixEpochGroup(column)  |  \$1\$1\$1unixEpochGroup은 \$1\$1\$1timeGroup과 동일하지만 시간이 Unix 타임스탬프로 저장됨  | floor(time/60)\$160 AS "time" | 

**시각화**

Redshift에서 대부분의 쿼리는 테이블 시각화로 가장 잘 표현됩니다. 모든 쿼리는 테이블에서 데이터를 표시합니다. 쿼리할 수 있는 경우 테이블에 넣을 수 있습니다.

이 예제에서는 테이블 시각화에 대한 결과를 반환합니다.

```
SELECT {column_1}, {column_2} FROM {table};
```

**시계열 및 그래프 시각화 **

시계열 및 그래프 시각화에는 몇 가지 요구 사항이 있습니다.
+ `date` 또는 `datetime` 유형의 열을 선택해야 합니다.
+ `date` 열은 오름차순이어야 합니다(`ORDER BY column ASC` 사용).
+ 숫자 열을 선택해야 합니다.

보다 합리적인 그래프를 만들려면 `$__timeFilter` 및 `$__timeGroup` 매크로를 사용해야 합니다.

**시계열 쿼리 예제:**

```
SELECT
  avg(execution_time) AS average_execution_time,
  $__timeGroup(start_time, 'hour'),
  query_type
FROM
  account_usage.query_history
WHERE
  $__timeFilter(start_time)
group by
  query_type,start_time
order by
  start_time,query_type ASC;
```

**채우기 모드**

또한 Grafana는 일부 기본값이 있는 값 없이 프레임을 자동 완성합니다. 이 값을 구성하려면 쿼리 편집기에서 **값 채우기**를 변경합니다.

**쿼리 검사**

Grafana는 Redshift에서 지원하지 않는 매크로를 지원하므로 Redshift에 직접 복사하여 붙여넣을 수 있는 완전히 렌더링된 쿼리가 쿼리 검사기에 표시됩니다. 보간된 전체 쿼리를 보려면 **쿼리 검사기** 메뉴를 선택합니다. 그러면 전체 쿼리가 **쿼리** 탭에 표시됩니다.

## 템플릿 및 변수
<a name="using-redshift-templates-variables"></a>

새 Redshift 쿼리 변수를 추가하는 방법에 대한 자세한 내용은 [쿼리 변수 추가](variables-types.md#add-a-query-variable) 섹션을 참조하세요. Redshift 데이터 소스를 사용 가능한 쿼리의 데이터 소스로 사용합니다.

Amazon Redshift 테이블에서 쿼리한 모든 값을 변수로 사용할 수 있습니다. 너무 많은 값을 선택하지 마세요. 그러면 성능 문제가 발생할 수 있습니다.

변수를 생성한 후 [변수 구문](templates-and-variables.md#variable-syntax)을 사용하여 Redshift 쿼리에 사용할 수 있습니다. 변수에 대한 자세한 내용은 [템플릿 및 변수](templates-and-variables.md) 섹션을 참조하세요.

## Annotations
<a name="using-redshift-annotations"></a>

[Annotations](dashboard-annotations.md)을 사용하면 그래프 위에 풍부한 이벤트 정보를 오버레이할 수 있습니다. 패널을 선택하거나 **대시보드** 메뉴에서 연 **주석** 보기를 사용해 주석 쿼리를 추가하여 주석을 추가할 수 있습니다.

주석을 자동으로 추가하는 예제 쿼리:

```
SELECT
  time as time,
  environment as tags,
  humidity as text
FROM
  $__table
WHERE
  $__timeFilter(time) and humidity > 95
```

다음 표는 주석을 렌더링하는 데 고려하는 열의 값을 나타냅니다.


|  이름  |  설명  | 
| --- | --- | 
|  Time  |  날짜 또는 시간 필드의 이름. 기본 SQL 날짜 또는 시간 데이터 유형 또는 에포크 값을 포함하는 열일 수 있습니다. | 
|  Timeend  |  종료 날짜 또는 시간 필드의 선택적 이름. 기본 SQL 날짜 또는 시간 데이터 유형 또는 에포크 값을 포함하는 열일 수 있습니다. | 
|  Text  |  이벤트 설명 필드. | 
|  Tags  |  이벤트 태그에 대해 쉼표로 구분된 문자열로 사용할 선택적 필드 이름. | 