

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

# 在 Amazon ECS Windows 容器上部署 Fluent Bit
<a name="tutorial-deploy-fluentbit-on-windows"></a>

Fluent Bit 是一種快速靈活的日誌處理器和路由器，支援各種作業系統。它可用來將日誌路由到各種 AWS 目的地，例如 Amazon CloudWatch Logs、Firehose Amazon S3 和 Amazon OpenSearch Service。Fluent Bit 支援常見的合作夥伴解決方案，例如 [Datadog](https://www.datadoghq.com/)、[Splunk](https://www.splunk.com/) 和自訂 HTTP 伺服器。如需有關 Fluent Bit 的詳細資訊，請參閱 [https://fluentbit.io/](https://fluentbit.io/) 網站。

**AWS for Fluent Bit** 映像在大多數區域的 Amazon ECR Public Gallery 和 Amazon ECR 儲存庫的 Amazon ECR 上可用以提供高可用性。如需詳細資訊，請參閱 GitHub 網站上的 [https://github.com/aws/aws-for-fluent-bit](https://github.com/aws/aws-for-fluent-bit)。

本教學課程會逐步引導您如何在 Amazon ECS 中執行的 Windows 執行個體上部署 Fluent Bit 容器，從而將 Windows 任務產生的日誌串流至 Amazon CloudWatch 進行集中式記錄。

本教學課程使用下列作法：
+ Fluent Bit 可作為具有常駐程式排程策略的服務執行。此策略可確保 Fluent Bit 的單一執行個體一律在叢集中的容器執行個體上執行。
  + 使用轉寄輸入外掛程式接聽連接埠 24224。
  + 向主機公開連接埠 24224，以便 Docker 執行時間可使用此公開連接埠將日誌傳送到 Fluent Bit。
  + 具有允許 Fluent Bit 將日誌記錄傳送到指定目的地的組態。
+ 使用 Fluentd 日誌記錄驅動程式啟動所有其他 Amazon ECS 任務容器。如需詳細資訊，請參閱 Docker 文件網站上的 [Fluentd logging driver](https://docs.docker.com/engine/logging/drivers/fluentd/) (Fluentd 日誌記錄驅動程式)。
  + Docker 連線到主機命名空間內 localhost 上的 TCP 通訊端 24224。
  + Amazon ECS 代理程式會將標籤新增至容器，其中包括叢集名稱、任務定義系列名稱、任務定義修訂版編號、任務 ARN 和容器名稱。使用 Fluentd Docker 日誌記錄驅動程式的標籤選項將相同的資訊新增到日誌記錄中。如需詳細資訊，請參閱 Docker 文件網站上的 [labels、labels-regex、env 和 env-regex](https://docs.docker.com/config/containers/logging/fluentd/#labels-labels-regex-env-and-env-regex)。
  + 由於 Fluentd 日誌記錄驅動程式的 `async` 選項設定為 `true`，當 Fluent Bit 容器重新啟動時，Docker 會緩衝日誌，直到 Fluent Bit 容器重新啟動為止。您可以透過設定 fluentd-buffer-limit 選項來增加緩衝限制。如需詳細資訊，請參閱 Docker 文件網站上的 [fluentd-buffer-limit](https://docs.docker.com/config/containers/logging/fluentd/#fluentd-buffer-limit)。

 工作流程如下所示：
+ Fluent Bit 容器會啟動並接聽公開至主機的連接埠 24224。
+ Fluent Bit 會使用任務定義中指定的任務 IAM 角色憑證。
+ 在同一個執行個體上啟動的其他任務，會使用 Fluentd Docker 日誌記錄驅動程式連線到連接埠 24224 上的 Fluent Bit 容器。
+ 當應用程式容器生成日誌時，Docker 執行時間會標記這些記錄，新增標籤中指定的其他中繼資料，然後在主機命名空間的連接埠 24224 上轉寄這些中繼資料。
+ Fluent Bit 會接收連接埠 24224 上的日誌記錄，因為其公開到主機命名空間。
+ Fluent Bit 會執行其內部處理，並依照指定的方式路由日誌。

本教學課程使用預設的 CloudWatch Fluent Bit 組態，可執行下列作業：
+ 為每個叢集和任務定義系列建立新的日誌群組。
+ 每當啟動新任務時，為上述產生的日誌群組中的每個任務容器建立新的日誌串流。每個串流將標記容器所屬的任務 ID。
+ 在每個日誌項目中新增其他中繼資料，包括叢集名稱、任務 ARN、任務容器名稱、任務定義系列以及任務定義修訂版編號。

  例如，如果您的 `task_1` 帶有 `container_1` 和 `container_2`，而 `ask_2` 帶有 `container_3`，則下列項目為 CloudWatch 日誌串流：
  + `/aws/ecs/windows.ecs_task_1`

    `task-out.{{TASK_ID}}.container_1`

    `task-out.{{TASK_ID}}.container_2`
  + `/aws/ecs/windows.ecs_task_2`

    `task-out.{{TASK_ID}}.container_3`

**注意**  
您可以使用雙堆疊服務端點，透過 IPv4 和 IPv6 AWS CLI從 、 SDKs 和 Amazon ECS API 與 Amazon ECS 互動。如需詳細資訊，請參閱[使用 Amazon ECS 雙堆疊端點](dual-stack-endpoint.md)。

**Topics**
+ [先決條件](#tutorial-deploy-fluentbit-on-windows-prereqs)
+ [步驟 1：建立 IAM 存取角色](#tutorial-deploy-fluentbit-on-windows-iam-access-role)
+ [步驟 2：建立 Amazon ECS Windows 容器執行個體](#tutorial-deploy-fluentbit-on-windows-instance)
+ [步驟 3：設定 Fluent Bit](#tutorial-deploy-fluentbit-on-windows-configure-fluentbit)
+ [步驟 4：註冊會將日誌路由到 CloudWatch 的 Windows Fluent Bit 任務定義](#tutorial-deploy-fluentbit-on-windows-register-task-definition)
+ [步驟 5：使用常駐程式排程策略以 Amazon ECS 服務形式執行 `ecs-windows-fluent-bit` 任務定義](#tutorial-deploy-fluentbit-on-windows-run-task)
+ [步驟 6：註冊會產生日誌的 Windows 任務定義](#tutorial-deploy-fluentbit-on-windows-register-task-def-logs)
+ [步驟 7：執行 `windows-app-task` 任務定義](#tutorial-deploy-fluentbit-on-windows-run-task-fluentbit)
+ [步驟 8：驗證 CloudWatch 上的日誌](#tutorial-deploy-fluentbit-on-windows-verify)
+ [步驟 9：清除](#tutorial-deploy-fluentbit-on-windows-cleanup)

## 先決條件
<a name="tutorial-deploy-fluentbit-on-windows-prereqs"></a>

本教學課程假設已完成下列先決條件：
+  AWS CLI 已安裝並設定最新版本的 。如需詳細資訊，請參閱 [Installing or updating to the latest version of the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。
+ `aws-for-fluent-bit` 容器映像可用於下列 Windows 作業系統：
  + Windows Server 2019 Core
  + Windows Server 2019 Full
  + Windows Server 2022 Core
  + Windows Server 2022 Full
+ 已完成「[設定以使用 Amazon ECS。](get-set-up-for-amazon-ecs.md)」中的步驟。
+ 您有一個叢集。在本教學課程中，叢集名稱是 **FluentBit-cluster**。
+ 您有一個帶有公共子網路的 VPC，EC2 執行個體將在其中啟動。您可以使用預設 VPC。您也可以使用允許 Amazon CloudWatch 端點連上子網路的私有子網路。如需有關 Amazon CloudWatch 端點的詳細資訊，請參閱《AWS 一般參考》**中的 [Amazon CloudWatch 端點和配額](https://docs.aws.amazon.com/general/latest/gr/cw_region.html)。如需使用 Amazon VPC 精靈建立 VPC 的相關資訊，請參閱[建立 Virtual Private Cloud](get-set-up-for-amazon-ecs.md#create-a-vpc)。

## 步驟 1：建立 IAM 存取角色
<a name="tutorial-deploy-fluentbit-on-windows-iam-access-role"></a>

建立 Amazon ECS IAM 角色。

1.  建立名為「ecsInstanceRole」的 Amazon ECS 容器執行個體角色。如需詳細資訊，請參閱 [Amazon ECS 容器執行個體 IAM 角色](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html)。

1. 為命名為 `fluentTaskRole` 的 Fluent Bit 任務建立 IAM 角色。如需詳細資訊，請參閱[Amazon ECS 任務 IAM 角色](task-iam-roles.md)。

    在此 IAM 角色中授予的 IAM 許可是由任務容器承繼。為了允許 Fluent Bit 傳送日誌到 CloudWatch，您需要將下列許可附加到任務 IAM 角色。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
       {
           "Effect": "Allow",
           "Action": [
               "logs:CreateLogStream",
               "logs:CreateLogGroup",
               "logs:DescribeLogStreams",
               "logs:PutLogEvents"
           ],
           "Resource": "*"
       }
       ]
   }
   ```

------

1. 將政策連接到角色。

   1. 將上述內容儲存在名為 `fluent-bit-policy.json` 的檔案中。

   1. 執行下列命令，將內嵌政策附加到 `fluentTaskRole` IAM 角色。

      ```
      aws iam put-role-policy --role-name fluentTaskRole --policy-name fluentTaskPolicy --policy-document file://fluent-bit-policy.json
      ```

## 步驟 2：建立 Amazon ECS Windows 容器執行個體
<a name="tutorial-deploy-fluentbit-on-windows-instance"></a>

建立 Amazon ECS Windows 容器執行個體。

**建立 Amazon ECS 執行個體**

1. 使用 `aws ssm get-parameters` 命令擷取託管 VPC 的區域 AMI ID。如需詳細資訊，請參閱[擷取 Amazon ECS 最佳化 AMI 中繼資料](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/retrieve-ecs-optimized_windows_AMI.html)。

1. 使用 Amazon EC2 主控台來啟動執行個體。

   1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

   1. 從導覽列中選取要使用的「區域」。

   1. 在 **EC2 儀表板**中，選擇 **Launch instance** (啟動執行個體)。

   1. 在 **Name (名稱)** 輸入唯一的名稱。

   1. 在 **Application and OS Images (Amazon Machine Image)** (應用程式和作業系統映像 (Amazon Machine Image)) 欄位中，選擇您在步驟 1 中擷取的 AMI。

   1. 對於 **Instance type (執行個體類型)**，選擇 `t3.xlarge`。

   1. 在 **Key pair (login)** (金鑰對 (登入)) 欄位中，選擇一個金鑰對。

   1. 在 **Network settings** (網路設定) 下的 **Security group** (安全群組) 欄位中，選擇一個現有的安全群組，或建立一個新的安全群組。

   1. 在 **Network settings** (網路設定) 下的 **Auto-assign Public IP** (自動指派公有 IP) 欄位中，選取 **Enable** (啟用)。

   1. 在 **Advanced details** (進階詳細資料) 下的 **IAM instance profile** (IAM 執行個體設定檔) 欄位中，選擇 **ecsInstanceRole**。

   1. 利用下列使用者資料設定您的 Amazon ECS 容器執行個體。在 **Advanced details** (進階詳細資料) 下的 **User data** (使用者資料) 欄位中，貼入下列指令碼，以您的叢集名稱取代 {{cluster\_name}}。

      ```
      <powershell>
      Import-Module ECSTools
      Initialize-ECSAgent -Cluster {{cluster-name}} -EnableTaskENI -EnableTaskIAMRole -LoggingDrivers '["awslogs","fluentd"]'
      </powershell>
      ```

   1. 準備就緒後，請選取 acknowledgment (確認) 欄位，再選擇 **Launch Instances** (啟動執行個體)。

   1. 會有確認頁面讓您知道您的執行個體正在啟動。選擇 **View Instances** (檢視執行個體) 關閉確認頁面並返回主控台。

## 步驟 3：設定 Fluent Bit
<a name="tutorial-deploy-fluentbit-on-windows-configure-fluentbit"></a>

您可以使用 提供的下列預設組態 AWS 來快速開始使用：
+ [Amazon CloudWatch](https://github.com/aws/aws-for-fluent-bit/blob/mainline/ecs_windows_forward_daemon/cloudwatch.conf)，即基於《Fluent Bit 官方手冊》**中 [Amazon CloudWatch](https://docs.fluentbit.io/manual/v/1.9-pre/pipeline/outputs/cloudwatch) 的 Fluent Bit 外掛程式。

或者，您可以使用 提供的其他預設組態 AWS。如需詳細資訊，請參閱 Github 網站上有關 `aws-for-fluent-bit` 的 [Overriding the entrypoint for the Windows image](https://github.com/aws/aws-for-fluent-bit/tree/mainline/ecs_windows_forward_daemon#overriding-the-entrypoint-for-the-windows-image) (覆寫 Windows 映像的進入點)。

預設的 Amazon CloudWatch Fluent Bit 組態如下所示。

取代下列變數：
+ 將 {{region}} 取代為您要將 Amazon CloudWatch Logs 傳送到的區域。

```
[SERVICE]
    Flush               5
    Log_Level           info
    Daemon              off

[INPUT]
    Name                forward
    Listen              0.0.0.0
    Port                24224
    Buffer_Chunk_Size   1M
    Buffer_Max_Size     6M
    Tag_Prefix          ecs.

# Amazon ECS agent adds the following log keys as labels to the docker container.
# We would use fluentd logging driver to add these to log record while sending it to Fluent Bit.
[FILTER]
    Name                modify
    Match               ecs.*
    Rename              com.amazonaws.ecs.cluster ecs_cluster
    Rename              com.amazonaws.ecs.container-name ecs_container_name
    Rename              com.amazonaws.ecs.task-arn ecs_task_arn
    Rename              com.amazonaws.ecs.task-definition-family ecs_task_definition_family
    Rename              com.amazonaws.ecs.task-definition-version ecs_task_definition_version

[FILTER]
    Name                rewrite_tag
    Match               ecs.*
    Rule                $ecs_task_arn ^([a-z-:0-9]+)/([a-zA-Z0-9-_]+)/([a-z0-9]+)$  out.$3.$ecs_container_name false
    Emitter_Name        re_emitted

[OUTPUT]
    Name                cloudwatch_logs
    Match               out.*
    region              {{region}}
    log_group_name      fallback-group
    log_group_template  /aws/ecs/$ecs_cluster.$ecs_task_definition_family
    log_stream_prefix   task-
    auto_create_group   On
```

每個進入 Fluent Bit 的日誌都有一個您指定的標籤，或者在您不提供標籤時自動生成。這些標籤可用來將不同的日誌路由到不同的目的地。如需詳細資訊，請參閱《Fluent Bit 官方手冊》**中的[標籤](https://docs.fluentbit.io/manual/concepts/key-concepts#tag)。

上述 Fluent Bit 組態具有下列屬性：
+ 轉寄輸入外掛程式會接聽 TCP 連接埠 24224 上的傳入流量。
+ 在該連接埠上收到的每個日誌項目都有一個標籤，轉寄輸入外掛程式會修改該標籤，以在記錄前面加上 `ecs.` 字串。
+ Fluent Bit 內部管道會路由日誌項目，以使用符合規則運算式修改篩選條件。此篩選條件將日誌記錄 JSON 中的金鑰替換為 Fluent Bit 可以使用的格式。
+ 然後，rewrite\_tag 篩選條件會使用修改後的日誌項目。此篩選條件會將日誌記錄的標籤變更為格式輸出 {{TASK\_ID}}.{{CONTAINER\_NAME}}。
+ 新標籤將路由至輸出 cloudwatch\_logs 外掛程式，該外掛程式會使用 CloudWatch 輸出外掛程式的 `log_group_template` 和 `log_stream_prefix` 選項來建立前文所述的日誌群組和串流。如需其他資訊，請參閱《Fluent Bit 官方手冊》**中的[組態參數](https://docs.fluentbit.io/manual/v/1.9-pre/pipeline/outputs/cloudwatch#configuration-parameters)。

## 步驟 4：註冊會將日誌路由到 CloudWatch 的 Windows Fluent Bit 任務定義
<a name="tutorial-deploy-fluentbit-on-windows-register-task-definition"></a>

註冊會將日誌路由到 CloudWatch 的 Windows Fluent Bit 任務定義。

**注意**  
此任務定義會將 Fluent Bit 容器連接埠 24224 公開至主機連接埠 24224。確認此連接埠未在 EC2 執行個體安全群組中開啟，防止從外部存取。

**註冊任務定義**

1. 使用下列內容建立名為 `fluent-bit.json` 的檔案。

   取代下列變數：
   + 將 {{task-iam-role}} 替代為任務 IAM 角色的 Amazon Resource Name (ARN)
   + 將 {{region}} 替代為任務執行所在的區域

   ```
   {
     "family": "ecs-windows-fluent-bit",
     "taskRoleArn": "{{task-iam-role}}",
     "containerDefinitions": [
       {
         "name": "fluent-bit",
         "image": "public.ecr.aws/aws-observability/aws-for-fluent-bit:windowsservercore-latest",
         "cpu": 512,
         "portMappings": [
           {
             "hostPort": 24224,
             "containerPort": 24224,
             "protocol": "tcp"
           }
         ],
         "entryPoint": [
           "Powershell",
           "-Command"
         ],
         "command": [
           "C:\\entrypoint.ps1 -ConfigFile C:\\ecs_windows_forward_daemon\\cloudwatch.conf"
         ],
         "environment": [
           {
             "name": "AWS_REGION",
             "value": "{{region}}"
           }
         ],
         "memory": 512,
         "essential": true,
         "logConfiguration": {
           "logDriver": "awslogs",
           "options": {
             "awslogs-group": "/ecs/fluent-bit-logs",
             "awslogs-region": "{{region}}",
             "awslogs-stream-prefix": "flb",
             "awslogs-create-group": "true"
           }
         }
       }
     ],
     "memory": "512",
     "cpu": "512"
   }
   ```

1. 執行下列命令來註冊任務定義。

   ```
   aws ecs register-task-definition --cli-input-json {{file://fluent-bit.json}} --region {{region}}
   ```

   您可以執行 `list-task-definitions` 命令列出您帳戶的任務定義。輸出顯示可與 `run-task` 或 `start-task` 搭配使用的系列和修訂版值。

## 步驟 5：使用常駐程式排程策略以 Amazon ECS 服務形式執行 `ecs-windows-fluent-bit` 任務定義
<a name="tutorial-deploy-fluentbit-on-windows-run-task"></a>

註冊帳戶的任務定義後，您就可以在叢集中執行任務。在本教學課程中，您會在 `FluentBit-cluster` 叢集中執行 `ecs-windows-fluent-bit:1` 任務定義的一個執行個體。在使用常駐程式排程策略的服務中執行任務，用以確保 Fluent Bit 的單一執行個體一律在每個容器執行個體上執行。

**執行任務**

1. 執行下列命令，以服務形式啟動 `ecs-windows-fluent-bit:1` 任務定義 (在上一個步驟中註冊)。
**注意**  
此任務定義使用 `awslogs` 日誌記錄驅動程式，您的容器執行個體需要具有必要的許可。

   取代下列變數：
   + 將 {{region}} 替代為服務執行所在的區域

   ```
   aws ecs create-service \
       --cluster FluentBit-cluster \
       --service-name FluentBitForwardDaemonService \
       --task-definition ecs-windows-fluent-bit:1 \
       --launch-type EC2 \
       --scheduling-strategy DAEMON \
       --region {{region}}
   ```

1. 執行下列命令以列出您的任務。

   取代下列變數：
   + 將 {{region}} 替代為服務任務執行所在的區域

   ```
   aws ecs list-tasks --cluster {{FluentBit-cluster}} --region {{region}}
   ```

## 步驟 6：註冊會產生日誌的 Windows 任務定義
<a name="tutorial-deploy-fluentbit-on-windows-register-task-def-logs"></a>

註冊會產生日誌的任務定義。此任務定義會部署 Windows 容器映像，該映像會每秒向 `stdout` 寫入一個遞增數字。

任務定義會使用連線到 Fluent Bit 外掛程式接聽連接埠 24224 的 Fluentd 日誌記錄驅動程式。Amazon ECS 代理程式會為每個 Amazon ECS 容器新增標籤，包括叢集名稱、任務 ARN、任務定義系列名稱、任務定義修訂版編號和任務容器名稱。這些鍵/值對標籤會傳遞至 Fluent Bit。

**注意**  
此任務會使用 `default` 網路模式。不過，您也可以在任務中使用 `awsvpc` 網路模式。

**註冊任務定義**

1. 使用下列內容建立名為 `windows-app-task.json` 的檔案。

   ```
   {
     "family": "windows-app-task",
     "containerDefinitions": [
       {
         "name": "sample-container",
         "image": "mcr.microsoft.com/windows/servercore:ltsc2019",
         "cpu": 512,
         "memory": 512,
         "essential": true,
         "entryPoint": [
           "Powershell",
           "-Command"
         ],
         "command": [
           "$count=1;while(1) { Write-Host $count; sleep 1; $count=$count+1;}"
         ],
         "logConfiguration": {
           "logDriver": "fluentd",
           "options": {
             "fluentd-address": "localhost:24224",
             "tag": "{{ index .ContainerLabels \"com.amazonaws.ecs.task-definition-family\" }}",
             "fluentd-async": "true",
             "labels": "com.amazonaws.ecs.cluster,com.amazonaws.ecs.container-name,com.amazonaws.ecs.task-arn,com.amazonaws.ecs.task-definition-family,com.amazonaws.ecs.task-definition-version"
           }
         }
       }
     ],
     "memory": "512",
     "cpu": "512"
   }
   ```

1. 執行下列命令來註冊任務定義。

   取代下列變數：
   + 將 {{region}} 替代為任務執行所在的區域

   ```
   aws ecs register-task-definition --cli-input-json {{file://windows-app-task.json}} --region {{region}}
   ```

   您可以執行 `list-task-definitions` 命令列出您帳戶的任務定義。輸出顯示可與 `run-task` 或 `start-task` 搭配使用的系列和修訂版值。

## 步驟 7：執行 `windows-app-task` 任務定義
<a name="tutorial-deploy-fluentbit-on-windows-run-task-fluentbit"></a>

註冊 `windows-app-task` 任務定義之後，請在 `FluentBit-cluster` 叢集中執行該定義。

**執行任務**

1. 執行您在上一個步驟中註冊的 `windows-app-task:1` 任務定義。

   取代下列變數：
   + 將 {{region}} 替代為任務執行所在的區域

   ```
   aws ecs run-task --cluster FluentBit-cluster --task-definition windows-app-task:1 --count 2 --region {{region}}
   ```

1. 執行下列命令以列出您的任務。

   ```
   aws ecs list-tasks --cluster {{FluentBit-cluster}}
   ```

## 步驟 8：驗證 CloudWatch 上的日誌
<a name="tutorial-deploy-fluentbit-on-windows-verify"></a>

為了驗證您的 Fluent Bit 設定，請在 CloudWatch 主控台中檢查下列日誌群組：
+ `/ecs/fluent-bit-logs` – 這是日誌群組，對應在容器執行個體上執行的 Fluent Bit 常駐程式容器。
+ `/aws/ecs/FluentBit-cluster.windows-app-task` - 這是日誌群組，對應在 `FluentBit-cluster` 叢集內為 `windows-app-task` 任務定義系列啟動的所有任務。

   `task-out.{{FIRST_TASK_ID}}.sample-container` – 此日誌串流包含 sample-container 任務容器中由任務的第一個執行個體產生的所有日誌。

  `task-out.{{SECOND_TASK_ID}}.sample-container` – 此日誌串流包含 sample-container 任務容器中由任務的第二個執行個體產生的所有日誌。

 `task-out.{{TASK_ID}}.sample-container` 日誌串流的欄位與下列類似：

```
{
    "source": "stdout",
    "ecs_task_arn": "arn:aws:ecs:{{region}}:0123456789012:task/FluentBit-cluster/13EXAMPLE",
    "container_name": "/ecs-windows-app-task-1-sample-container-cEXAMPLE",
    "ecs_cluster": "FluentBit-cluster",
    "ecs_container_name": "sample-container",
    "ecs_task_definition_version": "1",
    "container_id": "61f5e6EXAMPLE",
    "log": "10",
    "ecs_task_definition_family": "windows-app-task"
}
```

**驗證 Fluent Bit 設定**

1. 透過 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 CloudWatch 主控台。

1. 在導覽窗格中，選擇 **Log groups** (日誌群組)。請確定您位於將 Fluent Bit 部署到容器的區域。

   在 中的日誌群組清單中 AWS 區域，您應該會看到以下內容：
   + `/ecs/fluent-bit-logs`
   + `/aws/ecs/FluentBit-cluster.windows-app-task`

   如果您看到這些日誌群組，表示 Fluent Bit 設定已通過驗證。

## 步驟 9：清除
<a name="tutorial-deploy-fluentbit-on-windows-cleanup"></a>

完成此教學課程時，清除與其相關的資源，以免未使用的資源產生費用。

**清除教學課程資源**

1. 停止 `windows-simple-task` 任務和 `ecs-fluent-bit` 任務。如需詳細資訊，請參閱[停止 Amazon ECS 任務](standalone-task-stop.md)。

1. 執行下列命令來刪除 `/ecs/fluent-bit-logs` 日誌群組。如需有關刪除日誌群組的詳細資訊，請參閱《AWS Command Line Interface 參考》**中的 [delete-log-group](https://docs.aws.amazon.com/cli/latest/reference/logs/delete-log-group.html)。

   ```
   aws logs delete-log-group --log-group-name /ecs/fluent-bit-logs
   aws logs delete-log-group --log-group-name /aws/ecs/FluentBit-cluster.windows-app-task
   ```

1. 執行下列命令以終止執行個體。

   ```
   aws ec2 terminate-instances --instance-ids {{instance-id}}
   ```

1. 執行下列命令以刪除 IAM 角色。

   ```
   aws iam delete-role --role-name ecsInstanceRole
   aws iam delete-role --role-name fluentTaskRole
   ```

1. 執行下列命令以刪除 Amazon ECS 叢集。

   ```
   aws ecs delete-cluster --cluster {{FluentBit-cluster}}
   ```