如何确认项目是否已在本人AWS账号中成功部署运行?
验证项目是否实际部署到你的AWS账号的实操方法
你目前观察到的「仅1台运行中EC2、账单用量显示为0」的状态存在明显疑点,2款移动应用+2个网站的全栈服务几乎不可能仅靠1台EC2承载,账单为0也不代表没有部署资源(新账号12个月免费额度内,符合额度要求的资源不会产生费用),你可以按以下步骤逐一验证:
1. 先核查现有EC2实例的真实状态
- 不要只看默认区域的EC2列表,先切换所有AWS商业区域,筛选所有状态(运行中、已停止、已终止)的实例,避免遗漏部署在其他区域的资源。
- 定位到当前运行的这台EC2,首先获取它的公网IP、绑定的弹性IP、关联的负载均衡器信息,直接在浏览器访问IP的80、443端口,确认返回的内容是不是你的网站业务。
- 通过SSH连接到实例内部,执行对应命令核查运行中的服务和部署代码:
- 用
ps aux查看当前运行的进程,匹配你项目的技术栈(比如Nginx、Node.js、Java、Python、PHP-FPM等服务进程) - 进入
/var/www、/opt、/home等常见部署目录,查看目录下的代码文件、配置文件是否包含你的项目专属标识、业务逻辑,有没有开发方自有环境的残留配置 - 查看CloudWatch监控指标,确认这台实例的CPU、内存、网络出入流量是否符合业务承载预期:如果长期CPU占用低于1%、网络流量接近0,基本就是一台没有跑实际业务的空实例。
- 用
2. 全品类核查AWS资源,不要只盯着EC2
正规的全栈项目不会把所有服务都堆在单台EC2上,大概率会用到存储、数据库、Serverless、CDN类服务,漏查这些服务无法完成完整验证
- 进入Billing控制台的用量明细页面,按服务维度筛选所有产生过用量记录的服务:就算在免费额度内,实际运行的服务也会产生可查询的用量记录,如果所有服务的用量值都接近0,说明你的账号下根本没有跑实际业务。
- 逐个核查对应服务的资源列表:
- S3:检查是否存在存储网站静态资源、APP安装包、用户上传文件的存储桶,核对桶内文件是否匹配你的项目内容,确认桶的访问策略和你的业务域名匹配
- RDS、DynamoDB:检查是否存在对应业务的数据库实例,连接数据库后核对库表结构、业务数据是否和你的项目匹配
- CloudFront:检查是否存在绑定你的网站、APP静态资源的CDN分发规则,确认分发的源站指向你账号内的资源
- Lambda、API Gateway:如果项目用了Serverless架构,检查是否存在对应业务的函数、API接口,发送测试请求确认返回内容符合你的项目接口逻辑
- Amplify、App Runner、ECS/EKS:这类托管应用、容器服务也要逐一核查,很多前端站点、容器化后端会直接部署在这类服务上,不需要单独创建EC2
- Route53:检查是否托管了你的项目域名,确认域名解析记录指向的源站都属于你账号内的资源
3. 做端到端验证,排除资源挂靠的情况
- 本地执行
nslookup 你的网站域名、nslookup 你的APP接口域名,拿到域名解析对应的IP地址,核对这些IP是否属于你账号下的EC2、CloudFront、负载均衡器的IP段,如果解析结果指向的IP不在你的账号资源范围内,说明服务实际还跑在开发方自有环境里,根本没有完成迁移。 - 做故障模拟测试:先给当前运行的EC2创建快照备份,然后手动将实例关机10-15分钟,期间完整访问2个网站的所有页面、操作2款移动APP的所有核心功能,如果所有服务完全正常、没有任何访问故障,100%说明你的项目根本没有跑在这台EC2上,甚至根本不在你的AWS账号内。
- 核对所有资源的创建时间:你找到的所有和项目相关的AWS资源,创建时间应该和开发方声称的迁移完成时间匹配,如果资源创建时间早于你们的合作启动时间,或者完全找不到对应服务的资源,就说明对方的迁移声明造假。
内容的提问来源于stack exchange,提问作者Chandrakishore Reddy
相关产品推荐
相关产品推荐

