微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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,但我只是在这里介绍一般情况.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐