【问题标题】:Ansible RDS module doesn't find AWS-RDS instanceAnsible RDS 模块找不到 AWS-RDS 实例
【发布时间】:2015-08-24 21:46:09
【问题描述】:

我有一本尝试使用 AWS RDS 模块来获取有关 RDS 实例的事实的剧本。剧本只有一种作品。在 localhost 上运行时,如下所示,它工作得很好:

  - hosts: localhost
    connection: local
    gather_facts: False
    tasks:
    - name: look up info for {{ env }} - {{ store }}
      rds:
        command=facts
        instance_name="postgres-{{ env }}-{{ store }}"
        region={{ region }}
      register: rds
      until: rds.instance.status == "available"
      retries: 30
      delay: 60

    - name:  debug it
      debug:  msg="{{ rds.instance.status }}"

显示状态为“可用”。但是,如果我在另一台机器(我的一个 EC2 实例)上运行它,它会说数据库不存在。所以,这不起作用:

  - hosts: tag_app_utility:&tag_store_ops:&tag_env_{{ env }}
    tasks:
    - name: look up info for {{ env }} - {{ store }}
      rds:
        command=facts
        instance_name="postgres-{{ env }}-{{ store }}"
        region={{ region }}
      register: rds
      until: rds.instance.status == "available"
      retries: 30
      delay: 60

    - name:  debug it
      debug:  msg="{{ rds.instance.status }}"

关于为什么它只能在本地主机上工作的任何想法?

【问题讨论】:

  • 第二种情况下的主机是否安装了 boto,并且由于您没有将 EC2 凭据作为参数传递给任务,您是否也在该主机上为 boto 设置了正确的凭据?使用 -vvvv 运行第二个 playbook 的输出是什么?
  • 凭证!啊。就是这样。我忘记将 RDS 凭证添加到与主机关联的 IAM 用户。谢谢,布鲁斯!

标签: ansible ansible-playbook


【解决方案1】:

正如 Bruce P 所提到的,这是凭证。永远不要忘记检查您的 IAM 凭证。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-01
    • 2020-08-27
    • 1970-01-01
    • 2014-07-18
    • 1970-01-01
    • 2021-05-01
    相关资源
    最近更新 更多