【问题标题】:Replicate changes made on one EC2 to another EC2 Server将在一台 EC2 上所做的更改复制到另一台 EC2 服务器
【发布时间】:2019-03-14 13:48:37
【问题描述】:

我有两台名为 Ec2-Webserver-1 和 EC2-WebServer-2 的 ec2 服务器位于 Application Load Balancer 服务的两个不同子网下的同一 VPC 内。

当我对第一台服务器进行小改动时,我也必须手动更改另一台服务器。否则我必须创建一个 AMI 并从 AMI 创建一个新服务器。

我认为,每次我做一些小改动时都创建 AMI 是不合适的。

AWS 中是否有任何其他工具或第三方工具可以自动将服务器 1 上所做的更改复制到服务器 2?我目前正在使用 CentOS AMI。

【问题讨论】:

  • 您想进行哪些更改?
  • 我使用这些作为我的网络服务器。我必须对应用程序配置、包和工具安装/更新等所有内容进行更改。@Dan
  • 我建议查看 cloudformation 来定义您的 ec2 实例。您可以为服务器配置、IAM 角色等设置环境变量。您的应用程序的依赖项应在构建脚本中定义,并且独立于任何 EC2 配置。
  • 您不会使用 Chef 或 Code Deploy 之类的东西来编写脚本并跨服务器应用这些更改吗?很大程度上取决于变化的性质;但您不应该复制更改 - 您应该以自动方式将它们应用到所有服务器
  • @Felix code deploy 非常适合设置构建管道,您可能可以在那里管理一些 ec2 设置,但 cloudformation 是用于自动配置 AWS 资源的工具。

标签: amazon-web-services amazon-ec2


【解决方案1】:

我建议研究 cloudformation。您可以定义您的 ec2、您希望它拥有的 IAM 角色以及许多其他内容。完成后,您只需运行 cloudformation 脚本,AWS 将使用您定义的设置自动配置 EC2。 CloudFormation link

【讨论】:

  • 我非常不同意... Cloudformation 从头开始构建服务器;而 OP 希望将更改应用到多个 现有 服务器
  • @Felix 是的,我想我回答得太快了……我明白了。我是不可变 AMI 模型的粉丝,我认为如果 2 台服务器应该具有相同的设置,则应该在构建这些 AMI 期间进行处理,而不是稍后进行配置。可以做的一件事是查看是否可以加快 AMI 的构建速度。例如构建 AMI 并在同一区域部署可以加快部署过程。
  • 我的问题是我在 Server1 中安装了 Memcached PHP 插件。我需要在服务器2中自动安装它。可以吗? @费利克斯
  • 你是如何在第一台服务器上安装它的?手动?登录到 server1 并运行类似sudo yum install php7-pecl-memcached?这就是我的观点 - 你不应该这样做。您应该将其放入 Code Deploy 并将其应用于两台服务器
  • 你用什么来部署你的应用程序?...我同意@Felix ...安装应该由某种使用代码部署或其他东西的构建/部署过程来处理。
【解决方案2】:

您应该查看 Code Deploy https://aws.amazon.com/codedeploy/getting-started/?nc=sn&loc=4 可能将其与 Code Pipeline 结合使用。这是决定您是否需要一个或两个的起点。 https://forums.aws.amazon.com/thread.jspa?threadID=172485

【讨论】:

猜你喜欢
  • 2014-10-10
  • 1970-01-01
  • 2016-09-13
  • 1970-01-01
  • 2011-02-06
  • 2018-08-16
  • 1970-01-01
  • 1970-01-01
  • 2011-02-05
相关资源
最近更新 更多