要获取AWS Transit Gateway附件的流日志,可以按照以下步骤操作:
创建流日志角色: 首先,创建一个IAM角色并为其附加适当的策略。这些策略必须具有对VPC流日志和CloudWatch Logs的访问权限。以下是一个示例角色策略,您可以根据需要进行调整:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:us-west-2:123456789012:*"
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateFlowLogs",
"ec2:DescribeFlowLogs"
],
"Resource": "*"
}
]
}
创建VPC流日志:
使用以下代码示例创建VPC流日志。请确保将
替换为目标VPC的ID,并使用上一步中创建的IAM角色的ARN替换
。
import boto3
client = boto3.client('ec2')
response = client.create_flow_logs(
ResourceIds=[
'',
],
ResourceType='VPC',
TrafficType='ALL',
LogDestinationType='cloud-watch-logs',
LogDestination='arn:aws:logs:us-west-2:123456789012:log-group:/aws/ec2/transit-gateway/flow-logs',
LogFormat='JSON',
MaxAggregationInterval=60,
DeliverLogsPermissionArn=''
)
print(response)
上面的示例将流日志发送到CloudWatch Logs中的一个日志组。
检查流日志状态:
使用以下代码示例检查流日志的状态。请确保将
替换为上一步中创建的流日志的ID。
response = client.describe_flow_logs(
FlowLogIds=[
'',
]
)
print(response)
如果流日志状态为"ACTIVE",则表示流日志已成功创建。
请注意,上述示例代码是使用Python的boto3库编写的,您需要在本地安装boto3并配置正确的AWS凭证。代码中的区域(例如'us-west-2')和账户ID(例如'123456789012')也需要根据您的实际情况进行调整。