AWS CodeDeploy 使实例脱机意味着什么?
What does AWS CodeDeploy mean by taking an instance offline?
我们正在使用 AWS,将 CodeDeploy 和 EC2 实例用于 运行 多个 Web 应用程序。
我们有 4 个 EC2 实例,每个实例 运行ning 多个应用程序,可通过不同的端口访问。我们为每个应用程序配置了 CodeDeploy 部署组。因此,对于 5 个应用程序,有 5 个 app/deployment 组。由于每个应用程序都部署到所有 4 个实例,因此每个部署组都包含所有 4 个实例(使用标签)。这些部署组配置为执行 "in-place" 部署。即使我们使用的是应用程序负载均衡器,这些部署组也未启用负载均衡。 (主要是因为我不清楚下面问题的答案。)
在 AWS 文档中,它表示在部署期间 "Instances in a deployment group are taken offline"。 这到底是什么意思?
是否在部署期间使整个 EC2 实例脱机?这意味着在将单个应用程序部署到该实例时,单个实例上 运行 上的所有应用程序都将不可用?
或者就特定的 CodeDeploy 应用程序状态和管理部署而言,它真的只有 "offline" 吗?实际的应用程序状态真的是由特定应用程序文件中的生命周期事件 implemented/handled 定义的吗?这意味着 EC2 实例在技术上仍可用于流量,无论文字应用程序是否可用或 LB 流量是否正在路由到实例?
如果不清楚,用例是:由于我们在同一个实例上 运行 多个应用程序,我们能否安全地将更新部署到单个应用程序,而不会产生任何影响其他应用程序的可用性?
来自 documentation - 强调我的:
In-place deployment: The application on each instance in the deployment group is stopped, the latest application revision is
installed, and the new version of the application is started and
validated. You can use a load balancer so that each instance is
deregistered during its deployment and then restored to service after
the deployment is complete. Only deployments that use the
EC2/On-Premises compute platform can use in-place deployments. For
more information about in-place deployments, see Overview of an
In-Place Deployment.
文档没有说明有关实例被停止的任何信息...
部署期间发生的事情由您的 Appspec 文件定义,其参考文档为 here。
您案例中的重要部分是 hooks,您可以在其中指定部署期间发生的情况。
这张来自 AWS 文档的图片显示了执行挂钩的顺序(在您的情况下,左边的流程应该是相关的:
我们正在使用 AWS,将 CodeDeploy 和 EC2 实例用于 运行 多个 Web 应用程序。
我们有 4 个 EC2 实例,每个实例 运行ning 多个应用程序,可通过不同的端口访问。我们为每个应用程序配置了 CodeDeploy 部署组。因此,对于 5 个应用程序,有 5 个 app/deployment 组。由于每个应用程序都部署到所有 4 个实例,因此每个部署组都包含所有 4 个实例(使用标签)。这些部署组配置为执行 "in-place" 部署。即使我们使用的是应用程序负载均衡器,这些部署组也未启用负载均衡。 (主要是因为我不清楚下面问题的答案。)
在 AWS 文档中,它表示在部署期间 "Instances in a deployment group are taken offline"。 这到底是什么意思? 是否在部署期间使整个 EC2 实例脱机?这意味着在将单个应用程序部署到该实例时,单个实例上 运行 上的所有应用程序都将不可用?
或者就特定的 CodeDeploy 应用程序状态和管理部署而言,它真的只有 "offline" 吗?实际的应用程序状态真的是由特定应用程序文件中的生命周期事件 implemented/handled 定义的吗?这意味着 EC2 实例在技术上仍可用于流量,无论文字应用程序是否可用或 LB 流量是否正在路由到实例?
如果不清楚,用例是:由于我们在同一个实例上 运行 多个应用程序,我们能否安全地将更新部署到单个应用程序,而不会产生任何影响其他应用程序的可用性?
来自 documentation - 强调我的:
In-place deployment: The application on each instance in the deployment group is stopped, the latest application revision is installed, and the new version of the application is started and validated. You can use a load balancer so that each instance is deregistered during its deployment and then restored to service after the deployment is complete. Only deployments that use the EC2/On-Premises compute platform can use in-place deployments. For more information about in-place deployments, see Overview of an In-Place Deployment.
文档没有说明有关实例被停止的任何信息...
部署期间发生的事情由您的 Appspec 文件定义,其参考文档为 here。
您案例中的重要部分是 hooks,您可以在其中指定部署期间发生的情况。
这张来自 AWS 文档的图片显示了执行挂钩的顺序(在您的情况下,左边的流程应该是相关的: