

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

# 자습서: 윈도우용 Kinesis 에이전트를 사용하여 JSON 로그 파일을 Amazon S3 로 스트리밍
<a name="directory-source-to-s3-tutorial"></a>

이 자습서에서는 마이크로소프트 윈도우용 Amazon Kinesis 에이전트 (Windows용 Kinesis 에이전트) 를 사용하여 데이터 파이프라인을 설정하는 방법에 대한 자세한 단계를 제공합니다.

이 자습서에는 다음 단계가 포함됩니다.
+ Windows용 Kinesis 에이전트를 사용하여 JSON 형식의 로그 파일을[Amazon Simple Storage Service(Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/gsg/)를 통해[Amazon Kinesis Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/). Windows용 Kinesis 에이전트에 대한 자세한 내용은[마이크로소프트 윈도우용 Amazon Kinesis 에이전트란 무엇입니까?](what-is-kinesis-agent-windows.md).
+ 객체 장식을 사용하여 스트리밍하기 전에 로그 데이터를 향상시킵니다. 자세한 내용은 [싱크 장식 구성](sink-object-declarations.md#configuring-kinesis-agent-windows-decoration-configuration) 섹션을 참조하세요.
+ 사용[Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/)를 사용하여 특정 종류의 로그 레코드를 검색합니다.

**Prerequisites**  
AWS 계정이 아직 없는 경우[AWS 계정 설정](getting-started.md#getting-started-setting-up)하나를 얻을 수 있습니다.

**Topics**
+ [

# 단계 1: AWS 서비스 구성
](kaw-ds2s3-tutorial-step1.md)
+ [

# 단계 2: Windows용 Kinesis 에이전트 설치, 구성 및 실행
](kaw-ds2s3-tutorial-step2.md)
+ [

# 단계 3: Amazon S3 에서 로그 데이터 쿼리
](kaw-ds2s3-tutorial-step3.md)
+ [

## 다음 단계
](#kaw-ds2s3-tutorial-step4-next)

# 단계 1: AWS 서비스 구성
<a name="kaw-ds2s3-tutorial-step1"></a>

다음 단계에 따라 Microsoft Windows용 Amazon Kinesis 에이전트를 사용하여 로그 데이터를 Simple Storage Service (Amazon S3) 로 스트리밍하기 위한 환경을 준비합니다. 자세한 내용과 사전 조건에 대한 자세한 내용은[자습서: 윈도우용 Kinesis 에이전트를 사용하여 JSON 로그 파일을 Amazon S3 로 스트리밍](directory-source-to-s3-tutorial.md).

AWS 관리 콘솔을 사용하여 AWS Identity and Access Management (IAM), Amazon S3, Kinesis Data Firehose 및 Amazon Elastic Compute Cloud (Amazon EC2) 를 구성하여 EC2 인스턴스에서 Amazon S3 3로 로그 데이터를 스트리밍할 준비를 합니다.

**Topics**
+ [

## IAM 정책 및 역할 구성
](#kaw-ds2s3-tutorial-step1.1)
+ [

## Amazon S3 버킷을 생성합니다.
](#kaw-ds2s3-tutorial-step1.2)
+ [

## Kinesis Data Firehose 전송 스트림 생성
](#kaw-ds2s3-tutorial-step1.3)
+ [

## Windows용 Kinesis 에이전트를 실행하기 위한 Amazon EC2 인스턴스 생성
](#kaw-ds2s3-tutorial-step1.4)
+ [

## 다음 단계
](#kaw-ds2s3-tutorial-next)

## IAM 정책 및 역할 구성
<a name="kaw-ds2s3-tutorial-step1.1"></a>

Windows용 Kinesis 에이전트가 특정 KinKinesis Data Firehose 전송 스트림에 레코드를 스트리밍할 수 있도록 권한을 부여하는 다음 정책을 생성합니다.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "firehose:PutRecord",
                "firehose:PutRecordBatch"
            ],
            "Resource": "arn:aws:firehose:region:account-id:deliverystream/log-delivery-stream"
        }
    ]
}
```

Replace*`region`*을 Kinesis Data Firehose 전송 스트림이 생성될 AWS 리전의 이름으로 바꿉니다 (`us-east-1`(예:). Replace*`account-id`*을 전송 스트림이 생성될 AWS 계정에 대한 12자리 계정 ID로 바꿉니다.

 탐색 모음에서 **지원**을 선택한 후 **지원 센터**를 선택합니다. 현재 로그인한 12자리 계정 번호 (ID) 는**지원 센터**탐색 창에서 를 선택합니다.

다음 절차를 사용하여 정책을 생성합니다. 정책 이름을 지정합니다.`log-delivery-stream-access-policy`.

**JSON 정책 편집기를 사용하여 정책을 생성하려면**

1. AWS Management Console에 로그인하여 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 IAM 콘솔을 엽니다.

1. 왼쪽의 탐색 창에서**정책**.

   **정책**를 처음으로 선택하는 경우 **Welcome to Managed Policies** 페이지가 나타납니다. [**Get Started **]를 선택합니다.

1. 페이지 상단에서 **정책 생성**을 선택합니다.

1. **JSON** 탭을 선택합니다.

1. JSON 정책 문서를 입력합니다. IAM 정책 언어에 대한 자세한 내용은 섹션을 참조하십시오.[IAM JSON 정책 참조](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)의*IAM 사용 설명서*.

1. 작업이 완료되면 [**Review policy**]를 선택합니다. [정책 검사기](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_policy-validator.html)가 모든 구문 오류를 보고합니다.
**참고**  
언제든지 **Visual editor(시각적 편집기)** 및 **JSON** 탭을 전환할 수 있습니다. 그러나 변경 작업을 수행하거나**정책 검토**의**Visual editor(시각적 편집기)**탭에서 IAM은 시각적 편집기에 최적화되도록 정책을 재구성할 수 있습니다. 자세한 내용은 단원을 참조하십시오.[정책 재구성](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_policies.html#troubleshoot_viseditor-restructure)의*IAM 사용 설명서*.

1. 에**정책 검토**페이지에서**이름**및**설명**(선택 사항) 을 선택합니다. 정책 **요약**을 검토하여 정책이 부여한 권한을 확인합니다. 그런 다음 [**Create policy**]를 선택하여 작업을 저장합니다.

![\[Kinesis Data Firehose 에 대한 IAM 정책을 생성하는 방법을 보여 주는 스크린샷입니다.\]](http://docs.aws.amazon.com/ko_kr/kinesis-agent-windows/latest/userguide/images/iam-create-kdf-policy.png)


**Kinesis Data Firehose 가 S3 버킷에 대한 액세스 권한을 부여하는 역할을 생성하려면 다음과 같이 하십시오.**

1. 이전 절차를 사용하여`firehose-s3-access-policy`다음 JSON을 사용하여 정의 된:

   ```
   {
       "Version": "2012-10-17",  
       "Statement":
       [    
           {      
               "Effect": "Allow",      
               "Action": [        
                   "s3:AbortMultipartUpload",        
                   "s3:GetBucketLocation",        
                   "s3:GetObject",        
                   "s3:ListBucket",        
                   "s3:ListBucketMultipartUploads",        
                   "s3:PutObject"
               ],      
               "Resource": [        
                   "arn:aws:s3:::bucket-name",
                   "arn:aws:s3:::bucket-name/*"		    
               ]    
           },
           {
              "Effect": "Allow",
              "Action": [
                  "logs:PutLogEvents"
              ],
              "Resource": [
                  "arn:aws:logs:region:account-id:log-group:firehose-error-log-group:log-stream:firehose-error-log-stream"
              ]
           }
       ]
   }
   ```

   Replace*`bucket-name`*를 로그가 저장되는 고유 버킷 이름으로 바꿉니다. Replace*`region`*를 CloudWatch 로그 로그 그룹 및 로그 스트림이 생성될 AWS 리전으로 연결합니다. 이는 Kinesis Data Firehose 를 통해 Amazon S3 로 데이터를 스트리밍하는 동안 발생하는 오류를 기록하기 위한 것입니다. Replace*`account-id`*를 로그 그룹 및 로그 스트림이 생성될 계정의 12자리 계정 ID로 바꿉니다.  
![\[Amazon S3 대한 액세스를 허용하는 IAM 정책을 생성하는 방법을 보여주는 스크린샷입니다.\]](http://docs.aws.amazon.com/ko_kr/kinesis-agent-windows/latest/userguide/images/iam-create-s3-policy.png)

1. IAM 콘솔의 탐색 창에서 **역할**을 선택하고 **역할 만들기**를 선택합니다.

1. 선택을 선택합니다.**AWS 서비스**역할 유형을 선택한 후**Kinesis**서비스를 선택합니다.

1. 선택**Kinesis Data Firehose**사용 사례에 대해 선택한 후**다음: 권한**.

1. 검색 상자에 를 입력합니다.**firehose-s3-access-policy**를 선택하고 해당 정책을 선택한 다음**다음: 검토**.

1. 에서**역할 이름**상자에**firehose-s3-access-role**.

1. **역할 생성**을 선택합니다.

**Windows용 Kinesis 에이전트를 실행할 EC2 인스턴스의 인스턴스 프로필과 연결할 역할을 생성하려면**

1. IAM 콘솔의 탐색 창에서 **역할**을 선택하고 **역할 만들기**를 선택합니다.

1. 선택을 선택합니다.**AWS 서비스**역할 유형을 선택한 후**EC2**.

1. 선택**다음: 권한**.

1. 검색 상자에 **log-delivery-stream-access-policy**를 입력합니다.

1. 정책을 선택한 후**다음: 검토**.

1. 에서**역할 이름**상자에**kinesis-agent-instance-role**.

1. **역할 생성**을 선택합니다.

## Amazon S3 버킷을 생성합니다.
<a name="kaw-ds2s3-tutorial-step1.2"></a>

 Kinesis Data Firehose 에서 로그를 스트리밍하는 S3 버킷을 생성합니다.

**로그 스토리지용 S3 버킷을 생성하려면**

1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)에서 Amazon S3 콘솔을 엽니다.

1. **버킷 만들기**를 선택합니다.

1. 에서**Bucket name**상자에 선택한 고유한 S3 버킷 이름을 입력합니다.[IAM 정책 및 역할 구성](#kaw-ds2s3-tutorial-step1.1).

1. 버킷을 생성할 리전을 선택합니다. 이것은 일반적으로 Kinesis Data Firehose 전송 스트림 및 Amazon EC2 인스턴스를 만들려는 리전과 동일합니다.

1. **Create**를 선택합니다.

## Kinesis Data Firehose 전송 스트림 생성
<a name="kaw-ds2s3-tutorial-step1.3"></a>

Amazon S3 스트리밍된 레코드를 저장할 Kinesis Data Firehose 전송 스트림을 생성합니다.

**Kinesis Data Firehose 전송 스트림을 생성하려면**

1. Kinesis Data Firehose 콘솔을[https://console.aws.amazon.com/firehose/](https://console.aws.amazon.com/firehose/).

1. **Create Delivery Stream**을 선택합니다.

1. 에서**Delivery stream name**상자에**log-delivery-stream**.

1. 에 대 한**소스**를 선택하고**직접 PUT 또는 기타 소스**.  
![\[Kinesis Data Firehose 전송 스트림을 생성할 때 소스를 지정하는 방법을 보여주는 스크린샷입니다.\]](http://docs.aws.amazon.com/ko_kr/kinesis-agent-windows/latest/userguide/images/fh-create-delivery-stream-1.png)

1. [**Next**]를 선택합니다.

1. 선택**다음**를 다시 선택합니다.

1. 목적지에 대해**Amazon S3**.

1. 에 대 한**S3 버킷**에서 생성한 버킷의 이름을 선택합니다.[Amazon S3 버킷을 생성합니다.](#kaw-ds2s3-tutorial-step1.2).  
![\[Kinesis Data Firehose 전송 스트림을 생성할 때 대상을 지정하는 방법을 보여주는 스크린샷입니다.\]](http://docs.aws.amazon.com/ko_kr/kinesis-agent-windows/latest/userguide/images/fh-create-delivery-stream-2.png)

1. [**Next**]를 선택합니다.

1. 에서**버퍼 간격**상자에**60**.

1. 언더**IAM 역할**를 선택하고**새로 생성하거나**.

1. 용**IAM 역할**를 선택하고`firehose-s3-access-role`.

1. [**Allow**]를 선택합니다.  
![\[Kinesis Data Firehose 전송 스트림을 생성할 때 옵션과 보안을 구성하는 방법을 보여주는 스크린샷입니다.\]](http://docs.aws.amazon.com/ko_kr/kinesis-agent-windows/latest/userguide/images/fh-create-delivery-stream-3.png)

1. [**Next**]를 선택합니다.

1. **Create delivery stream(전송 스트림 생성)**을 선택합니다.

## Windows용 Kinesis 에이전트를 실행하기 위한 Amazon EC2 인스턴스 생성
<a name="kaw-ds2s3-tutorial-step1.4"></a>

Kinesis 데이터 파이어호스를 통해 로그 레코드를 스트리밍하기 위해 Windows용 Kinesis 에이전트를 사용하는 EC2 인스턴스를 생성합니다.

**EC2 인스턴스를 생성하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 의 지침을 따르십시오.[Amazon EC2 Windows 인스턴스 시작하기](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html)다음 추가 단계를 사용하십시오.
   + 에 대 한**IAM 역할**를 선택하고`kinesis-agent-instance-role`.
   + 퍼블릭 인터넷에 연결된 VPC (Virtual Private Cloud) 가 없는 경우[Amazon EC2 사용한 설정](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/get-set-up-for-amazon-ec2.html)의*Windows 인스턴스용 Amazon EC2 사용 설명서*.
   + 컴퓨터 또는 조직의 컴퓨터에서만 인스턴스에 대한 액세스를 제한하는 보안 그룹을 만들거나 사용합니다. 자세한 내용은 단원을 참조하십시오.[Amazon EC2 사용한 설정](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/get-set-up-for-amazon-ec2.html)의*Windows 인스턴스용 Amazon EC2 사용 설명서*.
   + 기존 key pair 지정하는 경우 키 페어의 개인 키에 액세스할 수 있어야 합니다. 또는 새 key pair 생성하고 프라이빗 키를 안전한 곳에 저장합니다.
   + 계속하기 전에 인스턴스가 실행 중이고 두 개의 상태 확인 중 두 개가 완료될 때까지 기다립니다.
   + 인스턴스에는 퍼블릭 IP 주소가 필요합니다. 할당되지 않은 경우[탄력적 IP 주소](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-ip-addresses-eip.html)의*Windows 인스턴스용 Amazon EC2 사용 설명서*.

## 다음 단계
<a name="kaw-ds2s3-tutorial-next"></a>

[단계 2: Windows용 Kinesis 에이전트 설치, 구성 및 실행](kaw-ds2s3-tutorial-step2.md)

# 단계 2: Windows용 Kinesis 에이전트 설치, 구성 및 실행
<a name="kaw-ds2s3-tutorial-step2"></a>

이 단계에서는 AWS 관리 콘솔을 사용하여[Windows용 Kinesis 에이전트를 실행하기 위한 Amazon EC2 인스턴스 생성](kaw-ds2s3-tutorial-step1.md#kaw-ds2s3-tutorial-step1.4). 그런 다음 인스턴스에 마이크로소프트 윈도우용 Amazon Kinesis 에이전트를 설치하고, Windows용 Kinesis 에이전트용 구성 파일을 생성 및 배포한 다음**AW스키네시스탭**서비스를 선택합니다.

1. Remore 데스크톱 프로토콜 (RDP) 을 통해 인스턴스에 원격으로 연결합니다.[단계 2: 인스턴스에 연결](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows)의*Windows 인스턴스용 Amazon EC2 사용 설명서*.

1. 인스턴스에서 Windows 서버 관리자를 사용하여 사용자 및 관리자에 대한 Microsoft Internet Explorer 보안 강화 구성을 사용하지 않도록 설정합니다. 자세한 내용은 단원을 참조하십시오.[Internet Explorer 보안 강화 구성을 해제하는 방법](https://blogs.technet.microsoft.com/chenley/2011/03/10/how-to-turn-off-internet-explorer-enhanced-security-configuration/)마이크로소프트 TechNet 웹 사이트를 참조하십시오.

1. 인스턴스에서 Windows용 Kinesis 에이전트를 설치하고 구성합니다. 자세한 내용은 [윈도우용 Kinesis 에이전트 설치](getting-started.md#getting-started-installation) 섹션을 참조하세요.

1. 인스턴스에서 메모장을 사용하여 Windows용 Kinesis 에이전트 구성 파일을 만듭니다. 파일을 다음 위치에 저장합니다.`%PROGRAMFILES%\Amazon\AWSKinesisTap\appsettings.json`. 다음 콘텐츠를 구성 파일에 추가합니다.

   ```
   {
     "Sources": [
       {
         "Id": "JsonLogSource",
         "SourceType": "DirectorySource",
         "RecordParser": "SingleLineJson",
         "Directory": "C:\\LogSource\\",
         "FileNameFilter": "*.log",
         "InitialPosition": 0
       }
     ],
     "Sinks": [
       {
         "Id": "FirehoseLogStream",
         "SinkType": "KinesisFirehose",
         "StreamName": "log-delivery-stream",
         "Region": "us-east-1",
         "Format": "json",
         "ObjectDecoration": "ComputerName={ComputerName};DT={timestamp:yyyy-MM-dd HH:mm:ss}"
       }
     ],
     "Pipes": [
       {
         "Id": "JsonLogSourceToFirehoseLogStream",
         "SourceRef": "JsonLogSource",
         "SinkRef": "FirehoseLogStream"
       }
     ]
   }
   ```

   이 파일은 Windows용 Kinesis 에이전트가`c:\logsource\`디렉토리 (*source*) 을 Kinesis Data Firehose 전송 스트림에 추가합니다.`log-delivery-stream`(*sink*). 각 로그 레코드가 Kinesis Data Firehose 로 스트리밍되기 전에 컴퓨터 이름과 타임스탬프가 포함된 두 개의 추가 키-값 쌍으로 향상되었습니다.

1. 생성`c:\LogSource\`디렉터리를 만들고 메모장을 사용하여`test.log`파일을 해당 디렉터리에 추가합니다.

   ```
   { "Message": "Copasetic message 1", "Severity": "Information" }
   { "Message": "Copasetic message 2", "Severity": "Information" }
   { "Message": "Problem message 2", "Severity": "Error" }
   { "Message": "Copasetic message 3", "Severity": "Information" }
   ```

1. 상승된 PowerShell 세션에서 다음 명령을 사용하여**AW스키네시스탭**서비스: 

   ```
   Start-Service -ServiceName AWSKinesisTap
   ```

1. 파일 탐색기를 사용하여`%PROGRAMDATA%\Amazon\AWSKinesisTap\logs`디렉토리에 로그인합니다. 최신 로그 파일을 엽니다. 로그 파일은 다음과 같아야 합니다.

   ```
   2018-09-28 23:51:02.2472 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.AWS.AWSEventSinkFactory.
   2018-09-28 23:51:02.2784 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.Windows.PerformanceCounterSinkFactory.
   2018-09-28 23:51:02.5753 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.Core.DirectorySourceFactory.
   2018-09-28 23:51:02.5909 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.ExchangeSource.ExchangeSourceFactory.
   2018-09-28 23:51:02.5909 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.Uls.UlsSourceFactory.
   2018-09-28 23:51:02.5909 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.Windows.WindowsSourceFactory.
   2018-09-28 23:51:02.9347 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.Core.Pipes.PipeFactory.
   2018-09-28 23:51:03.5128 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.AutoUpdate.AutoUpdateFactory.
   2018-09-28 23:51:03.5440 Amazon.KinesisTap.Hosting.LogManager INFO Performance counter sink  started.
   2018-09-28 23:51:03.7628 Amazon.KinesisTap.Hosting.LogManager INFO KinesisFirehoseSink id FirehoseLogStream for StreamName log-delivery-stream started.
   2018-09-28 23:51:03.7784 Amazon.KinesisTap.Hosting.LogManager INFO Connected source JsonLogSource to sink FirehoseLogStream
   2018-09-28 23:51:03.7940 Amazon.KinesisTap.Hosting.LogManager INFO DirectorySource id JsonLogSource watching directory C:\LogSource\ with filter *.log started.
   ```

   이 로그 파일은 서비스가 시작되었으며 로그 레코드가 현재`c:\LogSource\`디렉토리에 로그인합니다. 각 행은 단일 JSON 객체로 구문 분석됩니다. 컴퓨터 이름 및 타임스탬프에 대한 키-값 쌍이 각 개체에 추가됩니다. 그런 다음 Kinesis Data Firehose 로 스트리밍됩니다.

1. 1 \$1 2 분 안에 생성한 Amazon S3 버킷으로 이동합니다.[Amazon S3 버킷을 생성합니다.](kaw-ds2s3-tutorial-step1.md#kaw-ds2s3-tutorial-step1.2)AWS Management Console을 사용합니다. 본체에서 올바른 리전을 선택했는지 확인합니다.

   이 버킷에는 현재 연도의 폴더가 있습니다. 해당 폴더를 열어 당월의 폴더를 표시합니다. 해당 폴더를 열어 현재 날짜의 폴더를 표시합니다. 해당 폴더를 열어 현재 시간 (UTC) 에 대한 폴더를 표시합니다. 해당 폴더를 열어 이름으로 시작하는 하나 이상의 항목을 표시합니다.`log-delivery-stream`.  
![\[Amazon S3 에서 로그 레코드를 찾아보는 스크린샷입니다.\]](http://docs.aws.amazon.com/ko_kr/kinesis-agent-windows/latest/userguide/images/s3-view-log-stream.png)

1. 최신 항목의 내용을 열어 로그 레코드가 Amazon S3 성공적으로 저장되었는지 확인하고 원하는 향상된 기능을 제공합니다. 모든 것이 올바르게 구성되면 콘텐츠는 다음과 비슷합니다.

   ```
   {"Message":"Copasetic message 1","Severity":"Information","ComputerName":"EC2AMAZ-ABCDEFGH","DT":"2018-09-28 23:51:04"}
   {"Message":"Copasetic message 2","Severity":"Information","ComputerName":"EC2AMAZ-ABCDEFGH","DT":"2018-09-28 23:51:04"}
   {"Message":"Problem message 2","Severity":"Error","ComputerName":"EC2AMAZ-ABCDEFGH","DT":"2018-09-28 23:51:04"}
   {"Message":"Copasetic message 3","Severity":"Information","ComputerName":"EC2AMAZ-ABCDEFGH","DT":"2018-09-28 23:51:04"}
   ```

1. 다음 문제 중 하나를 해결하는 방법에 대한 자세한 내용은[마이크로소프트 윈도우용 Amazon Kinesis 에이전트 문제 해결](troubleshooting-kinesis-agent-windows.md):
   + Windows용 Kinesis 에이전트 로그 파일에 오류가 있습니다.
   + Amazon S3 필요한 폴더 또는 항목이 없습니다.
   + Amazon S3 항목의 내용이 올바르지 않습니다.

## 다음 단계
<a name="kaw-ds2s3-tutorial-step2-next"></a>

[단계 3: Amazon S3 에서 로그 데이터 쿼리](kaw-ds2s3-tutorial-step3.md)

# 단계 3: Amazon S3 에서 로그 데이터 쿼리
<a name="kaw-ds2s3-tutorial-step3"></a>

마이크로소프트 윈도우용 Amazon Kinesis 에이전트의 마지막 단계에서[자습서](directory-source-to-s3-tutorial.md)Amazon Athena를 사용하여 Amazon Simple Storage Service (Amazon S3) 에 저장된 로그 데이터를 쿼리합니다.

1. [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home)에서 Athena 콘솔을 엽니다.

1. 더하기 기호를 선택합니다 (**\$1**) 를 사용하여 새 쿼리 창을 만들 수 있습니다.  
![\[Athena 나에서 새 쿼리 창을 만드는 방법을 보여주는 스크린 샷.\]](http://docs.aws.amazon.com/ko_kr/kinesis-agent-windows/latest/userguide/images/athena-new-query.png)

1. 다음 텍스트를 질의 창에 입력합니다.

   ```
   CREATE DATABASE logdatabase
   
   CREATE EXTERNAL TABLE logs (
     Message string,
     Severity string,
     ComputerName string,
     DT timestamp
   )
   ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
   LOCATION 's3://bucket/year/month/day/hour/'
   
   SELECT * FROM logs
   SELECT * FROM logs WHERE severity = 'Error'
   ```

   Replace*`bucket`*에서 만든 버킷의 이름으로 바꿉니다.[Amazon S3 버킷을 생성합니다.](kaw-ds2s3-tutorial-step1.md#kaw-ds2s3-tutorial-step1.2). Replace*`year`*,*`month`*,*`day`*및*`hour`*에 Amazon S3 로그 파일이 UTC로 생성된 연도, 월, 일 및 시간을 입력합니다.

1. 에 대 한 텍스트를 선택 합니다.`CREATE DATABASE`문을 마우스 오른쪽 단추로 클릭한 다음**쿼리 실행**. 이것은 Athena 나에 로그 데이터베이스를 만듭니다.

1. 에 대 한 텍스트를 선택 합니다.`CREATE EXTERNAL TABLE`문을 마우스 오른쪽 단추로 클릭한 다음**쿼리 실행**. 이렇게 하면 로그 데이터와 함께 S3 버킷을 참조하는 Athena 테이블이 생성되어 JSON의 스키마를 Athena 테이블의 스키마에 매핑합니다.

1. 첫 번째 텍스트 선택`SELECT`문을 마우스 오른쪽 단추로 클릭한 다음**쿼리 실행**. 이 테이블의 모든 행을 표시합니다.  
![\[Athena 사용하여 로그 레코드를 쿼리 보여주는 스크린 샷.\]](http://docs.aws.amazon.com/ko_kr/kinesis-agent-windows/latest/userguide/images/athena-first-select.png)

1. 두 번째 텍스트 선택`SELECT`문을 마우스 오른쪽 단추로 클릭한 다음**쿼리 실행**. 이 로그 레코드를 나타내는 테이블의 행만 표시`Error`수준 심각도입니다. 이러한 종류의 쿼리는 잠재적으로 큰 로그 레코드 집합에서 흥미로운 로그 레코드를 찾습니다.  
![\[Athena 레코드의 특정 종류를 쿼리하는 방법을 보여주는 스크린 샷.\]](http://docs.aws.amazon.com/ko_kr/kinesis-agent-windows/latest/userguide/images/athena-second-query.png)

## 다음 단계
<a name="kaw-ds2s3-tutorial-step4-next"></a>

AWS 관리 콘솔을 사용하여 자습서 중에 생성된 리소스를 정리합니다.

1. EC2 인스턴스를 종료합니다 ([Amazon EC2 Windows 인스턴스 시작하기](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows)).
**중요**  
인스턴스 내에 있지 않은 인스턴스를 시작한 경우[AWS 프리 티어](https://aws.amazon.com/free/)을 종료하려면 인스턴스를 종료하기 전까지 인스턴스에 대한 요금이 청구됩니다.

1. Kinesis Data Firehose 전송 스트림을 삭제합니다.

   1. Kinesis Data Firehose 콘솔을[https://console.aws.amazon.com/firehose/](https://console.aws.amazon.com/firehose/).

   1. 생성한 전송 스트림을 선택합니다.

   1. **삭제**를 선택합니다.

   1. 선택**전송 스트림 삭제**.

1. S3 버킷을 삭제합니다. 지침은 을 참조하십시오.[S3 버킷을 삭제하려면 어떻게 해야 합니까?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/delete-bucket.html)의*Amazon Simple Storage Service 콘솔 사용자 안내서*.

자세한 내용은 다음 주제를 참조하십시오.
+ [마이크로소프트 윈도우용 Amazon Kinesis 에이전트 구성](configuring-kinesis-agent-windows.md)
+ [Amazon Kinesis Data Firehose 란 무엇인가요?](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html)
+ [Amazon S3 이란 무엇인가요?](https://docs.aws.amazon.com/AmazonS3/latest/dev/Welcome.html)
+ [Amazon Athena 무엇인가?](https://docs.aws.amazon.com/athena/latest/ug/what-is.html)