

# Memulai dengan Amazon Kinesis Agent for Microsoft Windows
<a name="getting-started"></a>

Anda dapat menggunakan Amazon Kinesis Agent for Microsoft Windows (Kinesis Agent for Windows) untuk mengumpulkan, mengurai, mentransformasi, dan mengalirkan log, peristiwa, dan metrik dari armada Windows Anda ke berbagai layanan AWS. Informasi berikut berisi prasyarat dan petunjuk langkah demi langkah untuk menginstal dan mengonfigurasi Kinesis Agent for Windows.

**Topics**
+ [Prerequisites](#getting-started-prerequisites)
+ [Menyiapkan Akun AWS](#getting-started-setting-up)
+ [Menginstal Kinesis Agent for Windows](#getting-started-installation)
+ [Mengonfigurasi dan Menjalankan Kinesis Agent for Windows](#getting-started-start-service)

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

Sebelum menginstal Kinesis Agent for Windows, pastikan Anda memiliki prasyarat berikut:
+ Terbiasa dengan konsep Kinesis Agent for Windows. Untuk informasi lebih lanjut, lihat [Konsep Amazon Kinesis Agent for Microsoft Windows](kinesis-agent-windows-concepts.md).
+ Akun AWS untuk menggunakan berbagai layanan AWS terkait data pipeline Anda. Untuk informasi tentang membuat dan mengonfigurasi akun AWS, lihat [Menyiapkan Akun AWS](#getting-started-setting-up).
+ Microsoft .NET Framework 4.6 atau yang lebih baru pada setiap desktop atau server yang akan menjalankan Kinesis Agent for Windows. Untuk informasi selengkapnya, lihat [Instal .NET Framework untuk developer](https://docs.microsoft.com/en-us/dotnet/framework/install/guide-for-developers) dalam dokumentasi Microsoft .NET.

  Untuk menentukan versi terbaru .NET Framework yang diinstal pada desktop atau server, gunakan skrip PowerShell berikut:

  ```
       [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
  ```
+ Aliran tempat Anda ingin mengirim data dari Kinesis Agent for Windows (jika menggunakan Amazon Kinesis Data Streams). Buat aliran menggunakan [Konsol Kinesis Data Streams](https://console.aws.amazon.com/kinesis/), [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/kinesis/create-stream.html), atau [AWS Tools for Windows PowerShell](https://docs.aws.amazon.com/powershell/latest/reference/items/New-KINStream.html). Untuk informasi selengkapnya, lihat [Membuat dan Memperbarui Aliran Data](https://docs.aws.amazon.com/streams/latest/dev/amazon-kinesis-streams.html) dalam *Panduan Developer Amazon Kinesis Data Streams*.
+ Aliran pengiriman Firehose tempat Anda ingin mengirim data dari Kinesis Agent for Windows (jika menggunakan Amazon Kinesis Data Firehose). Buat aliran pengiriman menggunakan [Konsol Kinesis Data Firehose](https://console.aws.amazon.com/firehose/), [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/firehose/create-delivery-stream.html), atau [AWS Tools for Windows PowerShell](https://docs.aws.amazon.com/powershell/latest/reference/items/New-KINFDeliveryStream.html). Untuk informasi selengkapnya, lihat [Membuat Aliran Pengiriman Amazon Kinesis Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html) dalam *Panduan Developer Amazon Kinesis Data Firehose*.

## Menyiapkan Akun AWS
<a name="getting-started-setting-up"></a>

Jika Anda tidak memiliki Akun AWS, selesaikan langkah berikut untuk membuatnya.

**Untuk mendaftar Akun AWS**

1. Terbuka [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup).

1. Ikuti petunjuk secara daring.

   Bagian dari prosedur pendaftaran adalah menerima panggilan telepon dan memasukkan kode verifikasi di keypad telepon.

**Untuk membuat pengguna administrator untuk diri sendiri dan menambahkan pengguna ke grup administrator (konsole)**

1. Masuk ke [konsol IAM](https://console.aws.amazon.com/iam/) sebagai pemilik akun dengan memilih **Root user** (Pengguna asal) dan memasukkan alamat email Akun AWS Anda. Di halaman berikutnya, masukkan kata sandi Anda.
**catatan**  
Kami sangat merekomendasikan agar Anda mematuhi praktik terbaik dalam menggunakan pengguna IAM **Administrator** di bawah ini dan mengunci kredensial pengguna root dengan aman. Masuk sebagai pengguna akar hanya untuk melakukan beberapa [tugas manajemen layanan dan akun](https://docs.aws.amazon.com/general/latest/gr/aws_tasks-that-require-root.html).

1. Di panel navigasi, pilih **Pengguna** lalu pilih **Tambahkan pengguna**.

1. Untuk **Nama pengguna**, masukkan **Administrator**.

1. Pilih kotak centang di samping **akses Konsol Manajemen AWS**. Kemudian pilih **Kata sandi khusus**, lalu masukkan kata sandi baru Anda di kotak teks.

1. (Opsional) Secara default, AWS mengharuskan pengguna baru untuk membuat kata sandi baru saat pertama kali masuk. Anda dapat mengosongkan kotak centang di samping **Pengguna harus membuat kata sandi baru saat masuk berikutnya** agar pengguna baru dapat mengatur ulang kata sandi mereka setelah masuk.

1. Pilih **Selanjutnya: Izin**.

1. Di Bawah **Atur izin**, pilih **Tambahkan pengguna ke grup**.

1. Pilih **Buat kelompok**.

1. Di **Buat kelompok** kotak dialog, untuk **Nama kelompok** masukkan **Administrators**.

1. Pilih **Kebijakan filter**, lalu pilih **terkelola AWS - fungsi tugas** untuk memfilter isi tabel.

1. Dalam daftar kebijakan, pilih kotak centang untuk **AdministratorAccess**. Lalu, pilih **Buat grup**.
**catatan**  
Anda harus mengaktifkan akses pengguna dan IAM role ke Penagihan sebelum Anda dapat menggunakan izin `AdministratorAccess` untuk mengakses konsol AWS Manajemen Penagihan dan Biaya. Untuk melakukannya, ikuti petunjuk di [langkah 1 dari tutorial tentang pendelegasian akses ke konsol penagihan](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_billing.html).

1. Kembali ke daftar grup, pilih kotak centang untuk grup baru Anda. Pilih **Segarkan** jika diperlukan untuk melihat kelompok dalam daftar.

1. Pilih **Selanjutnya: Tanda**.

1. (Opsional) Tambahkan metadata ke pengguna dengan melampirkan tag sebagai pasangan nilai kunci. Untuk informasi selengkapnya tentang penggunaan tag di IAM, lihat [Menandai entitas IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) dalam *Panduan Pengguna IAM*.

1. Pilih **Selanjutnya: Tinjauan** untuk melihat daftar keanggotaan grup yang akan ditambahkan ke pengguna baru. Saat Anda siap untuk melanjutkan, pilih **Buat pengguna**.

Anda dapat menggunakan proses yang sama untuk membuat lebih banyak grup dan pengguna serta untuk memberi pengguna Anda akses ke sumber daya Akun AWS Anda. Untuk mempelajari tentang menggunakan kebijakan yang membatasi izin pengguna untuk sumber daya AWS khusus, lihat [Manajemen akses](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) dan [Contoh kebijakan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_examples.html).

**Untuk mendaftar ke AWS dan membuat akun administrator**

1. Jika Anda belum memiliki akun AWS, buka [https://aws.amazon.com](https://aws.amazon.com/). Pilih **Buat Akun AWS**, lalu ikuti petunjuk online.

   Bagian dari prosedur pendaftaran melibatkan menerima panggilan telepon dan memasukkan PIN menggunakan keypad telepon.

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Dalam panel navigasi, pilih **Grup**, lalu pilih **Buat Grup Baru**.

1. Untuk **Nama Grup**, masukkan nama untuk grup Anda, misalnya **Administrators**, lalu pilih **Langkah Selanjutnya**.

1. Dalam daftar kebijakan, centang kotak di samping kebijakan **AdministratorAccess**. Anda dapat menggunakan menu **Filter** dan kotak **Pencarian** untuk memfilter daftar kebijakan.

1. Pilih **Langkah Selanjutnya**. Pilih **Buat Grup**, dan grup baru Anda akan muncul di bawah **Nama Grup**.

1. Di panel navigasi, pilih **Pengguna**, lalu pilih **Buat Pengguna Baru**.

1. Pada kotak **1**, masukkan nama pengguna, kosongkan kotak centang di samping **Hasilkan access key untuk setiap pengguna**, lalu pilih **Buat**.

1. Dalam daftar pengguna, pilih nama (bukan kotak centang) pengguna yang baru saja Anda buat. Anda dapat menggunakan kotak **Pencarian** untuk mencari nama pengguna.

1. Pilih tab **Grup** dan kemudian pilih **Tambahkan Pengguna ke Grup**.

1. Centang kotak di samping grup administrator, dan kemudian pilih **Tambahkan ke Grup**.

1. Pilih tab **Kredensial Keamanan**. Di bawah **Kredensial Masuk**, pilih **Kelola Kata Sandi**.

1. Pilih **Tetapkan kata sandi kustom**, masukkan kata sandi pada **Kata Sandi** dan kotak **Konfirmasi Kata Sandi**, lalu pilih **Terapkan**.

## Menginstal Kinesis Agent for Windows
<a name="getting-started-installation"></a>

Ada tiga cara untuk menginstal Kinesis Agent for Windows di Windows:
+ Instal menggunakan MSI (paket penginstal Windows).
+ Instal dari [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/), serangkaian layanan untuk mengelola server dan desktop.
+ Jalankan skrip PowerShell.

**catatan**  
Petunjuk berikut sesekali menggunakan istilah *KinesisTap* dan *AWSKinesisTap*. Kata-kata ini sama artinya dengan Kinesis Agent for Windows, tetapi Anda harus menuliskannya sebagaimana adanya saat menjalankan instruksi ini.

### Instal Kinesis Agent for Windows menggunakan MSI
<a name="install-msi"></a>

Anda dapat mengunduh paket MSI Kinesis Agent for Windows terbaru dari [repositori kinesis-agent-windows di GitHub](https://github.com/awslabs/kinesis-agent-windows/releases). Setelah mengunduh MSI, gunakan Windows untuk meluncurkannya dan ikuti petunjuk penginstal. Setelah instalasi, Anda dapat mencopot instalasinya seperti pada aplikasi Windows lainnya.

Atau, Anda dapat menggunakan perintah [msiexec](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/msiexec) dari command prompt Windows untuk menginstal secara tersembunyi, mengaktifkan pencatatan, dan mencopot instalasinya seperti yang ditunjukkan dalam contoh berikut. Ganti `{{AWSKinesisTap.1.1.216.4.msi}} with the appropriate version of Kinesis Agent for Windows for your application.`

**Untuk menginstal Kinesis Agent for Windows secara tersembunyi:**

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

**Untuk mencatat pesan instalasi untuk pemecahan masalah dalam file bernama `{{logfile.log}}`:**

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

**Untuk mencopot instalasi Kinesis Agent for Windows menggunakan command prompt:**

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

### Instal Kinesis Agent for Windows menggunakan AWS Systems Manager
<a name="install-systems-manager"></a>

Ikuti langkah-langkah ini untuk menginstal Kinesis Agent for Windows menggunakan Run Command Systems Manager. Untuk informasi selengkapnya tentang Run Command, lihat [AWS Systems Manager Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/execute-remote-commands.html) dalam *Panduan Pengguna AWS Systems Manager*. Selain menggunakan Run Command Systems Manager, Anda juga dapat menggunakan [Jendela Pemeliharaan](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html) dan [State Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-state.html) Systems Manager untuk mengotomatisasi deployment Kinesis Agent for Windows dari waktu ke waktu.

**catatan**  
Instalasi Systems Manager untuk Kinesis Agent for Windows tersedia di Wilayah AWS yang tercantum dalam [AWS Systems Manager](https://docs.aws.amazon.com/general/latest/gr/rande.html#ssm_region) kecuali yang berikut ini:  
cn-north-1
cn-northwest-1
Semua Wilayah AWS GovCloud.

**Untuk menginstal Kinesis Agent for Windows menggunakan Systems Manager**

1. Pastikan SSM Agent versi 2.2.58.0 atau yang lebih baru diinstal pada instans tempat Anda ingin menginstal Kinesis Agent for Windows. Untuk informasi lebih lanjut, lihat [Menginstal dan mengonfigurasi SSM Agent di instans Windows](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-ssm-win.html) dalam *Panduan Pengguna AWS Systems Manager*.

1. Buka konsol AWS Systems Manager pada [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Di panel navigasi, di bawah **Pengelolaan Simpul**, pilih **Run Command**, lalu pilih **Run Command**.

1. Dari daftar **Dokumen perintah**, pilih dokumen **AWS-ConfigureAWSPackage**.  
![Pilih dokumen AWS-ConfigureAWSpackage.](http://docs.aws.amazon.com/id_id/kinesis-agent-windows/latest/userguide/images/runcommand-document-select.png)

1. Di bawah **Parameter Perintah**, untuk **Nama**, masukkan **AWSKinesisTap**. Biarkan pengaturan lain sesuai defaultnya.
**catatan**  
Kosongkan **Versi** untuk menentukan versi terbaru dari paket AWSKinesisTap. Atau, Anda dapat memasukkan versi tertentu yang akan diinstal.  
![Tentukan paket AWSKinesisTap dalam parameter Perintah.](http://docs.aws.amazon.com/id_id/kinesis-agent-windows/latest/userguide/images/runcommand-specify-options.png)

1. Di bawah **Target**, tentukan instans mana yang akan menjalankan perintah. Anda dapat memilih untuk menentukan instans berdasarkan tanda yang terkait dengan instans, atau memilih instans secara manual, atau menentukan grup sumber daya yang menyertakan instans.

1. Biarkan semua pengaturan lain sesuai default-nya lalu pilih **Jalankan**.

### Instal Kinesis Agent for Windows Menggunakan PowerShell
<a name="install-ps"></a>

Gunakan editor teks untuk menyalin perintah berikut ke dalam file dan menyimpannya sebagai skrip PowerShell. Kami menggunakan `InstallKinesisAgent.ps1` dalam contoh berikut ini.

```
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
}
```

Buka jendela command prompt untuk administrator (elevated). Di direktori tempat file diunduh, gunakan perintah berikut untuk menjalankan skrip:

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

Untuk menginstal versi tertentu Kinesis Agent for Windows, tambahkan opsi `-version`:

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

Ganti {{versi}} dengan nomor versi Kinesis Agent for Windows yang valid. Untuk informasi versi, lihat [repositori kinesis-agent-windows pada GitHub](https://github.com/awslabs/kinesis-agent-windows/blob/master/README.md).

Ada banyak alat deployment yang dapat menjalankan skrip PowerShell dari jarak jauh. Alat ini dapat digunakan untuk mengotomatisasi instalasi Kinesis Agent for Windows pada armada server atau desktop.

## Mengonfigurasi dan Menjalankan Kinesis Agent for Windows
<a name="getting-started-start-service"></a>

Setelah menginstal Kinesis Agent for Windows, Anda harus mengonfigurasi dan menjalankan agen. Setelah itu, tidak diperlukan intervensi pengoperasian lebih lanjut.

**Untuk mengonfigurasi dan menjalankan Kinesis Agent for Windows**

1. Buat dan deploy file konfigurasi Kinesis Agent for Windows. File ini mengonfigurasi sumber, sink, dan alur, bersama dengan item konfigurasi global lainnya. 

   Untuk informasi selengkapnya tentang konfigurasi Kinesis Agent for Windows, lihat [Mengonfigurasi Amazon Kinesis Agent for Microsoft Windows](configuring-kinesis-agent-windows.md).

   Untuk contoh file konfigurasi lengkap yang dapat Anda sesuaikan dan instal, lihat [Contoh Konfigurasi Kinesis Agent for Windows](configuring-kaw-examples.md).

1. Buka jendela command prompt PowerShell untuk administrator (elevated), dan jalankan Kinesis Agent for Windows menggunakan perintah PowerShell berikut:

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