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

Ach*_*ius 2 amazon-s3 airflow

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

如何实现呢?

nic*_*r88 5

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


Ami*_*min 5

问题得到了回答,但为了将来参考,可以不依赖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"
Run Code Online (Sandbox Code Playgroud)