Amazon ec2 使用ansible的动态库存与静态库存的用例

Amazon ec2 使用ansible的动态库存与静态库存的用例,amazon-ec2,ansible,configuration-management,Amazon Ec2,Ansible,Configuration Management,我试图通过ansible使用ec2插件查询ec2实例列表,以获取动态清单 我可以看到使用动态库存的效用。如果添加了新机器,ansible将自动对它们执行一个游戏。但我在网上也看到,可以使用ansible生成实例,并手动将新主机添加到静态主机列表中 所以我的问题是:我们使用动态库存和静态库存的用例是什么?我是devops领域的新手,所以我不知道我们需要多久自动生成一次实例,而不是通过AWS控制台手动生成实例。 谢谢 如果使用自动校准组,则必须使用动态库存 如果作为构建管道的一部分启动临时ec2s,

我试图通过ansible使用ec2插件查询ec2实例列表,以获取动态清单

我可以看到使用动态库存的效用。如果添加了新机器,ansible将自动对它们执行一个游戏。但我在网上也看到,可以使用ansible生成实例,并手动将新主机添加到静态主机列表中

所以我的问题是:我们使用动态库存和静态库存的用例是什么?我是devops领域的新手,所以我不知道我们需要多久自动生成一次实例,而不是通过AWS控制台手动生成实例。
谢谢

如果使用自动校准组,则必须使用动态库存

如果作为构建管道的一部分启动临时ec2s,请使用动态库存。e、 g.您只想测试软件的部署,并在测试后终止机器

如果您想在某些机器上禁用ansible播放,可以基于ec2标记创建动态库存。e、 你有一个每小时运行一个全web服务器的安全游戏,但是开发人员想在他的机器上测试一些东西。这样他就可以标记他的机器被跳过。他不需要访问清单文件(而且你可以在午夜运行另一个播放来再次启用安全播放。因此不会忘记)

顺便说一下:您可以使用带有过滤器选项的
ec2_实例_事实
add_host
在Playbook运行时创建动态资源清册

e、 你有三种类型的服务器“web”、“app”、“db”。您可以在启动期间使用servertype:[web | app | db]标记EC2。您可以使用以下方法过滤这些EC2:

- name: collect ec2s 
  ec2_instance_facts:
    region: "{{ region }}"
    filters:
      "tag:servertype": "{{ servertype_list }}"
  register: ec2_list
并使用外部变量
ansible playbook test.yml-e servertype_list=['web','app']
ansible playbook test.yml-e servertype_list=['db']
在服务器组上有选择地运行游戏


因此,通过标记机器,您可以避免处理静态库存。

动态库存通常更有用,除非您将列表从Terraform提供给Ansible,在这种情况下,这几乎是等效的。