我想知道烘烤AMI的最佳方法是什么。虽然它提供了很多一致性,但是当您需要重新烘焙AMI时很难达到一致性,因为安全更新或新的软件包版本很少,因为很可能您最终会更新其他软件包我需要更新,这可能会导致某些事情破裂。
到目前为止,我正在烘焙我的所有软件包安装,包括docker和pull base images(例如Ubuntu)。
我知道可以准确指定apt-get install或其cfn-init等效项时所需的软件包版本,但如果不再支持该怎么办?我应该把包放在S3桶里吗?但那么所有的依赖关系呢?是否有任何简单的方法从s3进行apt-get安装而不是去第三方回购?
答案 0 :(得分:1)
我刚刚回答了一个类似的问题,即将资源烘焙到AMI与使用Chef,Puppet等配置管理工具。
简短的回答是尝试不将软件烘焙到AMI中,而是建立在基本图像之上,并使用可重复的"食谱" (厨师术语)。
至于要安装的软件包的特定版本,您当然可以将软件依赖性固定到特定版本。如果你没有对它们做任何特别的事情,我强烈建议尽可能使用本地包管理器。对于不再可用的软件包,Ubuntu LTS希望这不是一个问题。
请参阅full answer here。