AWS::EC2::FlowLog - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::EC2::FlowLog

指定 Amazon Elastic Compute Cloud (Amazon EC2) 流日志来捕获指定网络接口、子网或 VPC 的 IP 流量。要查看日志数据,请使用 Amazon CloudWatch Logs (CloudWatch Logs) 来帮助解决连接问题。例如,您可以使用流日志来调查为什么特定流量没有达到某个实例,这可以帮助您诊断过于严格的安全组规则。有关更多信息,请参阅 Amazon VPC 用户指南 中的 VPC 流日志

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::EC2::FlowLog", "Properties" : { "DeliverLogsPermissionArn" : String, "LogDestination" : String, "LogDestinationType" : String, "LogGroupName" : String, "ResourceId" : String, "ResourceType" : String, "TrafficType" : String } }

YAML

Type: AWS::EC2::FlowLog Properties: DeliverLogsPermissionArn: String LogDestination: String LogDestinationType: String LogGroupName: String ResourceId: String ResourceType: String TrafficType: String

属性

DeliverLogsPermissionArn

IAM 角色的 ARN,该角色允许 Amazon EC2 将流日志发布到您账户中的 CloudWatch Logs 日志组。

如果将 LogDestinationType 指定为 s3,请不要指定 DeliverLogsPermissionArnLogGroupName

必需:否

类型:字符串

Update requires: Replacement

LogDestination

指定要将流日志数据发布到的目标。可将流日志数据发布到 CloudWatch Logs 日志组或 Amazon S3 存储桶。为该参数指定的值取决于为 LogDestinationType 指定的值。

如果未指定 LogDestinationType 或指定为 cloud-watch-logs,请指定 CloudWatch Logs 日志组的 Amazon 资源名称 (ARN)。例如,要发布到名为 my-logs 的日志组,请指定 arn:aws:logs:us-east-1:123456789012:log-group:my-logs。或者,改用 LogGroupName

如果 LogDestinationType 为 s3,请指定 Amazon S3 存储桶的 ARN。您还可以指定存储桶中的子文件夹。要指定存储桶中的子文件夹,请使用以下 ARN 格式:bucket_ARN/subfolder_name/。例如,要指定名为 my-logs 的存储桶中名为 my-bucket 的子文件夹,请使用以下 ARN:arn:aws:s3:::my-bucket/my-logs/。不能将 AWSLogs 用作子文件夹名称。这是预留期限。

必需:否

类型:字符串

Update requires: Replacement

LogDestinationType

指定要将流日志数据发布到的目标的类型。可将流日志数据发布到 CloudWatch Logs 或 Amazon S3。要将流日志数据发布到 CloudWatch Logs,请指定 cloud-watch-logs。要将流日志数据发布到 Amazon S3,请指定 s3

如果将 LogDestinationType 指定为 s3,请不要指定 DeliverLogsPermissionArnLogGroupName

默认值:cloud-watch-logs

必需:否

类型:字符串

允许的值cloud-watch-logs | s3

Update requires: Replacement

LogGroupName

Amazon EC2 在其中发布流日志的新的或现有的 CloudWatch Logs 日志组的名称。

如果将 LogDestinationType 指定为 s3,请不要指定 DeliverLogsPermissionArnLogGroupName

必需:否

类型:字符串

Update requires: Replacement

ResourceId

您为其创建流日志的子网、网络接口或 VPC 的 ID。

必需:是

类型:字符串

Update requires: Replacement

ResourceType

要为其创建流日志的资源的类型。例如,如果您为 ResourceId 属性指定 VPC ID,则为此属性指定 VPC

必需:是

类型:字符串

允许的值NetworkInterface | Subnet | VPC

Update requires: Replacement

TrafficType

要记录的流量的类型。您可以记录资源接受或拒绝的流量,或者记录所有流量。

必需:是

类型:字符串

允许的值ACCEPT | ALL | REJECT

Update requires: Replacement

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回流日志 ID,例如 fl-1a23b456

For more information about using the Ref function, see Ref.

Fn::GetAtt

Id

Not currently supported by AWS CloudFormation.

示例

创建用于监控所有流量类型的流日志

以下示例为名为 MyVPC 的 VPC 创建流日志并记录所有流量类型。Amazon EC2 将日志发布到 FlowLogsGroup 日志组。

JSON

"MyFlowLog" : { "Type" : "AWS::EC2::FlowLog", "Properties" : { "DeliverLogsPermissionArn" : { "Fn::GetAtt" : ["FlowLogRole", "Arn"] }, "LogGroupName" : "FlowLogsGroup", "ResourceId" : { "Ref" : "MyVPC" }, "ResourceType" : "VPC", "TrafficType" : "ALL" } }

YAML

MyFlowLog: Type: AWS::EC2::FlowLog Properties: DeliverLogsPermissionArn: !GetAtt FlowLogRole.Arn LogGroupName: FlowLogsGroup ResourceId: !Ref MyVPC ResourceType: VPC TrafficType: ALL