本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为会话脚本日志启用 Amazon S3 存储桶存储
当您在会话脚本配置中启用 Amazon S3 日志记录时, AppStream 2.0 会捕获会话脚本的标准输出。输出会定期上传到您的 Amazon Web Services 账户中的 S3 存储桶。对于每个 AWS 区域, AppStream 2.0 都会在您的账户中创建一个存储桶,该存储桶对您的账户和该地区来说都是独一无二的。
您无需执行任何配置任务即可管理这些 S3 存储桶。它们完全由 AppStream 2.0 服务管理。存储在每个存储桶中的日志文件在传输过程中使用 Amazon S3 的SSL终端节点进行加密,而静态文件则使用 Amazon S3 托管的加密密钥进行加密。存储桶以特定格式命名,如下所述:
appstream-logs-region-code
-account-id-without-hyphens
-random-identifier
region-code
-
这是在为会话脚本日志启用 Amazon S3 存储桶存储的情况下创建堆栈的 AWS 区域代码。
account-id-without-hyphens
-
您的 Amazon Web Services 账户标识符。随机 ID 确保与该区域中的其他存储桶不发生冲突。存储桶名称的第一部分
appstream-logs
不随账户或区域而改变。
例如,如果您在美国西部(俄勒冈)区域 (us-west-2) 的图片中指定会话脚本,账号为 123456789012,则 2.0 将在该地区的账户中创建一个 Amazon S3 存储桶 AppStream ,名称显示为该区域。只有具有足够权限的管理员才能删除此存储桶。
appstream-logs-us-west-2-1234567890123-abcdefg
禁用会话脚本不会删除存储在 S3 存储桶中的任何日志文件。要永久删除日志文件,您或其他具有足够权限的管理员必须使用 Amazon S3 控制台或API。 AppStream 2.0 添加了防止意外删除存储桶的存储桶策略。有关更多信息,请参阅中的IAM策略和应用程序设置的 Amazon S3 存储桶持久性适用于亚马逊 AppStream 2.0 的身份和访问管理。
启用会话脚本后,将为启动的每个流式传输会话创建一个唯一文件夹。
存储在您账户的 S3 存储桶中的日志文件所在的文件夹路径使用以下结构:
bucket-name
/stack-name
/fleet-name
/access-mode
/user-id-SHA-256-hash
/session-id
/SessionScriptsLogs/session-event
bucket-name
-
存储会话脚本的 S3 存储桶的名称。该名称格式如本节中前面所述。
stack-name
-
会话来自的堆栈的名称。
fleet-name
-
运行会话脚本的实例集的名称。
access-mode
-
用户的身份方法:用
custom
于 AppStream 2.0 API 或CLI、federated
用户池中的用户和userpool
用户。SAML user-id-SHA-256-hash
-
用户特定的文件夹名称。此名称是使用从用户标识符生成的小写的 SHA -256 哈希十六进制字符串创建的。
session-id
-
用户的流式传输会话的标识符。每个用户流式传输会话均生成一个唯一 ID。
session-event
-
生成会话脚本日志的事件。事件值为:
SessionStart
和SessionTermination
。
以下示例文件夹结构适用于从 test-stack 和 test-fleet 启动的流式传输会话。该会话使用 o API f 用户 ID testuser@mydomain.com
、来自 AWS 账户 ID 的123456789012
用户 ID 和美国西部(俄勒冈)区域 (us-west-2) test-stack
中的设置组:
appstream-logs-us-west-2-1234567890123-abcdefg/test-stack/test-fleet/custom/a0bcb1da11f480d9b5b3e90f91243143eac04cfccfbdc777e740fab628a1cd13/05yd1391-4805-3da6-f498-76f5x6746016/SessionScriptsLogs/SessionStart/
此示例文件夹结构包含一个用于用户上下文会话启动脚本的日志文件,以及一个用于系统上下文会话启动脚本的日志文件(如果适用)。