我正在尝试使用 AWS Glue 运行一个 ETL 作业,该作业将数据从 Redshift 提取到 S3。
-
当我运行爬虫时,它成功连接到 Redshift 并获取架构信息。相关日志在日志组 aws-glue/crawlers 下创建。
-
当我运行 ETL 作业时,它应该在日志组 aws-glue/jobs/output 和 aws-glue/jobs/error 下创建一个日志流,但它无法创建这样的日志流,最终作业也失败了。
(我正在使用 AWS 托管的 AWSGlueServiceRole 策略进行粘附服务(
由于它不生成任何日志,因此很难确定 ETL 作业失败的原因。如果您能帮助我解决此问题,我将不胜感激。
大多数情况下,这与你的AWS服务没有正确的权限有关(是的,即使只是写入日志!
将这样的东西添加到 Glue 角色可能会解决问题:
{ "版本": "2012-10-17", "声明":[ { "效果": "允许", "操作":[ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "资源": "arn:aws:logs:::*" } ] }
我会通过以下说明确保您的终端节点和 VPC 设置正确:
http://docs.aws.amazon.com/glue/latest/dg/setup-vpc-for-glue-access.html
我正确设置了入站规则,但没有设置出站规则,这就是我认为的问题所在。