View a markdown version of this page

Amazon ECS 動作日誌入門 - Amazon Elastic Container Service

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

Amazon ECS 動作日誌入門

Amazon ECS 動作日誌使用 Amazon CloudWatch Logs 提供的日誌交付機制,將服務動作的詳細記錄發佈至您偏好的目的地。當您啟用動作日誌時,您可以看到 Amazon ECS 在部署和協助程式操作期間採取的每個步驟,包括基礎設施佈建、資源註冊和失敗詳細資訊。此可見性可協助您在未聯絡 AWS Support 的情況下對問題進行故障診斷,並減少識別根本原因的時間。您可以使用 Amazon ECS 主控台或 CloudWatch Logs APIs 為您的叢集啟用動作日誌。

先決條件

啟用動作日誌之前,請確認您的 IAM 身分具有必要的許可。

所需的 IAM 許可

您的 IAM 身分必須具有下列許可,才能啟用和管理動作日誌:

{ "Effect": "Allow", "Action": [ "logs:PutDeliverySource", "logs:PutDeliveryDestination", "logs:CreateDelivery", "logs:GetDelivery", "ecs:AllowVendedLogDeliveryForResource" ], "Resource": "*" }

目的地資源政策

目的地 CloudWatch Logs 日誌群組必須具有允許delivery.logs.amazonaws.com服務寫入日誌的資源政策。將下列陳述式新增至日誌群組資源政策:

{ "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:region:account-id:log-group:log-group-name:log-stream:*" }

使用 Amazon ECS 主控台啟用動作日誌

您可以直接從 Amazon ECS 主控台的叢集詳細資訊頁面啟用動作日誌。

使用主控台啟用動作日誌
  1. 開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2

  2. 在導覽窗格中,選擇叢集,然後選取叢集。

  3. 選擇 Configuration (組態) 索引標籤。

  4. 動作日誌區段中,選擇新增

  5. 針對 Destination (目標),選擇下列其中一個項目:

    • CloudWatch Logs (預設)

    • Amazon S3

    • Amazon Data Firehose

    對於 CloudWatch Logs,Amazon ECS 會建立名為 的預設日誌群組,/aws/vendedlogs/ecs/action-logs/cluster-name其中包含 7 天的保留期。

  6. 選擇儲存

使用 CloudWatch Logs APIs啟用動作日誌

您可以使用 CloudWatch Logs 提供的日誌交付 APIs,以程式設計方式啟用動作日誌。此方法需要三個步驟:註冊交付來源、設定目的地,以及建立交付。

使用 CLI AWS 啟用動作日誌
  1. 執行下列命令來註冊交付來源:

    aws logs put-delivery-source \ --name my-ecs-action-logs \ --resource-arn arn:aws:ecs:region:account-id:cluster/cluster-name \ --log-type EcsActionLogs
  2. 執行下列命令來設定交付目的地:

    aws logs put-delivery-destination \ --name my-ecs-logs-destination \ --output-format json \ --delivery-destination-configuration '{"destinationResourceArn": "arn:aws:logs:region:account-id:log-group:/aws/vendedlogs/ecs/action-logs/cluster-name"}'
  3. 執行下列命令來建立交付,以將來源連結至目的地:

    aws logs create-delivery \ --delivery-source-name my-ecs-action-logs \ --delivery-destination-arn arn:aws:logs:region:account-id:delivery-destination:my-ecs-logs-destination

驗證日誌交付

啟用動作日誌後,請確認日誌已交付至目的地。

驗證日誌交付
  1. 在您的叢集中觸發動作。例如,建立或更新協助程式服務。

  2. 透過 https://console.aws.amazon.com/cloudwatch/ 開啟 CloudWatch 主控台。

  3. 在導覽窗格中,選擇 Log groups (日誌群組)。

  4. 選取您的動作日誌日誌群組,並確認新的日誌串流是否出現。

刪除動作日誌

您可以使用 CLI AWS 或 Amazon ECS 主控台刪除動作日誌。

若要刪除動作日誌,您的 IAM 身分必須具有下列額外許可:

{ "Effect": "Allow", "Action": [ "logs:DeleteDelivery", "logs:DeleteDeliverySource", "logs:DeleteDeliveryDestination" ], "Resource": "*" }
使用 CLI AWS 刪除動作日誌
  1. 執行下列命令來刪除交付:

    aws logs delete-delivery \ --delivery-id delivery-id
  2. 執行下列命令來刪除交付來源:

    aws logs delete-delivery-source \ --name my-ecs-action-logs
  3. 執行下列命令來刪除交付目的地:

    aws logs delete-delivery-destination \ --name my-ecs-logs-destination

若要使用主控台刪除動作日誌,請導覽至叢集詳細資訊頁面,選擇組態索引標籤,然後在動作日誌區段中選擇刪除

後續步驟

啟用動作日誌之後,請使用下列資源來監控和疑難排解 Amazon ECS 叢集: