

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 步驟 1：設定 AWS 服務
<a name="kaw-ds2s3-tutorial-step1"></a>

遵循這些步驟，準備您的環境，使用 Amazon 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 的串流日誌資料。

**Topics**
+ [設定 IAM 政策及角色](#kaw-ds2s3-tutorial-step1.1)
+ [建立 Amazon S3 儲存貯體](#kaw-ds2s3-tutorial-step1.2)
+ [建立 Kinesis Data Firehose 交付串流](#kaw-ds2s3-tutorial-step1.3)
+ [建立 Amazon EC2 執行個體以執行適用於視窗的 Kinesis 代理程式](#kaw-ds2s3-tutorial-step1.4)
+ [後續步驟](#kaw-ds2s3-tutorial-next)

## 設定 IAM 政策及角色
<a name="kaw-ds2s3-tutorial-step1.1"></a>

建立以下政策，授權 Windows 版 Kinesis Agent 將記錄串流至特定 Kinesis 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`，例如）。將 *`account-id`* 替換成將建立交付串流 AWS 帳戶的 12 位數帳戶 ID。

 在導覽列中，選擇**支援**，然後**Support 中心**。您目前登入的 12 位數帳戶號碼 (ID) 會顯示在**Support 中心**導覽窗格。

使用以下程序建立政策。將政策命名為 `log-delivery-stream-access-policy`。

**使用 JSON 政策編輯器建立政策**

1. 登入 AWS 管理主控台，然後前往 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

1. 在左側的導覽窗格中，選擇 **Policies (政策)**。

   如果這是您第一次選擇 **Policies (政策)**，將會顯示 **Welcome to Managed Policies (歡迎使用受管政策)** 頁面。選擇 **Get Started (開始使用)**。

1. 在頁面頂端，選擇 **Create policy (建立政策)**。

1. 請選擇 **JSON** 索引標籤。

1. 輸入 JSON 政策文件。如需 IAM 政策語言的詳細資料，請參閱[IAM JSON 政策參考](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)中的*IAM 使用者指南*。

1. 完成時，選擇 **Review policy** (檢閱政策)。[Policy Validator](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. 在 **Review policy (檢閱政策)** 頁面上，為您正在建立的政策輸入 **Name (名稱)** 與 **Description (描述)** (選用)。檢閱政策 **Summary (摘要)** 來查看您的政策所授予的許可。然後選擇 **Create policy** (建立政策) 來儲存您的工作。

![\[螢幕擷取畫面，示範如何針對 Kinesis Data Firehose 建立 IAM 政策。\]](http://docs.aws.amazon.com/zh_tw/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"
              ]
           }
       ]
   }
   ```

   將 *`bucket-name`* 替換成存放日誌的唯一儲存貯體名稱。Replace*`region`*，並使用將建立 CloudWatch Logs 群組和日誌串流的 AWS 區域。這些是用來記錄透過 Kinesis Data Firehose 將資料串流至 Amazon S3 期間所發生的任何錯誤。將 *`account-id`* 替換成將建立日誌群組及日誌串流帳戶的 12 位數帳戶 ID。  
![\[螢幕擷取畫面，示範如何建立 IAM 政策，允許 Amazon S3 存取 Amazon S3。\]](http://docs.aws.amazon.com/zh_tw/kinesis-agent-windows/latest/userguide/images/iam-create-s3-policy.png)

1. 在 IAM 主控台的導覽窗格中，選擇 **Roles** (角色)，然後選擇 **Create role** (建立角色)。

1. 選擇**AWS 服務**角色類型，然後選擇**Kinesis**服務。

1. 選擇**Kinesis Data Firehose**針對使用案例，然後選擇**下一頁: 許可。**

1. 在搜尋方塊中，輸入**firehose-s3-access-policy**、選擇政策，然後選擇**下一頁: 檢閱**。

1. 在 **Role name (角色名稱)** 方塊中，輸入 **firehose-s3-access-role**。

1. 選擇 **Create Role** (建立角色)。

**建立角色，以與將執行 Windows S3 執行個體的執行個體描述檔建立關聯**

1. 在 IAM 主控台的導覽窗格中，選擇 **Roles** (角色)，然後選擇 **Create role** (建立角色)。

1. 選擇**AWS 服務**角色類型，然後選擇**EC2**。

1. 選擇**下一頁: 許可。**

1. 在搜尋方塊中，輸入 **log-delivery-stream-access-policy**。

1. 選擇政策，然後選擇**下一頁: 檢閱**。

1. 在 **Role name (角色名稱)** 方塊中，輸入 **kinesis-agent-instance-role**。

1. 選擇 **Create Role** (建立角色)。

## 建立 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. 選擇 **Create bucket (建立儲存貯體)**。

1. 在 **Bucket name (儲存貯體名稱)** 方塊中，輸入您在[設定 IAM 政策及角色](#kaw-ds2s3-tutorial-step1.1)中所選擇的唯一 S3 儲存貯體名稱。

1. 選擇應建立儲存貯體的區域。這通常是和您意圖建立 Kinesis Data Firehose 交付串流和 Amazon S3 執行個體區域相同的區域。

1. 選擇 **Create** (建立)。

## 建立 Kinesis Data Firehose 交付串流
<a name="kaw-ds2s3-tutorial-step1.3"></a>

建立 Kinesis Data Firehose 交付串流，將串流記錄存放在 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. 針對 **Source (來源)**，選擇 **Direct PUT or other sources (直接 PUT 或其他來源)**。  
![\[螢幕擷取畫面，示範如何在建立 Kinesis Data Firehose 交付串流時指定來源。\]](http://docs.aws.amazon.com/zh_tw/kinesis-agent-windows/latest/userguide/images/fh-create-delivery-stream-1.png)

1. 選擇**下一步**。

1. 再次選擇 **Next (下一步)**。

1. 針對目標，選擇**Amazon S3**。

1. 針對 **S3 bucket (S3 儲存貯體)**，選擇您在[建立 Amazon S3 儲存貯體](#kaw-ds2s3-tutorial-step1.2)中建立的儲存貯體名稱。  
![\[螢幕擷取畫面，示範如何在建立 Kinesis Data Firehose 交付串流時指定目標。\]](http://docs.aws.amazon.com/zh_tw/kinesis-agent-windows/latest/userguide/images/fh-create-delivery-stream-2.png)

1. 選擇**下一步**。

1. 在 **Buffer interval (緩衝間隔)** 方塊中，輸入 **60**。

1. 在 **IAM role (IAM 角色)** 下方，選擇 **Create new or choose (建立新項目或選擇)**。

1. 針對 **IAM role (IAM 角色)**，選擇 `firehose-s3-access-role`。

1. 選擇 **Allow** (允許)。  
![\[螢幕擷取畫面，示範如何在建立 Kinesis Data Firehose 交付串流時設定選項和安全。\]](http://docs.aws.amazon.com/zh_tw/kinesis-agent-windows/latest/userguide/images/fh-create-delivery-stream-3.png)

1. 選擇**下一步**。

1. 選擇 **Create Delivery Stream (建立交付串流)**。

## 建立 Amazon EC2 執行個體以執行適用於視窗的 Kinesis 代理程式
<a name="kaw-ds2s3-tutorial-step1.4"></a>

建立 EC2 執行個體，使用 Windows 版本 Kinesis Agent，透過 Kinesis Data Firehose 串流日誌記錄。

**建立 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 role (IAM 角色)**，選擇 `kinesis-agent-instance-role`。
   + 如果您尚未擁有公用網際網路連線的虛擬私有雲端 (VPC)，請遵循[使用 Amazon EC2 進行設定](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/get-set-up-for-amazon-ec2.html)中的*Amazon EC2 執行個體使用者指南*。
   + 建立或使用安全群組，限制對執行個體的存取只能來自您的電腦，或是您組織的電腦。如需詳細資訊，請參閱「」[使用 Amazon EC2 進行設定](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/get-set-up-for-amazon-ec2.html)中的*Amazon EC2 執行個體使用者指南*。
   + 若您指定現有的金鑰對，請確認您有權存取金鑰對的私有金鑰。或者，建立新的金鑰對並將私有金鑰儲存在安全的位置。
   + 在繼續之前，請等待執行個體進入執行中狀態，並完成全部兩項運作狀態檢查。
   + 您的執行個體需要一個公有 IP 地址。如果尚未配置，請依照[彈性 IP 地址](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-ip-addresses-eip.html)中的*Amazon EC2 執行個體使用者指南*。

## 後續步驟
<a name="kaw-ds2s3-tutorial-next"></a>

[步驟 2：安裝、設定及執行適用於視窗的 Kinesis 代理程式](kaw-ds2s3-tutorial-step2.md)