如何使用IAM服务动态创建Airflow S3连接

问题描述 投票:2回答:2

我的Airflow应用程序在AWS EC2实例中运行,该实例也具有IAM角色。目前,我正在使用硬编码访问和密钥创建Airflow S3连接。但我希望我的应用程序从此实例本身获取此AWS凭据。

怎么做到这一点?

amazon-s3 airflow
2个回答
5
投票

我们有类似的设置,我们的Airflow实例在EC2机器内部署的容器内运行。我们设置了在EC2机器实例配置文件上访问S3的策略。您无需在EC2计算机中获取凭据,因为计算机具有应具有您所需的所有权限的实例配置文件。从Airflow方面,我们只使用aws_default连接,在额外参数中我们只设置默认区域,但没有任何凭据。这里有一篇关于Intance Profiles的详细文章:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html


0
投票

问题已得到解答,但为了将来参考,可以不依赖于aws_default而只是通过环境变量来实现。以下是使用AWS连接将日志写入s3以使IAM受益的示例:

AIRFLOW_CONN_AWS_LOG="aws://"
AIRFLOW__CORE__REMOTE_LOG_CONN_ID=aws_log
AIRFLOW__CORE__REMOTE_LOGGING=true
AIRFLOW__CORE__REMOTE_BASE_LOG_FOLDER="s3://path to bucket"
© www.soinside.com 2019 - 2024. All rights reserved.