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 反馈 — 无需本地设置。
此课程中的所有课时
- 静态限制与 Inventory 插件模型
- aws_ec2 Inventory 插件
- constructed:按标签对主机分组
- 缓存与多个 Inventory 来源