

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

# Microsoft Windows용 Amazon Kinesis 에이전트 시작하기
<a name="getting-started"></a>

Microsoft Windows용 Amazon Kinesis 에이전트 (Windows용 Kinesis 에이전트) 를 사용하여 Windows 집합에서 다양한 AWS 서비스로 로그, 이벤트 및 지표를 수집, 구문 분석, 변환 및 스트리밍할 수 있습니다. 다음 정보에는 Windows용 Kinesis 에이전트를 설치 및 구성하기 위한 필수 구성 요소 및 단계별 지침이 포함되어 있습니다.

**Topics**
+ [Prerequisites](#getting-started-prerequisites)
+ [AWS 계정 설정](#getting-started-setting-up)
+ [윈도우용 Kinesis 에이전트 설치](#getting-started-installation)
+ [Windows용 Kinesis 에이전트 구성 및 시작](#getting-started-start-service)

## Prerequisites
<a name="getting-started-prerequisites"></a>

Kinesis 에이전트를 설치하기 전에 다음 사전 조건을 확인하십시오.
+ Windows용 Kinesis 에이전트 개념에 익숙합니다. 자세한 내용은 [마이크로소프트 윈도우용 Amazon Kinesis 에이전트 개념](kinesis-agent-windows-concepts.md) 섹션을 참조하세요.
+ 데이터 파이프라인과 관련된 다양한 AWS 서비스를 사용하기 위한 AWS 계정입니다. AWS 계정 생성 및 구성에 대한 자세한 내용은 단원을 참조하십시오.[AWS 계정 설정](#getting-started-setting-up).
+ Windows용 Kinesis 에이전트를 실행할 각 데스크톱 또는 서버에서 Microsoft .NET 프레임워크 4.6 이상 버전을 사용할 수 있습니다. 자세한 내용은 단원을 참조하십시오.[개발자를위한 .NET Framework 설치](https://docs.microsoft.com/en-us/dotnet/framework/install/guide-for-developers)에서 Microsoft .NET 설명서를 참조하십시오.

  데스크톱 또는 서버에 설치된.NET Framework의 최신 버전을 확인하려면 다음 PowerShell 스크립트를 사용하십시오.

  ```
       [System.Version](
       (Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse `
       | Get-ItemProperty -Name Version -ErrorAction SilentlyContinue `
       | Where-Object { ($_.PSChildName -match 'Full') } `
       | Select-Object Version | Sort-Object -Property Version -Descending)[0]).Version
  ```
+ Windows용 Kinesis 에이전트에서 데이터를 전송하려는 스트림 (Amazon Kinesis Data Streams 사용하는 경우) 사용 하 여 스트림 만들기[Kinesis Data Streams 콘솔](https://console.aws.amazon.com/kinesis/),[AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/kinesis/create-stream.html)또는[Windows PowerShell용 AWS 도구](https://docs.aws.amazon.com/powershell/latest/reference/items/New-KINStream.html). 자세한 내용은 단원을 참조하십시오.[데이터 스트림 만들기 및 업데이트](https://docs.aws.amazon.com/streams/latest/dev/amazon-kinesis-streams.html)의*Amazon Kinesis Data Streams 개발자 가이드*.
+ Windows용 Kinesis 에이전트로부터 데이터를 전송하려는 파이어호스 전송 스트림입니다 (Amazon Kinesis Data Firehose 사용하는 경우). 사용 하 여 전송 스트림 만들기[Kinesis Data Firehose 콘솔](https://console.aws.amazon.com/firehose/),[AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/firehose/create-delivery-stream.html)또는[Windows PowerShell용 AWS 도구](https://docs.aws.amazon.com/powershell/latest/reference/items/New-KINFDeliveryStream.html). 자세한 내용은 단원을 참조하십시오.[Amazon Kinesis Data Firehose 배송 스트림 생성](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html)의*Amazon Kinesis Data Firehose 개발자 가이드*.

## AWS 계정 설정
<a name="getting-started-setting-up"></a>

AWS 계정이 없는 경우 다음 절차에 따라 계정을 생성하십시오.

**AWS 계정에 가입하려면**

1. [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup)을 엽니다.

1. 온라인 지시 사항을 따릅니다.

   등록 절차 중 전화를 받고 전화 키패드를 사용하여 확인 코드를 입력하는 과정이 있습니다.

**관리자 사용자를 직접 생성하여 관리자 그룹에 추가하려면(콘솔)**

1. 에 로그인합니다.[IAM 콘솔](https://console.aws.amazon.com/iam/)를 선택하여 계정 소유자로**루트 사용자**를 클릭하고 AWS 계정 이메일 주소를 입력합니다. 다음 페이지에서 암호를 입력합니다.
**참고**  
사용하는 모범 사례를 준수해 두는 것이 좋습니다.**Administrator**IAM 사용자는 루트 사용자 자격 증명을 준수하고 안전하게 보관해 둡니다. 몇 가지 [계정 및 서비스 관리 태스크](https://docs.aws.amazon.com/general/latest/gr/aws_tasks-that-require-root.html)를 수행하려면 반드시 루트 사용자로 로그인해야 합니다.

1. 탐색 창에서 **사용자**와 **사용자 추가**를 차례로 선택합니다.

1. **사용자 이름**에 **Administrator**를 입력합니다.

1. **AWS Management Console 액세스(AWS Management Console access)**옆에 있는 확인란을 선택합니다. 그런 다음 **Custom password(사용자 지정 암호)**를 선택하고 텍스트 상자에 새 암호를 입력합니다.

1. (선택 사항) 기본적으로 AWS에서는 새 사용자가 처음 로그인할 때 새 암호를 생성해야 합니다. **User must create a new password at next sign-in(사용자가 다음에 로그인할 때 새 암호를 생성해야 합니다)** 옆에 있는 확인란의 선택을 취소하면 새 사용자가 로그인한 후 암호를 재설정할 수 있습니다.

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

1. **권한 설정** 아래에서 **그룹에 사용자 추가**를 선택합니다.

1. **그룹 생성**을 선택합니다.

1. **그룹 생성** 대화 상자의 **그룹 이름**에 **Administrators**를 입력합니다.

1. 선택**정책 필터링**을 선택한 다음**AWS 관리형 - 직무**를 클릭하여 테이블 내용을 필터링합니다.

1. 정책 목록에서 **AdministratorAccess** 확인란을 선택합니다. 그런 다음 **Create group**을 선택합니다.
**참고**  
`AdministratorAccess` 권한을 사용하여 AWS 결제 및 비용 관리 콘솔에 액세스하려면 먼저 결제에 대한 IAM 사용자 및 역할 액세스를 활성화해야 합니다. 이를 위해 [결제 콘솔에 액세스를 위임하기 위한 자습서 1단계](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_billing.html)의 지침을 따르십시오.

1. 그룹 목록으로 돌아가 새로 만든 그룹 옆의 확인란을 선택합니다. 목록에서 그룹을 확인하기 위해 필요한 경우 **Refresh(새로 고침)**를 선택합니다.

1. 선택**다음: 태그**.

1. (선택 사항) 태그를 키-값 페어로 연결하여 메타데이터를 사용자에게 추가합니다. IAM에서의 태그 사용에 대한 자세한 내용은 단원을 참조하십시오.[IAM 엔터티 태그 지정](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html)의*IAM 사용 설명서*.

1. 선택**다음: 검토**를 선택하여 새 사용자에 추가될 그룹 멤버십의 목록을 확인합니다. 계속 진행할 준비가 되었으면 **Create user**를 선택합니다.

이제 동일한 절차에 따라 그룹이나 사용자를 추가 생성하여 AWS 계정 리소스에 액세스할 수 있는 권한을 사용자에게 부여할 수 있게 되었습니다. 특정 AWS 리소스에 대한 사용자 권한을 제한하는 정책을 사용하는 방법을 알아보려면 [액세스 관리](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) 및 [정책 예제](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_examples.html)를 참조하십시오.

**AWS 에 가입하고 관리자 계정을 생성하려면 다음을 수행합니다.**

1. AWS 계정이 없는 경우,[https://aws.amazon.com/](https://aws.amazon.com/). 선택**AWS 계정 생성**를 선택한 다음 온라인 지시 사항을 따릅니다.

   등록 절차 중 전화를 받고 전화 키패드를 사용하여 PIN을 입력하는 과정이 있습니다.

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

1. 탐색 창에서 **그룹**을 선택한 다음, **새 그룹 생성**을 선택합니다.

1. **그룹 이름**에 **Administrators**와 같은 그룹 이름을 입력한 후 **다음 단계**를 선택합니다.

1. 정책 목록에서 [**AdministratorAccess**] 정책 옆의 확인란을 선택합니다. **필터** 메뉴와 **검색** 상자를 사용하여 정책 목록을 필터링합니다.

1. [**Next Step**]을 선택합니다. 선택**그룹 생성**을 클릭하면 새 그룹이**그룹 이름**.

1. 탐색 창에서 **사용자**와 **Create New Users(새 사용자 만들기)**를 차례대로 선택합니다.

1. 상자 내**1**옆에 있는 확인란의 선택을 취소하려면 사용자 이름을 입력하고**각 사용자에 대해 액세스 키 생성**를 선택한 다음 를 선택합니다.**생성**.

1. 사용자 목록에서 방금 생성한 사용자의 이름 (확인란 아님) 을 선택합니다. 다음을 수행할 수 있습니다.**검색**상자를 사용하여 사용자 이름을 검색합니다.

1. 를 선택합니다.**그룹**탭을 선택한 다음**그룹에 사용자 추가**.

1. 관리자 그룹 옆의 확인란을 선택한 다음**그룹에 추가**.

1. [**Security Credentials**] 탭을 선택합니다. [**Sign-In Credentials**]에서 [**Manage Password**]를 선택합니다.

1. Select**사용자 정의 암호 할당**에 암호를 입력합니다.**Password**및**암호 확인**상자를 클릭한 다음**Apply**.

## 윈도우용 Kinesis 에이전트 설치
<a name="getting-started-installation"></a>

다음과 같은 세 가지 방법으로 Windows용 Kinesis 에이전트를 설치할 수 있습니다.
+ MSI (윈도우 설치 프로그램 패키지) 를 사용하여 설치합니다.
+ 에서 설치[AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/), 서버 및 데스크톱 관리를 위한 서비스 집합입니다.
+ PowerShell 스크립트를 실행합니다.

**참고**  
다음 지침에서는 용어를 사용하는 경우가 있습니다.*키네스탭*및*AW스키네시스탭*. 이러한 단어는 Windows용 Kinesis 에이전트와 동일한 것을 의미하지만 이러한 명령을 실행할 때는 그대로 지정해야 합니다.

### MSI를 사용하여 Windows용 Kinesis 에이전트 설치
<a name="install-msi"></a>

최신 Kinesis 경우:[GitHub 의 키네시스-에이전트 - 윈도우 저장소](https://github.com/awslabs/kinesis-agent-windows/releases). MSI를 다운로드한 후 Windows를 사용하여 MSI를 시작하고 설치 프로그램의 프롬프트를 따릅니다. 설치 후에는 Windows 응용 프로그램과 마찬가지로 제거할 수 있습니다.

또는 다음을 수행할 수 있습니다.[엠시엑서크](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/msiexec)명령을 실행하여 다음 예에 표시된 대로 로깅을 설정하고 제거합니다. Replace`{{AWSKinesisTap.1.1.216.4.msi}} with the appropriate version of Kinesis Agent for Windows for your application.`

**Windows용 Kinesis 에이전트를 자동으로 설치하려면**

```
msiexec /i {{AWSKinesisTap.1.1.216.4.msi}} /q
```

**문제 해결을 위한 설치 메시지를`{{logfile.log}}`:**

```
msiexec /i {{AWSKinesisTap.1.1.216.4.msi}} /q /L*V {{logfile.log}}
```

**명령 프롬프트를 사용하여 Windows용 Kinesis 에이전트를 제거하려면**

```
msiexec.exe /x {ADAB3982-68AA-4B45-AE09-7B9C03F3EBD3} /q
```

### AWS Systems Manager 사용하여 Windows용 Kinesis 에이전트 설치
<a name="install-systems-manager"></a>

Systems Manager 실행 명령을 사용하여 Windows용 Kinesis 에이전트를 설치하려면 다음 단계를 수행하십시오. Run Command 단원을 참조하십시오.[AWS Systems Manager 실행 명령](https://docs.aws.amazon.com/systems-manager/latest/userguide/execute-remote-commands.html)의*AWS Systems Manager 사용 설명서*. Systems Manager 실행 명령을 사용하는 것 외에도 시스템 관리자를 사용할 수도 있습니다[유지 관리 기간](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html)및[상태 관리자](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-state.html)를 사용하여 시간이 지남에 따라 Windows용 Kinesis 에이전트의 배포를 자동화할 수 있습니다.

**참고**  
Windows용 Kinesis 에이전트용 Systems Manager 설치는[AWS Systems Manager](https://docs.aws.amazon.com/general/latest/gr/rande.html#ssm_region)다음을 제외하고:  
cn-north-1
cn-northwest-1
모든 AWS GovCloud 리전

**Systems Manager 사용하여 Windows용 Kinesis 에이전트를 설치하려면**

1. Windows용 Kinesis 에이전트를 설치하려는 인스턴스에 SSM 에이전트 버전 2.2.58.0 이상이 설치되어 있는지 확인합니다. 자세한 내용은 단원을 참조하십시오.[Windows 인스턴스에서 SSM 에이전트 설치 및 구성](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-ssm-win.html)의*AWS Systems Manager 사용 설명서*.

1. AWS Systems Manager 콘솔을 엽니다.[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. 탐색 창의**노드 관리**를 선택하고**명령 실행**를 선택한 다음 를 선택합니다.**명령 실행**.

1. 에서**명령 문서**목록에서 [] 를 선택합니다.**AWS-ConfigureAWSPackage**문서를 참조하십시오.  
![AWS-ConfigureAWSPackage 문서를 선택합니다.](http://docs.aws.amazon.com/ko_kr/kinesis-agent-windows/latest/userguide/images/runcommand-document-select.png)

1. 언더**명령 파라미터**에 대한**이름**를 입력합니다.**AW스키네시스탭**. 다른 설정은 기본값으로 그대로 둡니다.
**참고**  
나가기**Version**비워 두면 AWSkinesSpep 패키지의 최신 버전을 지정할 수 있습니다. 선택적으로 설치할 특정 버전을 입력할 수 있습니다.  
![명령 매개 변수에서 AWSkinesistap 패키지를 지정합니다.](http://docs.aws.amazon.com/ko_kr/kinesis-agent-windows/latest/userguide/images/runcommand-specify-options.png)

1. 언더**대상**에서 명령을 실행할 인스턴스를 지정합니다. 인스턴스와 연결된 태그를 기반으로 인스턴스를 지정하도록 선택하거나, 인스턴스를 수동으로 선택하거나, 인스턴스를 포함하는 리소스 그룹을 지정할 수 있습니다.

1. 다른 모든 설정은 기본값으로 그대로 두고**실행**.

### PowerShell 을 사용하여 Windows용 Kinesis 에이전트 설치
<a name="install-ps"></a>

텍스트 편집기를 사용하여 다음 명령을 파일에 복사하고 PowerShell 스크립트로 저장합니다. 우리는`InstallKinesisAgent.ps1`다음 예제입니다.

```
Param(
    [ValidateSet("prod", "beta", "test")]
    [string] $environment = 'prod',
    [string] $version,
    [string] $baseurl
)

# Self-elevate the script if required.
if (-Not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] 'Administrator')) {
    if ([int](Get-CimInstance -Class Win32_OperatingSystem | Select-Object -ExpandProperty BuildNumber) -ge 6000) {
        $CommandLine = '-File "' + $MyInvocation.MyCommand.Path + '" ' + $MyInvocation.UnboundArguments
        Start-Process -FilePath PowerShell.exe -Verb Runas -ArgumentList $CommandLine
        Exit
    }
}

# Allows input to change base url. Useful for testing.
if ($baseurl) {
    if (!$baseUrl.EndsWith("/")) {
        throw "Invalid baseurl param value. Must end with a trailing forward slash ('/')"
    }

    $kinesistapBaseUrl = $baseurl
} else {
    $kinesistapBaseUrl = "https://s3-us-west-2.amazonaws.com/kinesis-agent-windows/downloads/"
}

Write-Host "Using $kinesistapBaseUrl as base url"

$webClient = New-Object System.Net.WebClient

try {
    $packageJson = $webClient.DownloadString($kinesistapBaseUrl + 'packages.json' + '?_t=' + [System.DateTime]::Now.Ticks) | ConvertFrom-Json
} catch {
    throw "Downloading package list failed."
}


if ($version) {
    $kinesistapPackage = $packageJson.packages | Where-Object { $_.packageName -eq "AWSKinesisTap.$version.nupkg" }

    if ($null -eq $kinesistapPackage) {
        throw "No package found matching input version $version"
    }
} else {
    $packageJson = $packageJson.packages | Where-Object { $_.packageName -match ".nupkg" }
    $kinesistapPackage = $packageJson[0]
}

$packageName = $kinesistapPackage.packageName
$checksum = $kinesistapPackage.checksum

#Create %TEMP%/kinesistap if not exists
$kinesistapTempDir = Join-Path $env:TEMP 'kinesistap'
if (![System.IO.Directory]::Exists($kinesistapTempDir)) {[void][System.IO.Directory]::CreateDirectory($kinesistapTempDir)}

#Download KinesisTap.x.x.x.x.nupkg package
$kinesistapNupkgPath = Join-Path $kinesistapTempDir $packageName
$webClient.DownloadFile($kinesistapBaseUrl + $packageName, $kinesistapNupkgPath)
$kinesistapUnzipPath = $kinesistapNupkgPath.Replace('.nupkg', '')

# Calculates hash of downloaded file. Downlevel compatible using .Net hashing on PS < 4
if ($PSVersionTable.PSVersion.Major -ge 4) {
    $calculatedHash = Get-FileHash $kinesistapNupkgPath -Algorithm SHA256
    $hashAsString = $calculatedHash.Hash.ToLower()
} else {
    $sha256 = New-Object System.Security.Cryptography.SHA256CryptoServiceProvider
    $calculatedHash = [System.BitConverter]::ToString($sha256.ComputeHash([System.IO.File]::ReadAllBytes($kinesistapNupkgPath)))
    $hashAsString = $calculatedHash.Replace("-", "").ToLower()
}

if ($checksum -eq $hashAsString) {
	Write-Host 'Local file hash matches checksum.' -ForegroundColor Green
} else {
	throw ("Get-FileHash does not match! Package may be corrupted.")
}

#Delete Unzip path if not empty
if ([System.IO.Directory]::Exists($kinesistapUnzipPath)) {Remove-Item –Path $kinesistapUnzipPath -Recurse -Force}

#Unzip KinesisTap.x.x.x.x.nupkg package
$null = [System.Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem')
[System.IO.Compression.ZipFile]::ExtractToDirectory($kinesistapNupkgPath, $kinesistapUnzipPath)

#Execute chocolaeyInstall.ps1 in the package and wait for completion.
$installScript = Join-Path $kinesistapUnzipPath '\tools\chocolateyInstall.ps1'
& $installScript

# Verify service installed.
$serviceName = 'AWSKinesisTap'
$service = Get-Service -Name $serviceName -ErrorAction Ignore
if ($null -eq $service) {
    throw ("Service not installed correctly.")
} else {
    Write-Host "Kinesis Tap Installed." -ForegroundColor Green
    Write-Host "After configuring run the following to start the service: Start-Service -Name $serviceName." -ForegroundColor Green
}
```

관리자 권한 명령 프롬프트 창을 엽니다. 파일이 다운로드된 디렉터리에서 다음 명령을 사용하여 스크립트를 실행합니다.

```
PowerShell.exe -File ".\InstallKinesisAgent.ps1"
```

특정 버전의 Windows용 Kinesis 에이전트를 설치하려면`-version`옵션을 선택합니다.

```
PowerShell.exe -File ".\InstallKinesisAgent.ps1" -version "{{version}}"
```

Replace{{version}}를 Windows용 유효한 Kinesis 에이전트 버전 번호로 교체하십시오. 버전 정보는 단원을 참조하십시오.[GitHub 의 키네시스-에이전트 - 윈도우 저장소](https://github.com/awslabs/kinesis-agent-windows/blob/master/README.md).

원격으로 PowerShell 스크립트를 실행할 수있는 많은 배포 도구가 있습니다. 여러 대의 서버 또는 데스크톱에서 Kinesis Windows용 에이전트를 자동으로 설치하는 데 사용할 수 있습니다.

## Windows용 Kinesis 에이전트 구성 및 시작
<a name="getting-started-start-service"></a>

Windows용 Kinesis 에이전트를 설치한 후에는 에이전트를 구성하고 시작해야 합니다. 그 후에는 더 이상의 작업 개입이 필요하지 않습니다.

**Windows용 Kinesis 에이전트를 구성하고 시작하려면**

1. Windows용 Kinesis 에이전트 구성 파일을 생성하고 배포합니다. 이 파일은 다른 전역 구성 항목과 함께 소스, 싱크 및 파이프를 구성합니다.

   Windows용 Kinesis 에이전트 구성에 대한 자세한 내용은 단원을 참조하십시오.[마이크로소프트 윈도우용 Amazon Kinesis 에이전트 구성](configuring-kinesis-agent-windows.md).

   사용자 지정하고 설치할 수 있는 전체 구성 파일 예제는[Windows용 Kinesis 에이전트 구성 예](configuring-kaw-examples.md).

1. 상승된 PowerShell 명령 프롬프트 창을 열고 다음 PowerShell 명령을 사용하여 Windows용 Kinesis 에이전트를 시작합니다.

   ```
   Start-Service -Name AWSKinesisTap
   ```