0Pricing
DevOps Bootcamp · 课时

aws_ec2 Inventory 插件

按标签自动获取 EC2 主机

aws_ec2 Inventory 插件 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 4 节课。

认识 aws_ec2

amazon.aws.aws_ec2 插件会查询 EC2 API,并自动将正在运行的实例转换为 Ansible 主机。

先安装集合

该插件位于 amazon.aws 集合中。您必须先从 Galaxy 安装该集合,才能启用或使用插件。

ansible-galaxy collection install amazon.aws

它需要 boto3

aws_ec2 在底层使用适用于 Python 的 AWS SDK。请安装 boto3 和 botocore,以便插件与 AWS 通信。

pip install boto3 botocore

最简配置

可用的配置只需要 plugin 键和要扫描的区域。每次加载清单时,Ansible 会完成其余工作。

plugin: amazon.aws.aws_ec2
regions:
  - eu-west-1

凭据来自 AWS

插件会读取标准 AWS 凭据,这些凭据可以来自环境变量、~/.aws 配置或实例角色,就像 AWS CLI 一样。

export AWS_ACCESS_KEY_ID=...
export AWS_SECRET_ACCESS_KEY=...

筛选要显示的实例

使用 filters 限制结果,例如只选择正在运行的实例,这样已终止的主机就不会进入清单。

filters:
  instance-state-name: running

默认主机名不够美观

默认情况下,主机可能会显示为原始 IP 或 ID。hostnames 键可以让您选择更易读的名称来源。

hostnames:
  - tag:Name
  - private-ip-address

每个标签都会变成变量

EC2 标签和实例属性会作为主机变量传入,因此任务可以直接从每台主机读取 tags.Environment。

通过私有或公有 IP 连接

使用 hostnames 或 compose 设置连接地址。在 VPC 内部请选择私有 IP;从外部连接时请选择公有 IP。

验证发现结果

请运行带有 --graph 的 ansible-inventory,查看插件发现的每个实例及其分组和名称,然后再启动 play。

ansible-inventory -i prod.aws_ec2.yml --graph

每个环境使用一份配置

请为不同环境保留单独的插件文件,例如 prod.aws_ec2.yml 和 staging.aws_ec2.yml,并分别按区域或 filters 限定范围,以隔离各个环境。

快速检查

请回忆 aws_ec2 插件依赖什么。

回顾

aws_ec2 插件需要 amazon.aws 集合和 boto3,读取 AWS 凭据,并将经过筛选的 EC2 实例转换为具有名称的主机。🚀

常见问题解答

「aws_ec2 Inventory 插件」课时是免费的吗?

是的 — 「aws_ec2 Inventory 插件」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。

「aws_ec2 Inventory 插件」这节课中我会学到什么?

按标签自动获取 EC2 主机 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 DevOps Bootcamp 需要有经验吗?

无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「aws_ec2 Inventory 插件」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 DevOps Bootcamp 课中编写并运行代码吗?

能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 静态限制与 Inventory 插件模型
  2. aws_ec2 Inventory 插件
  3. constructed:按标签对主机分组
  4. 缓存与多个 Inventory 来源
← 返回 DevOps Bootcamp