选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

使用二进制方法将本地 Go Web 应用程序迁移到 E AWS lastic Beanstalk - AWS Prescriptive Guidance

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用二进制方法将本地 Go Web 应用程序迁移到 E AWS lastic Beanstalk

由 Suhas Basavaraj (AWS) 和 Shumaz Mukhtar Kazi () 创作 AWS

摘要

此模式描述了如何将本地 Go Web 应用程序迁移到 E AWS lastic Beanstalk。应用程序迁移后,Elastic Beanstalk 会为源包构建二进制文件,并将其部署到亚马逊弹性计算云 (Amazon) 实例。EC2

根据更换主机迁移策略,该模式的方法速度很快,并且不需要更改代码,这意味着更少的测试和迁移时间。 

先决条件和限制

先决条件

  • 一个活动的 AWS 账户。

  • 本地 Go Web 应用程序。

  • 包含 Go 应用程序源代码的 GitHub 存储库。如果您不使用 GitHub,还有其他方法可以为 Elasti c Beanstalk 创建应用程序源包

产品版本

架构

源技术堆栈

  • 本地 Go Web 应用程序 

目标技术堆栈

  • AWS Elastic Beanstalk

  • Amazon CloudWatch

目标架构

将 Go 应用程序迁移至 Elastic Beanstalk 的架构

工具

  • AWSElasti c Beanstalk 可以在云端快速部署和管理应用程序AWS,用户无需了解运行这些应用程序的基础架构。Elastic Beanstalk 可降低管理的复杂性,但不会影响选择或控制。

  • GitHub是一个开源的分布式版本控制系统。

操作说明

任务描述所需技能

为 Go 应用程序创建源捆绑包。

打开包含 Go 应用程序源代码的 GitHub 存储库并准备源包。源捆绑包在根目录中包含 application.go 源文件,该文件托管 Go 应用程序的主软件包。如果您不使用 GitHub,请参阅此模式前面的 “先决条件” 部分,了解创建应用程序源包的其他方法。

系统管理员、应用程序开发人员

创建配置文件。

在源捆绑包中创建 .ebextensions 文件夹,然后在该文件夹中创建 options.config 文件。有关更多信息,请参阅 Elastic Beanstalk 文档

系统管理员、应用程序开发人员

创建源捆绑包 .zip 文件。

运行以下命令。

git archive -o ../godemoapp.zip HEAD

这将创建源捆绑包 .zip 文件。下载 .zip 文件并将其另存为本地文件。

重要

.zip 文件不能超过 512 MB,也不能包含父文件夹或顶级目录。

系统管理员、应用程序开发人员

创建 Go Web 应用程序源捆绑包 .zip 文件

任务描述所需技能

为 Go 应用程序创建源捆绑包。

打开包含 Go 应用程序源代码的 GitHub 存储库并准备源包。源捆绑包在根目录中包含 application.go 源文件,该文件托管 Go 应用程序的主软件包。如果您不使用 GitHub,请参阅此模式前面的 “先决条件” 部分,了解创建应用程序源包的其他方法。

系统管理员、应用程序开发人员

创建配置文件。

在源捆绑包中创建 .ebextensions 文件夹,然后在该文件夹中创建 options.config 文件。有关更多信息,请参阅 Elastic Beanstalk 文档

系统管理员、应用程序开发人员

创建源捆绑包 .zip 文件。

运行以下命令。

git archive -o ../godemoapp.zip HEAD

这将创建源捆绑包 .zip 文件。下载 .zip 文件并将其另存为本地文件。

重要

.zip 文件不能超过 512 MB,也不能包含父文件夹或顶级目录。

系统管理员、应用程序开发人员
任务描述所需技能

选择 Elastic Beanstalk 应用程序。

  1. 登录AWS管理控制台并打开 Elastic Beanstalk 控制台。

  2. 从 “区域” 列表中,选择您的AWS区域。

  3. 在导航窗格中,选择应用程序,然后选择现有 Elastic Beanstalk 应用程序或创建一个。

有关如何创建 Elastic Beanstalk 应用程序的说明,请参阅 Elastic Beanstalk 文档

系统管理员、应用程序开发人员

初始化 Elastic Beanstalk Web 服务器环境。

  1. 在应用程序概述页面,选择创建新环境,然后选择 Web 服务器环境

  2. 填写环境名称域名字段。

  3. 选择平台版本,然后选择 Go 以作为您的平台。

系统管理员、应用程序开发人员

将源捆绑包 .zip 文件上传到 Elastic Beanstalk。

  1. 对于 Application code(应用程序代码),选择 Upload your code(上传您的代码),然后选择 Local file(本地文件)

  2. 选择包含源捆绑包的 .zip 文件。

  3. 版本标签,为文件指定唯一的名称,然后选择创建环境

系统管理员、应用程序开发人员

测试已部署的 Go Web 应用程序。

您将被重定向至 Elastic Beanstalk 应用程序概述页面。在概述顶部的环境 ID 旁边,选择结尾为的URLelasticbeanstalk.com以导航到您的应用程序。您的应用程序必须在其配置文件中使用此名称作为环境变量,并将其显示在网页上。

系统管理员、应用程序开发人员

将 Go Web 应用程序迁移至 Elastic Beanstalk

任务描述所需技能

选择 Elastic Beanstalk 应用程序。

  1. 登录AWS管理控制台并打开 Elastic Beanstalk 控制台。

  2. 从 “区域” 列表中,选择您的AWS区域。

  3. 在导航窗格中,选择应用程序,然后选择现有 Elastic Beanstalk 应用程序或创建一个。

有关如何创建 Elastic Beanstalk 应用程序的说明,请参阅 Elastic Beanstalk 文档

系统管理员、应用程序开发人员

初始化 Elastic Beanstalk Web 服务器环境。

  1. 在应用程序概述页面,选择创建新环境,然后选择 Web 服务器环境

  2. 填写环境名称域名字段。

  3. 选择平台版本,然后选择 Go 以作为您的平台。

系统管理员、应用程序开发人员

将源捆绑包 .zip 文件上传到 Elastic Beanstalk。

  1. 对于 Application code(应用程序代码),选择 Upload your code(上传您的代码),然后选择 Local file(本地文件)

  2. 选择包含源捆绑包的 .zip 文件。

  3. 版本标签,为文件指定唯一的名称,然后选择创建环境

系统管理员、应用程序开发人员

测试已部署的 Go Web 应用程序。

您将被重定向至 Elastic Beanstalk 应用程序概述页面。在概述顶部的环境 ID 旁边,选择结尾为的URLelasticbeanstalk.com以导航到您的应用程序。您的应用程序必须在其配置文件中使用此名称作为环境变量,并将其显示在网页上。

系统管理员、应用程序开发人员

故障排除

事务解决方案

无法通过应用程序负载均衡器访问应用程序

检查包含 Elastic Beanstalk 应用程序的目标群体。如果运行状况不佳,请登录您的 Elastic Beanstalk 实例并nginx.conf检查文件配置以验证其路由到的运行状况是否正确。URL您可能需要更改目标群体的健康检查URL。

相关资源

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。