0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

亚马逊云科技Amazon Lightsail:一种在云服务器上运行容器的简单方法

科技新思路 来源:科技新思路 作者:科技新思路 2023-09-21 10:39 次阅读

当向开发人员介绍亚马逊科技云服务时,通常会花一点时间来介绍并演示Amazon Lightsail。它是迄今为止开始使用亚马逊云科技的最简单方法。使用它,您在几分钟内即可在自己的虚拟服务器上运行您的应用程序。而后增加了在Amazon Lightsail上部署基于容器的工作负载的可能性。

Amazon Lightsail是一项易于使用的云服务,可为您提供部署应用程序或网站所需的一切,从而实现经济高效且易于理解的月度计划。它是部署简单的工作负载、网站或开始使用亚马逊云科技的理想选择。典型的Amazon Lightsail客户包括开发人员、小型企业或初创公司等,他们希望快速开始使用云和亚马逊云科技。

部署到Amazon Lightsail时,您可以在六种操作系统(4个Linux发行版、FreeBSD或Windows)、七种应用程序(例如WordPress、Drupal、Joomla、Plesk…)和七种堆栈(例如Node.js、Lamp、GitLab、Django…)之间选择。但是Docker容器呢?

Amazon Lightsail为开发人员提供一种简单的方式来将其容器部署到云中。您只需要为您的容器提供一个Docker映像,亚马逊云科技将为您自动容器化该映像。Amazon Lightsail为您提供了一个HTTPS终端节点,可以为在云容器中运行的应用程序提供服务。它会自动设置负载均衡的TLS终端节点,并处理TLS证书。它会为您自动替换无响应的容器,会为终端节点分配一个DNS名称,维护旧版本,直到新版本运行正常并准备好上线等。

下面通过将简单的Python Web应用程序部署为容器来看看它是如何工作的。假设您的笔记本电脑上安装了亚马逊云科技命令行界面(CLI)和Docker。不需要Python,它将仅安装在容器中。

首先使用Flask简单应用程序框架创建一个Python REST API。任何可以在容器内运行的编程语言和框架都可以工作。我选择了Python和Flask,因为它们简单又简洁。

您可以安全地复制/粘贴以下命令:

wKgZomULrPKAUPw5AAEfDJwDYFM093.png

然后创建一个Dockerfile,其中包含构建容器映像所需的步骤和信息

wKgaomULrPOAR38hAACIOM9pTDs719.png

现在可以构建容器了:

wKgZomULrPOAWl5AAAAd1971HCM143.png

build命令在构建容器时会输出许多行,它最终以以下消息结束(实际ID将不同):

wKgaomULrPSAY3D8AABDelJJdm4317.png

可以通过在笔记本电脑上启动容器来测试它:

wKgZomULrPSAXCSvAAAouNhTYNA720.png

并将浏览器连接到localhost:8080

wKgaomULrPSAE0X-AAHM6joy_D4098.png

当对应用程序感到满意时,会将容器推送到Docker Hub。

wKgZomULrPWASSNzAABOdweYFwU147.png

现在,已经在Docker Hub上准备好容器,下面来创建Amazon Lightsail容器服务。

将浏览器指向Amazon Lightsail控制台。可以看到容器服务已经部署好,可以管理它们。为创建新服务,我点击Create container service(创建容器服务):

wKgaomULrPWAdSLpAAHIFQmmtU0807.png

在下一个屏幕上,根据可供应用程序使用的vCPU和内存来选择要使用的容器大小。出于高可用性或可扩展性的原因,还选择了希望并行运行的容器实例的数量。可以随时更改容器实例的数量或其能力(vCPU和RAM),而不会中断服务。这两个参数都会影响亚马逊云科技每月收取的价格。

在屏幕稍微下面的位置,选择现在跳过部署。将服务命名为(“hello-world”)。单击Create container service(创建容器服务)。

创建服务后,单击Create your first deployment(创建第一个部署)以创建部署。部署指的是要在刚创建的服务上部署的特定容器映像和版本的组合。

为映像选择一个名称,然后在Docker Hub上使用格式user/:tag提供映像的地址。在这个地方,也可以输入环境变量、端口映射或启动命令。

容器在端口TCP 8080上提供网络服务,因此将该端口添加到部署配置中。开放端口配置指定哪些端口和协议对容器网络中的其他系统开放。其他容器或虚拟机只能在端口在控制台中显式配置或公开在Dockerfile中时连接到我的容器。这些端口都不会在公共互联网中公开。

最多可以为单个部署添加10个容器。准备好后,我单击Save and deploy(保存并部署)。

过了一段时间,部署处于活动状态,可以测试终端节点。

终端节点DNS地址位于控制台的右上角。如果必须的话,可以配置自己的DNS域名。

在浏览器中打开另一个选项卡并将它指向https终端节点URL:

当必须部署新版本时,再次使用控制台来修改部署。可以省去修改应用程序代码、构建和推送新版本容器的详细信息。假设在名称sebsto/lightsail-hello-world:v2下有第二个容器映像版本可用。返回到Amazon Lightsail控制台,单击Deployments(部署),然后单击Modify your Deployments(修改部署)。输入容器映像新版本的完整名称,包括标签,然后单击Save and Deploy(保存并部署)。

过了一段时间后,部署并自动激活新版本。

在浏览器中打开一个新选项卡,然后将其指向Amazon Lightsail控制台右上角提供的终端节点URI。观察到JSON版本不同。它现在有一个值为2的版本属性。

当部署过程中出现问题时,Amazon Lightsail会自动使上次部署保持活动状态,以避免任何服务中断。还可以手动激活以前的部署版本以撤消任何不需要的更改。

刚从Docker Hub部署了第一个容器映像。还可以使用亚马逊云科技命令行界面(CLI)管理我的服务并从笔记本电脑部署本地容器映像。要直接从笔记本电脑将容器映像推送到Amazon Lightsail容器服务,必须安装LightSail控制器插件。为创建、列出或删除容器服务,键入:

wKgZomULrPeALkaCAAFaN2we4BM349.png

wKgaomULrPeALUWHAAA8EynIUac149.png

还可以使用CLI直接从笔记本电脑部署容器映像。确保已安装lightsailctl。

wKgZomULrPeAcJf5AABz7Lcd-E8891.png

过了一会,我看到以下输出:

wKgaomULrPiALlB1AAA6SAgtuu4822.png

创建一个lc.json文件来保存部署配置的详细信息。它在控制台上看到的选项一致。

wKgZomULrPiAXyWrAACBR8rEEM8440.png

最后,用以下命令创建一个新的服务版本:

wKgaomULrPmAL5W-AAAfQnmomao860.png

可以使用以下命令查询部署状态

wKgZomULrPmAW3rJAACQuFKQ8Vw161.png

过了一段时间后,状态变为ACTIVE(活动),可以测试我的终端节点。

wKgaomULrPmAKyNFAAA2WnJIu58571.png

如果计划稍后将容器部署到Amazon ECS或Amazon Elastic Kubernetes Service,则无需进行任何更改。您可以从存储库中提取容器映像,就像使用Amazon Lightsail一样。

您可以在提供Amazon Lightsail的所有亚马逊云科技区域中将容器部署到Lightsail上。截止今天,已在美国东部(俄亥俄)、美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、亚太地区(孟买)、亚太地区(首尔)、亚太地区(新加坡)、亚太地区(悉尼)、亚太地区(东京)、加拿大(中部)、欧洲(法兰克福)、欧洲(爱尔兰)、欧洲(伦敦)和欧洲(巴黎)区域提供。

Amazon Lightsail在后台由Amazon Elastic Compute Cloud(EC2)、Amazon Relational Database Service(RDS)、Application Load Balancer和其他亚马逊云科技服务提供支持。它提供了您期望从亚马逊云科技获得的安全性、可靠性和可扩展性级别。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    51

    文章

    4675

    浏览量

    83466
  • 亚马逊
    +关注

    关注

    8

    文章

    2480

    浏览量

    82372
  • 云服务器
    +关注

    关注

    0

    文章

    408

    浏览量

    12558
  • Docker
    +关注

    关注

    0

    文章

    437

    浏览量

    11603
收藏 人收藏

    评论

    相关推荐

    什么是计算 计算的定义

    什么是计算 计算的定义计算是分布式计算技术的一种,是指通过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器所组成
    发表于 11-18 17:23

    服务器群打造“娱乐

    ,我来算1+2,找我单位王叔叔帮我算3+4,找你李老师算5+6,最后叫你北京的杨阿姨帮你把我们三个人的答案整合,就等于搞服务器,放在起来运算,分别搞不同的运算,分与总的结合。
    发表于 07-07 21:17

    服务器群打造“娱乐

    的用户服务器像放在IDC机房样,获取需要的资源,这是效果是怎么样呢?XX地投入一百多台“百联丰”服务器实验通过特有的网络平台来解决,至于结果我们拭目以待!“百联创智”人紧跟“”策略
    发表于 09-05 09:40

    机智Amazon Alexa平台发布Smarthome和Custom Skill,实现亚马逊Echo直接控制Gokit

    本帖最后由 机智小编 于 2017-3-31 14:09 编辑 机智Amazon Alexa平台率先发布了Smarthome Skill和Custom Skill,实现了亚马逊
    发表于 03-31 11:54

    计算从通用到专用?

    间共享信息的组件)、运行时(公共功能模块的实例);SaasPaas的基础包含数据、应用。需要指出的是随着计算的发展,不同的计算方案之
    发表于 10-13 10:22

    持续优化云原生体验,阿里Serverless容器与多云的探索

    基础设施之间的混合体。忘掉服务器管理的细节,无服务器运行容器应用阿里提供着国内最大规模的公共
    发表于 05-15 23:22

    Bazaar:阿里Serverless计算服务探秘

    摘要: Serverless 指用户无需管理服务器情况下构建和运行应用程序的一种方式。可见 Serverless 并不是真的不需要服务器,毕竟程序代码不能靠意念来执行,仍然是需要硬件
    发表于 06-08 15:35

    服务器有什么优势?怎么选对服务器

    大多数的企业、机构逐步转向服务器,IT基础不再采用传统服务器。只有些传统企业没有
    发表于 07-31 18:35

    百度服务器怎么使用nfs ,tftp

    我自己买了个百度服务器来学习嵌入式使用,服务器上有两个ip地址,个公网的个内网的,
    发表于 04-24 15:30

    服务器安全吗?服务器有哪些优势?

    二十四小时的监控当中,有专业技术人员做维护。另外,服务器当中,用户业务数据并不是存储固定的服务器当中,而是分别存储与不同的集群当中,就
    发表于 03-27 14:31

    服务器与物理服务器的区别是什么?

    计算服务器(又称服务器主机,简称ECS),是计算
    发表于 12-09 09:56

    一种Arm服务器Robox安卓容器的构建与使用方案

    1、Arm服务器Robox安卓容器方案的构建编译过程和使用方法随着计算相关产业蓬勃发展,用
    发表于 06-17 14:34

    什么是裸机大带宽服务器

    裸机是指提供给用户物理服务器一种服务,而不是虚拟化技术。它提供与传统物理服务器相同的可靠性
    发表于 03-07 12:05

    一文了解亚马逊云科技适用于Amazon Lightsail的托管数据库

    Amazon Lightsail亚马逊云科技提供的一种易上手使用、月度价格经济实惠,并包括了计算实例、容器、存储、数据库的虚拟专用
    的头像 发表于 09-13 16:21 323次阅读
    一文了解<b class='flag-5'>亚马逊</b>云科技适用于<b class='flag-5'>Amazon</b> <b class='flag-5'>Lightsail</b>的托管数据库

    亚马逊云科技虚拟专用服务器Amazon Lightsail优势及其如何为初创企业提升运营效率

    作为一名软件工程师,有很多机会使用各种亚马逊云科技服务,其中Amazon Lightsail是为初创企业而设的易上手使用、经济实惠的虚拟专用服务器
    的头像 发表于 09-25 16:50 310次阅读
    <b class='flag-5'>亚马逊</b>云科技虚拟专用<b class='flag-5'>服务器</b><b class='flag-5'>Amazon</b> <b class='flag-5'>Lightsail</b>优势及其如何为初创企业提升运营效率