ubuntu – 为什么aws云形成不安装我指定的包?

我是AWS服务的新手.我正在尝试使用AWS云形成,我创建了一个模板.该模板没有错误,我可以使用它创建机器.

但是我在模板中添加了一些配置,以便在启动时安装tomcat,git和其他东西.但这不会发生在我身上.

这是我用于安装tomcat的代码的一部分:

"Resources": {
    "Tomcat": {
        "Type": "AWS::EC2::Instance","Metadata": {
            "AWS::CloudFormation::Init": {
                "config": {
                    "packages": {
                        "apt": {
                            "tomcat6": [],"git": [],}
                    }
                }
            }
        },

但是当我登录机器时既没有安装tomcat也没有安装git!

提前致谢.

我相信你的问题是关于cloud-init与cfn-init不同的混淆.

> cloud-init是作为Ubuntu AWS AMI的一部分启动的工具,允许解释实例元数据的EC2用户数据组件.亚马逊Linux也采用了这个工具并将其构建到他们的AMI中.
> cfn-init是AWS为Amazon Linux创建的名为CloudFormation Helper Scripts的不同工具集的一部分,可以在您的CloudFormation模板中读取名为Metadata的其他部分.

因此,Ubuntu和Amazon Linux AMI都预先安装了cloud-init工具来访问用户数据,但只有Amazon Linux预安装了CloudFormation Helper Scripts,例如cfn-init访问CloudFormation元数据.

但是,AWS可以使用distribute packages来读取CloudFormation元数据.具体来说,请看template,了解如何使用cloud-init用户数据脚本安装python-setuptools,下载CloudFormation Helper Scripts,使用easy_install安装它们,然后调用cfn-init.

注意:还有其他发行版或AMI可能支持cloud-init或cfn-init,但我只是在这里介绍一般情况.

相关文章

目录前言一、创建Hadoop用户二、更新apt和安装Vim编辑器三、...
原文连接:https://www.cnblogs.com/yasmi/p/5192694.html ...
电脑重启后,打开VirtualBox,发现一直用的虚拟机莫名的消失...
参见:https://blog.csdn.net/weixin_38883338/article/deta...
Ubuntu 18.04 LTS 已切换到 Netplan 来配置网络接口。Netpla...
介绍每个 Web 服务都可以通过特定的 URL 在 Internet 上访问...