

# 예제 쿼리
<a name="querying-r53-resolver-logs-example-queries"></a>

다음 예제는 Athena에서 Resolver 쿼리 로그에 대해 수행할 수 있는 몇 가지 쿼리를 보여 줍니다.

## 예제 1 - query\$1timestamp의 내림차순으로 로그 쿼리
<a name="querying-r53-resolver-logs-example-1-query-logs-in-descending-query_timestamp-order"></a>

다음 쿼리는 `query_timestamp`의 내림차순으로 로그 결과를 표시합니다.

```
SELECT * FROM "r53_rlogs"
ORDER BY query_timestamp DESC
```

## 예제 2 - 지정된 시작 및 종료 시간 내에 로그 쿼리
<a name="querying-r53-resolver-logs-example-2-query-logs-within-specified-start-and-end-times"></a>

다음 쿼리는 2020년 9월 24일 자정과 오전 8시 사이의 로그를 쿼리합니다. 자신의 필요에 따라 시작 시간과 종료 시간을 대체합니다.

```
SELECT query_timestamp, srcids.instance, srcaddr, srcport, query_name, rcode
FROM "r53_rlogs"
WHERE (parse_datetime(query_timestamp,'yyyy-MM-dd''T''HH:mm:ss''Z')
     BETWEEN parse_datetime('2020-09-24-00:00:00','yyyy-MM-dd-HH:mm:ss') 
     AND parse_datetime('2020-09-24-00:08:00','yyyy-MM-dd-HH:mm:ss'))
ORDER BY query_timestamp DESC
```

## 예제 3 - 지정된 DNS 쿼리 이름 패턴을 기반으로 로그 쿼리
<a name="querying-r53-resolver-logs-example-3-query-logs-based-on-a-specified-dns-query-name-pattern"></a>

다음 쿼리는 쿼리 이름에 “example.com” 문자열을 포함한 레코드를 선택합니다.

```
SELECT query_timestamp, srcids.instance, srcaddr, srcport, query_name, rcode, answers
FROM "r53_rlogs"
WHERE query_name LIKE '%example.com%'
ORDER BY query_timestamp DESC
```

## 예제 4 - 응답 없는 요청 로그 쿼리
<a name="querying-r53-resolver-logs-example-4-query-log-requests-with-no-answer"></a>

다음 쿼리는 응답이 없는 요청의 로그 항목을 선택합니다.

```
SELECT query_timestamp, srcids.instance, srcaddr, srcport, query_name, rcode, answers
FROM "r53_rlogs"
WHERE cardinality(answers) = 0
```

## 예제 5 - 특정 답변이 포함된 로그 쿼리
<a name="querying-r53-resolver-logs-example-5-query-logs-with-a-specific-answer"></a>

다음 쿼리는 `answer.Rdata` 값에 특정 IP 주소가 있는 로그를 보여 줍니다.

```
SELECT query_timestamp, srcids.instance, srcaddr, srcport, query_name, rcode, answer.Rdata
FROM "r53_rlogs"
CROSS JOIN UNNEST(r53_rlogs.answers) as st(answer)
WHERE answer.Rdata='203.0.113.16';
```