首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在amazon实例上安装安全更新的最佳方法

在amazon实例上安装安全更新的最佳方法
EN

Server Fault用户
提问于 2016-12-15 12:35:24
回答 2查看 1.1K关注 0票数 6

我们使用可抗对所有运行有状态服务(如数据库、搜索引擎等)的EC2实例进行安全更新。

我想知道对ECS实例(在Docker容器中运行无状态web应用程序)进行安全更新的最佳方法是什么。由于自动缩放,实例的数量和它们的IP地址都是动态的。可抗使用硬编码的IP地址列表(主机文件),因此它似乎不符合实际用途。

更新这些实例是一个好主意吗?还是我们应该把它们拆掉,每隔一段时间就产生新的实例?

DevOps的人有什么最佳实践吗?

更新:

我发现Ansible支持动态库存。有剧本从AWS获取有关主机的信息,并为Ansible生成动态库存,这很好。

然而,仍然存在一个问题。每当有我以前没有连接到的新主机时,就会显示以下消息,必须手动确认。

代码语言:javascript
复制
The authenticity of host '10.0.1.247 (10.0.1.247)' can't be established.
ECDSA key fingerprint is SHA256:GSogs6P6CzbOzLm9ByWsXkfz7/2A4qwj4PDvczApS/I.
Are you sure you want to continue connecting (yes/no)? yes

这是非常恼人的,因为我想实现一个完全自动化的更新机制。这个问题有解决办法吗?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2016-12-19 08:31:56

每当有我以前没有连接到的新主机时,就会显示以下消息,必须手动确认。undefined有解决这个问题的办法吗?

修改ssh_connection中的ansible.cfg,使其包含-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null参数。

例如:

代码语言:javascript
复制
[ssh_connection]
ssh_args = -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o IdentitiesOnly=yes -o ControlMaster=auto -o ControlPersist=60s
票数 3
EN

Server Fault用户

发布于 2016-12-15 13:26:46

升级容器是一个完整的反模式.这很麻烦,因为您需要升级其中的每一个,并可能提交其中的每一个。

相反,更新用于生成容器的图像。这通常是通过在Dockerfile上有一个部分来完成的,以确保图像是最新的,所以修补过程基本上是重建图像。例如:

代码语言:javascript
复制
FROM centos:7.2.1511
MAINTAINER Jane Doe <j.doe@foo.com>

RUN yum update -y && \
    yum install -y \
      bar \
      foo && \
    yum clean all
# The rest of your Dockerfile

不过,推出新形象是我发现ECS缺乏的地方。你需要自己建立一个战略,以确保不停机。

让服务扫描注册表中的图像以查找漏洞也是最佳做法。

修补主机操作系统(这可能需要重新启动)而不需要停机,是我发现ECS缺乏编排功能的另一个领域,因为除了节点之间的ELB平衡之外,没有任何东西是内置在产品中的。

其他容器平台(如OpenShift)拥有从节点疏散集装箱(吊舱,因为这是库伯内特斯)的能力,并将其调度到其他地方。负载均衡器知道这种变化,确保零停机时间。此外,操作系统通常与OpenShift一起使用还改进了基于RPM OSTree的修补机制,大大降低了修补主机操作系统的复杂性。

票数 4
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/820882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档