Amazon AWS Transfer Family 服务器 CloudWatch 登录 - AWS Transfer Family

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon AWS Transfer Family 服务器 CloudWatch 登录

Amazon CloudWatch 是一项强大的监控和可观察性服务,可让您全面了解您的 AWS 资源,包括 AWS Transfer Family。

  • 实时监控:实时 CloudWatch 监控 Transfer Family 资源和应用程序,允许您跟踪和分析其性能。

  • 指标收集: CloudWatch 收集和跟踪您的资源和应用程序的各种指标,这些指标是您可以衡量和用于分析的变量。

  • CloudWatch 主页:主页会自动显示有关您使用的 Transfer Family 和其他 AWS 服务的指标,从而提供您的监控数据的集中视图。 CloudWatch

  • 自定义仪表板:您可以在中创建自定义仪表板, CloudWatch 以显示特定于您的自定义应用程序和您选择监控的资源的指标。

  • 警报和通知: CloudWatch 允许您创建警报,以监控您的指标,并在突破特定阈值时触发通知或自动操作。这对于监控 Transfer Family 服务器中的文件传输活动并相应地扩展资源非常有用。

  • 成本优化:您可以使用收集的数据 CloudWatch 来识别未充分利用的资源,并采取措施(例如停止或删除实例)来优化成本。

总体而言,其中的全面监控功能 CloudWatch 使其成为管理和优化 Transfer Family 基础架构及其上运行的应用程序的宝贵工具。

有关 CloudWatch 登录 Transfer Family 网络应用程序的详细信息,请参阅CloudTrail 登录 Transfer Family 网络应用程序

Transfer Family 的 CloudWatch 登录类型

Transfer Family 提供了两种记录事件的方法 CloudWatch:

  • JSON 结构化日志记录

  • 通过日志记录角色进行登录

对于 Transfer Family 服务器,你可以选择自己喜欢的日志机制。对于连接器和工作流程,仅支持日志记录角色。

JSON 结构化记录

要记录服务器事件,我们建议使用 JSON 结构化日志记录。这提供了一种更全面的日志格式,可以进行 CloudWatch 日志查询。对于这种类型的日志记录,创建服务器(或编辑服务器的日志配置)的用户的 IAM 策略必须包含以下权限:

  • logs:CreateLogDelivery

  • logs:DeleteLogDelivery

  • logs:DescribeLogGroups

  • logs:DescribeResourcePolicies

  • logs:GetLogDelivery

  • logs:ListLogDeliveries

  • logs:PutResourcePolicy

  • logs:UpdateLogDelivery

以下是示例策略。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:GetLogDelivery", "logs:UpdateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups" ], "Resource": "*" } ] }

有关设置 JSON 结构化日志的详细信息,请参阅创建、更新和查看服务器的日志记录

日志角色

要记录连接到服务器的托管工作流程以及连接器的事件,您需要指定日志记录角色。要设置访问权限,您需要创建一个基于资源的 IAM 策略和一个提供该访问信息的 IAM 角色。以下是可以记录服务器事件 AWS 账户 的策略示例。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:CreateLogGroup", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/transfer/*" } ] }

有关配置日志记录角色以记录工作流程事件的详细信息,请参阅管理工作流程的日志记录

创建亚马逊 CloudWatch 警报

以下示例展示了如何使用 AWS Transfer Family 指标创建 Amazon CloudWatch 警报FilesIn

CDK
new cloudwatch.Metric({ namespace: "AWS/Transfer", metricName: "FilesIn", dimensionsMap: { ServerId: "s-00000000000000000" }, statistic: "Average", period: cdk.Duration.minutes(1), }).createAlarm(this, "AWS/Transfer FilesIn", { threshold: 1000, evaluationPeriods: 10, datapointsToAlarm: 5, comparisonOperator: cloudwatch.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD, });
AWS CloudFormation
Type: AWS::CloudWatch::Alarm Properties: Namespace: AWS/Transfer MetricName: FilesIn Dimensions: - Name: ServerId Value: s-00000000000000000 Statistic: Average Period: 60 Threshold: 1000 EvaluationPeriods: 10 DatapointsToAlarm: 5 ComparisonOperator: GreaterThanOrEqualToThreshold

将 Amazon S3 API 操作记录到 S3 访问日志中

注意

本节不适用于 Transfer Family 网络应用程序。

如果您使用 Amazon S3 访问日志识别代表文件传输用户提出的 S3 请求,则使用 RoleSessionName 显示被假定为提供文件传输提供服务的 IAM 角色。它还显示其他信息,例如用于传输的用户名、会话 ID 以及服务器 ID。格式为 [AWS:Role Unique Identifier]/username.sessionid@server-id,且包含在 “请求者” 字段中。例如,以下是来自 S3 访问日志的、用于复制到 S3 存储桶中的“请求者”字段示例内容。

arn:aws:sts::AWS-Account-ID:assumed-role/IamRoleName/username.sessionid@server-id

在上述中“请求者”字段中,它显示了名为 IamRoleName 的 IAM 角色。有关唯一标识符的更多信息,请参阅 AWS Identity and Access Management 用户指南中的 IAM 标识符

AWS 用户通知服务 与一起使用 AWS Transfer Family

要获得有关 AWS Transfer Family 事件的通知,您可以使用AWS 用户通知服务设置各种交付渠道。当事件与您指定的规则匹配时,您会收到通知。

您可以通过多个渠道接收事件通知,包括电子邮件、聊天应用程序中的 Amazon Q 开发者版聊天通知或 AWS Console Mobile Application 推送通知。您还可以在控制台通知中心查看通知。 用户通知服务 支持聚合,这可以减少您在特定事件期间收到的通知数量。

有关更多信息,请参阅使用 AWS Transfer Family 托管工作流程自定义文件传送通知博客文章和什么是 AWS 用户通知服务? 在《AWS 用户通知服务 用户指南》中。