概述
Tag:Amazon Lightsail
难度:初级
时间:30 分钟
费用:免费套餐
受众:初学者,开发人员
前提条件:海外区域账户,账户类型为付费计划
示例代码:低代码
上次更新时间:2025 年 12 月 18 日
相关行业:通用
相关产品:Amazon Lightsail;EC2
教程简介
本教程将指导您使用 Amazon Lighsail 快速搭建一个基于 Flask 服务框架的 Python 应用程序。
第一步 注册账户和创建IAM用户
全部打开首先,您需要登录亚马逊云科技官网:aws.amazon.com注册一个新用户,作为您的根账户。账户注册过程请参见相关官方教程。
创建账户后,以根账户身份登录管理控制台。
在控制台搜素栏中,搜索关键字”iam”,用来访问 IAM 服务。
进入到管理控制台,在左侧导航栏选择“用户”。

点击“创建用户”。
点击“下一步”完成创建用户。
第二步 创建和连接 Lightsail 实例
全部打开在管理控制台页面搜索服务”Lightsail”.

进入到 Lightsail 控制台。

点击页面中央“Create instance”(创建实例)。

控制台页面显示“访问Lightsail可能出现了问题“。
页面中提示两种可能性:
- AWS账户尚未完成注册。如需检查是否完成注册 ,可点击“Confirm your AWS registration”(确认您的AWS注册)以完成账户注册。
- 免费计划须升级。Lightsail服务仅包含在付费计划中,并包含90天免费试用,点击”Upgrade Plan”(升级计划)。付费计划同免费计划一样仍可享受免费套餐。

点击“升级套餐”按钮。

AWS账户完成套餐升级,点击“继续”。
*注意:由于升级到付费套餐计划,因此,返回控制台主页面时,建议打开Cost Explorer(成本资源浏览器)。
打开Cost Explorer控制台。

创建预算,选择默认预算设置 – 使用模版(简化),按照默认“零支出预算”,输入预算名称,电子邮件收件人(多个邮件地址用逗号隔开)后,点击“创建预算”。
显示“您的预算已成功创建。”等信息。
此时,重新打开 Lightsail 控制台,点击“Create instance”(创建实例)。

创建实例后,须选择实例镜像。
选择平台按照默认的 Linux/Unix,在 Select a blueprint 部分,点击”Operating System (OS) only“(仅操作系统)。
滚动到页面下方,在 Choose your instance plan (选择您的实例计划)列表,按照包月(Price per month)选择 $5 套餐。

点击页面右下角“Create instance”(创建实例)按钮。

创建完毕后,在实例列表里出现了刚刚命名过的新实例。
在前面步骤中,点击“Connect using SSH”(用 SSH 连接)。
通过 SSH 连接,在控制台页面打开运行的是 Amazon Linux 2023 终端窗口。
第三步 安装 Python 运行环境
全部打开由于配置了Amazon Linux 2023,因此,在连接打开的SSH终端中,须执行以下命令,从源代码安装Python最新版 3.14:
$ sudo yum -y update
这样,软件更新完毕!
执行以下命令,以安装 dependencies (依赖项):
sudo yum -y groupinstall "Development Tools"
再执行以下命令:
sudo yum -y install openssl-devel bzip2-devel libffi-devel
执行以下命令:
$ sudo yum -y install wget
$ wget https://www.python.org/ftp/python/3.14.2/Python-3.14.2.tgz
$ tar xvf Python-3.14.2.tgz
$ cd Python-3.14.2/
$ ./configure --enable-optimizations
$ sudo make altinstall
执行以下命令,验证 Python 3.14 完成安装:
$ python3.14 –version

终端显示 Python 版本为 3.14.2。
为了让最新版本成为开机后 Python3 的默认版本,执行以下命令:
$ echo 'alias python3="/usr/local/bin/python3.14"' >> ~/.bashrc
$ echo 'alias python="/usr/local/bin/python3.14"' >> ~/.bashrc
$ source ~/.bashrc

执行以下命令,安装 Flask:
$ python3 -m pip install flask

终端显示 Flask 安装成功!
第四步 构建 Python Web 应用程序
全部打开准备好 Python 应用程序代码(Flask 驱动的 Web 应用程序);并在 SSH 终端中,执行文本编辑命令:
$ nano app.py
修改 Web 应用代码,优化如下:
保存并退出 NANO 编辑器。
第五步 配置 Lightsail 防火墙规则
全部打开返回 Amazon Lightsail 控制台,打开创建的实例。

选择页面下方选项卡“Networking”。

在防火墙中添加规则。

在 IPV4 Firewall 部分,点击”Add rule”(增加规则),选择 Application 下拉菜单“Custom”,Protocol 为“TCP”,Port or range(端口或范围)为”5000”,点击“Create”完成规则创建。
第六步 验证 Flask 应用程序
全部打开在 Amazon_Linux_2023_instance 创建的实例中,显示有 Public IPv4 address (即通常所说的IP地址),加上配置的防火墙规则(包括 TCP 协议和端口号 5000)。

因此,打开 Chrome 浏览器,在地址栏输入IP地址加端口并访问 Web 页面。
可以看到,访问公网 IP 地址时,显示页面内容“Hello! This is from Amazon Lightsail Python Application!” ,说明使用 Lightsail 实例成功构建了基于 Python 的 Web 应用程序!
第七步 Amazon Lightsail 和 EC2 横向对比
全部打开Amazon Lightsail 作为轻量级实例应用,与经典的 EC2(Elastic Compute Cloud,弹性计算云)有很多异同点,以下做个简要比较分析。
两者最终均需输出一个应用示例,即在 Web 页面返回一行文本(仅举例):
Hello from Flask Application!
|
对比维度 |
Amazon Lightsail |
Amazon EC2 |
|
控制台入口 |
独立 Lightsail 控制台 |
EC2 通用控制台 |
|
创建实例 |
选择 Blueprint + 套餐 |
选择 AMI + 实例类型 |
|
网络配置 |
自动完成 |
需理解 VPC / 子网 |
|
防火墙 |
图形化端口规则 |
Security Group 规则 |
|
公网 IP |
自动分配 |
自动或弹性 IP |
|
SSH 登录 |
浏览器内置 |
本地 SSH + Key |
|
必需 AWS 知识 |
极少 |
较多 |
|
新手成功率 |
很高 |
中等 |
|
步骤类别 |
Lightsail |
EC2 |
|
创建实例 |
1 步 |
5–6 步 |
|
配置网络 |
无需理解 |
必须配置 |
|
打开端口 5000 |
Firewall(1 步) |
Security Group(多项) |
|
登录实例 |
点按钮 |
配 Key |
|
安装 Python/Flask |
相同 |
相同 |
|
编写 app.py |
相同 |
相同 |
|
应用监听配置 |
0.0.0.0 |
0.0.0.0 |
|
验证公网访问 |
Public IP |
Public IP |
|
总步骤数(约) |
~11 步 |
20–25 步 |
|
项目 |
Lightsail |
EC2 |
说明 |
|
Flask 代码 |
相同 |
相同 |
完全一致 |
|
Python 版本 |
相同 |
相同 |
Ubuntu 官方源 |
|
端口监听 |
必须 0.0.0.0 |
必须 0.0.0.0 |
公网访问前提 |
|
Linux 命令 |
相同 |
相同 |
apt / pip |
|
TCP 行为 |
相同 |
相同 |
网络原理一致 |
结论:
Lightsail 并没有“简化 Linux 或 Python”,而是简化了AWS 基础设施管理层。
|
对比项 |
Lightsail |
EC2 |
|
防火墙层级 |
实例级 |
实例级 |
|
配置方式 |
Firewall UI |
Security Group |
|
默认策略 |
拒绝除 SSH 外 |
拒绝除 SSH 外 |
|
打开端口 |
输入端口即可 |
定义规则对象 |
|
误配置概率 |
低 |
高 |
|
排障复杂度 |
低 |
中–高 |
|
项目 |
Lightsail |
EC2 |
|
计费方式 |
固定月费 |
按资源 |
|
流量 |
包含额度 |
单独计费 |
|
存储 |
含 SSD |
EBS 分离 |
|
账单可预测性 |
非常高 |
中 |
|
教学成本控制 |
极佳 |
需解释 |
第八步 总结
全部打开本教程利用 Lightsail 进行高效部署和运行 Python 应用程序,实现了轻量级 Lightsail 快捷部署应用程序的详细步骤,对比 Lightsail 和 EC2,二者在运行“同一个 Flask 应用”的前提下有以下差别:
- Lightsail 让学习者专注应用本身
- EC2 要求学习者同时理解云基础设施