AWS CloudShell 中的日志记录和监控 - AWS CloudShell

AWS CloudShell 中的日志记录和监控

本主题介绍如何使用 CloudTrail 记录和监控 AWS CloudShell 活动和性能。

使用 CloudTrail 监控活动

AWS CloudShell 与 AWS CloudTrail 集成,后者是在 AWS CloudShell 中记录用户、角色或 AWS 服务 服务所执行操作的服务。CloudTrail 将 AWS CloudShell 的所有 API 调用作为事件捕获。捕获的调用包含来自 AWS CloudShell 控制台的调用和对 AWS CloudShell API 的代码调用。

如果您创建跟踪记录,则可以使 CloudTrail 事件持续传送到 Amazon Simple Storage Service (Amazon S3) 存储桶。这包括 AWS CloudShell 的事件。

如果您不配置跟踪,则仍可在 CloudTrail 控制台中的 事件历史记录 中查看最新事件。通过使用 CloudTrail 收集的信息,您可以发现有关请求的各种信息。例如,您可以确定向 AWS CloudShell 发出的请求,以及发出请求的 IP 地址、用户和时间等。

CloudTrail 中的 AWS CloudShell

下表列出了保存在 CloudTrail 日志文件中的 AWS CloudShell 事件。

注意

AWS CloudShell 事件包括:

  • * 表示它是一个非变易(只读)API 调用。

  • 单词 Environment 与托管 Shell 体验的计算环境的生命周期有关。

  • 使用单词 Layout 会还原 CloudShell 终端中的所有浏览器标签页。

CloudTrail 中的 CloudShell 事件
事件名称 描述
createEnvironment 在创建 CloudShell 环境时发生。
createSession 当从 AWS Management Console连接 CloudShell 环境时发生。
deleteEnvironment 当删除 CloudShell 环境时发生。
deleteSession 当删除在当前浏览器标签页中运行的 CloudShell 选项卡中的会话时发生。
getEnvironmentStatus*

检索 CloudShell 环境的状态时发生。

getFileDownloadUrls* 生成预签名 Amazon S3 URL 时会发生此事件,这些 URL 可用于使用 CloudShell Web 界面通过 CloudShell 下载文件。
getFileUploadUrls* 生成预签名 Amazon S3 URL 时会发生此事件,这些 URL 可用于使用 CloudShell Web 界面通过 CloudShell 上传文件。
cloudshell:DescribeEnvironments 描述环境。
getLayout* 在会话开始时检索 CloudShell 布局时发生。
putCredentials

在将用于登录 AWS Management Console的凭证转发到 CloudShell 时发生。

redeemCode*

在可在 CloudShell 环境中检索刷新令牌的工作流开始时发生。您稍后可以在 putCredentials 命令中使用此令牌来访问 CloudShell 环境。

sendHeartBeat 发生此事件即可确认 CloudShell 会话处于活动状态。
startEnvironment 在 CloudShell 环境启动时发生。
stopEnvironment

在正在运行的 CloudShell 环境停止时发生。

updateLayout 保存后端 Web 应用程序的当前布局时发生。

包含 “布局”一词的事件会还原 CloudShell 终端中的所有浏览器标签页。

EventBridge AWS CloudShell 操作规则

使用 EventBridge 规则,您可以指定当 EventBridge 收到与规则匹配的事件时要采取的目标操作。您可以定义一条规则,根据在 CloudTrail 日志文件中记录为事件的 AWS CloudShell 操作来指定要采取的目标操作。

例如,您可以使用 put-rule 命令通过 AWS CLI 创建 EventBridge 规则。一个 put-rule 调用必须至少包含一个 EventPattern 或 ScheduleExpression。当观察到匹配事件时,将触发带 EventPatterns 的规则。AWS CloudShell 事件的 EventPattern:

{ "source": [ "aws.cloudshell" ], "detail-type": [ "AWS API Call via CloudTrail" ], "detail": { "eventSource": [ "cloudshell.amazonaws.com" ] } }

有关更多信息,请参阅 Amazon EventBridge 用户指南中的 EventBridge 中的事件和事件模式