我目前正在使用气流1.10celery 执行器。我的经纪人是aws elasticache redis(v。5.0.6). 如何在传输过程中启用加密?
根据源代码, ssl_keyfile
, ssl_certfile
以及 ssl_ca_certs
是必需的。
elif 'redis://' in broker_url:
broker_use_ssl = {'ssl_keyfile': conf.get('celery', 'SSL_KEY'),
'ssl_certfile': conf.get('celery', 'SSL_CERT'),
'ssl_ca_certs': conf.get('celery', 'SSL_CACERT'),
'ssl_cert_reqs': ssl.CERT_REQUIRED}
https://github.com/apache/airflow/blob/1.10.10/airflow/config_templates/default_celery.py#l68-l72型
但是ElasticacheRedis不提供这些tls证书。官方文档只解释了rediscli的一个解决方案,它使用stunnel的tls隧道。
https://docs.aws.amazon.com/amazonelasticache/latest/red-ug/in-transit-encryption.html#connect-tls公司
airflow celery executor是否支持在elasticache redis上传输加密?如果是这样,我们如何实施?
1条答案
按热度按时间p8h8hvxi1#
以下气流配置与elasticache和redis ssl一起工作,请注意额外的
s
上rediss
```broker_url = rediss://:password@host:port/db?ssl_cert_reqs=required
broker_use_ssl = { "ssl_cert_reqs": ssl.CERT_REQUIRED }
ssl_active = False
ssl_key =
ssl_cert =
ssl_cacert =