aws(学习笔记第二十六课) 使用AWS Elastic Beanstalk
aws(学习笔记第二十六课)
- 使用
aws Elastic Beanstalk
学习内容:
AWS Elastic Beanstalk
整体架构AWS Elastic Beanstalk
的hands on
AWS Elastic Beanstalk
部署node.js
程序包- 练习使用
AWS Elastic Beanstalk
的ebcli
1. AWS Elastic Beanstalk
整体架构
-
官方的
guide
AWS
的官方guide
如下。
aws Elastic Beanstalk guide
链接 -
为什么使用
AWS Elastic Beanstalk
web application
开发,必须考虑很多环境面的问题。VPC
如何分割成subnet
- 如何设定
AutoScaling
- 设定
Elastic Load Balancing
Route53
设定dev/test/prod
的环境设定
对于
web application
开发者来说,要考虑应用开发以外的很多,需要很多考虑。如果想简单使用AWS
,只考虑开发业务代码,生成.zip
或者war
文件就能够作成一个完整的web application
,那么可以考虑使用AWS Elastic Beanstalk
。
2. AWS Elastic Beanstalk
的hands on
AWS Elastic Beanstalk
的全体架构
- 构建
AWS Elastic Beanstalk
- 开始一个新的
Elastic Beanstalk
,首先创建Elastic Beanstalk application
- 之后创建
environment
- 选择
web
服务器环境
- 选择平台
平台选择java
。其他的也没有问题,这里首先使用java
- 选择应用程序代码
这里就是应用程序代码,开发人员只关注业务代码上传,web
应用程序的部署都交给AWS
。这里选择AWS
提供的示例程序。后面的练习中使用node.js的打包程序
- 选择
- 权限设定
- 使用
AWS
的自动设置功能
自动生成一个生成的role
- 可以查看
AWS
创建的两个role
的权限设定
可以看出都是关于Elastic Beanstalk
执行和ec2
的各种权限。
- 使用
- 选择网络设定
VPC
和Subnet
的设定
这里选择待带有公网权限的default
的VPC
和Subnet
。
database
的设定这里无效
主要是练习使用Elastic Beanstalk
的功能,这里让database
的设置无效化。- 安全组设定
安全组这里选择网络全开的default
安全组,为了方便练习。
- 最后提交
Elastic BeanStalk
- 经过几分钟之后,
Elastic BeanStalk Environment
会创建成功
- 开始一个新的
- 访问
AWS Elastic Beanstalk
示例程序- 回到
Elastic BeanStalk Application
一栏画面,进入创建的Applicaiton
- 点击
Elastic BeanStalk Application
的域
可以看出马上会进入该示例程序。
- 回到
3. AWS Elastic Beanstalk
部署node.js
程序包
- 编写自己的
node.js web application
- 进入上面创建的
ec2
- 在
ec2
上创建node.js web application
sudo -i cd /home/ec2-user mkdir my_webapp yum install npm -y npm init -y npm install express
- 在
/home/ec2-user/my_webapp
上创建app.js
const express = require('express'); const app = express(); app.get('/',(req,res)=>{ res.send("Welcome to Home Page") }); app.listen(8080,() =>{console.log("I am node js"); });
- 执行
app.js
node application.js
- 访问该
node.js web application
- 打包
node.js web application
,上传到s3 bucket
[root@ip-172-31-1-135 my_webapp]# zip -r app.zip ./* [root@ip-172-31-1-135 my_webapp]# aws s3 cp ./app.zip s3://finlay-cloudshell
- 进入上面创建的
- 部署
node.js web application
- 开始创建另一个
application
- 选择平台环境
- 选择
s3 bucket
的应用程序
- 访问
node.js web application
AWS Elastic Beanstalk
让开发者单纯面对web application
的开发,其他的交个AWS
来构建。在这方面表现很出色。
- 开始创建另一个
4.练习使用AWS Elastic Beanstalk
的ebcli
- 什么是
eb cli
顾名思义,这个是Elastic Beanstalk Command Line Interface
pypi的官方网站 - 使用
ebcli
这里可以使用cloudshell
进行开发。-
进入
cloudshell
,并创建一个helloworld
的实例application
mkdir myapp cd myapp echo "I am EB CLI" > index.html eb init(选择区域) eb create
-
trouble shooting
这里会有几种常见错误对应方法。Default subnet in ap-northeast-1a not found
这里,loader balancer
需要default VPC
必须要有default subnet
,但是这里的环境没有,所以需要创建一个subnet
并且,AWS console
是不能够创建default subnet
,必须使用aws cli
来创建。
同样,使用cloudshell
aws ec2 create-default-subnet --availability-zone ap-northeast-1a
At least two subnets in two different Availability Zones must be specified
这个也是常见的错误,但是这个提示特别的误导开发者,正确的是,AWS Elastic Beanstalk
在自动load balancer
的时候,需要两个条件。- 必须在有两个以上的
Availability Zone
里面作成subnet
- 必须对每个
Availability Zone
设定default subnet
注意AWS console
是不能够创建default subnet
,必须使用aws cli
来创建。 - 创建
subnet
代码aws ec2 create-default-subnet --availability-zone ap-northeast-1c aws ec2 create-default-subnet --availability-zone ap-northeast-1d
- 必须在有两个以上的
-
再次挑战
eb create
最后,创建成功。
-
访问
web application(Elastic Beanstalk)
- 进入
application
,点击environment
- 点击该
environment
的domain
这里尝试了9次才成功,所以点击最后一次的domain
。
- 访问
application
成功打开页面。
- 进入
-
相关文章:

aws(学习笔记第二十六课) 使用AWS Elastic Beanstalk
aws(学习笔记第二十六课) 使用aws Elastic Beanstalk 学习内容: AWS Elastic Beanstalk整体架构AWS Elastic Beanstalk的hands onAWS Elastic Beanstalk部署node.js程序包练习使用AWS Elastic Beanstalk的ebcli 1. AWS Elastic Beanstalk整体架构 官方的guide AWS…...

《OpenCV》——图像透视转换
图像透视转换简介 在 OpenCV 里,图像透视转换属于重要的几何变换,也被叫做投影变换。下面从原理、实现步骤、相关函数和应用场景几个方面为你详细介绍。 原理 实现步骤 选取对应点:要在源图像和目标图像上分别找出至少四个对应的点。这些对…...
9 点结构模块(point.rs)
一、point.rs源码 use super::UnknownUnit; use crate::approxeq::ApproxEq; use crate::approxord::{max, min}; use crate::length::Length; use crate::num::*; use crate::scale::Scale; use crate::size::{Size2D, Size3D}; use crate::vector::{vec2, vec3, Vector2D, V…...

Java线程认识和Object的一些方法ObjectMonitor
专栏系列文章地址:https://blog.csdn.net/qq_26437925/article/details/145290162 本文目标: 要对Java线程有整体了解,深入认识到里面的一些方法和Object对象方法的区别。认识到Java对象的ObjectMonitor,这有助于后面的Synchron…...
【高等数学】贝塞尔函数
贝塞尔函数(Bessel functions)是数学中一类重要的特殊函数,通常用于解决涉及圆对称或球对称的微分方程。它们在物理学、工程学、天文学等多个领域都有广泛的应用,例如在波动方程、热传导方程、电磁波传播等问题中。 贝塞尔函数的…...

99.20 金融难点通俗解释:中药配方比喻马科维茨资产组合模型(MPT)
目录 0. 承前1. 核心知识点拆解2. 中药搭配比喻方案分析2.1 比喻的合理性 3. 通俗易懂的解释3.1 以中药房为例3.2 配方原理 4. 实际应用举例4.1 基础配方示例4.2 效果说明 5. 注意事项5.1 个性化配置5.2 定期调整 6. 总结7. 代码实现 0. 承前 本文主旨: 本文通过中…...
实现使用K210单片机进行猫脸检测,并在检测到猫脸覆盖屏幕50%以上时执行特定操作
要实现使用K210单片机进行猫脸检测,并在检测到猫脸覆盖屏幕50%以上时执行特定操作,以及通过WiFi上传图片到微信小程序,并在微信小程序中上传图片到开发板进行训练,可以按照以下步骤进行: 1. 硬件连接 确保K210开发板…...

小程序设计和开发:如何研究同类型小程序的优点和不足。
一、确定研究目标和范围 明确研究目的 在开始研究同类型小程序之前,首先需要明确研究的目的。是为了改进自己的小程序设计和开发,还是为了了解市场趋势和用户需求?不同的研究目的会影响研究的方法和重点。例如,如果研究目的是为了…...

tiktok 国际版抖抖♬♬ X-Bogus参数算法逆向分析
加密请求参数得到乱码,最终得到X-Bogus...
Redis 基础命令
1. redis 命令官网 https://redis.io/docs/latest/commands/ 2. 在 redis-cli 中使用 help 命令 # 查看 help string 基础命令 keys * # * 代表通配符set key value # 设置键值对del key # 删除键expire key 时间 # 给键设置时间 # -2 代表时间到期了, -1 代表…...

深入解析Python机器学习库Scikit-Learn的应用实例
深入解析Python机器学习库Scikit-Learn的应用实例 随着人工智能和数据科学领域的迅速发展,机器学习成为了当下最炙手可热的技术之一。而在机器学习领域,Python作为一种功能强大且易于上手的编程语言,拥有庞大的生态系统和丰富的机器学习库。其…...

专业的定制版软件,一键操作,无限使用
今天给大家介绍一个专业的PDF转word的小软件,软件只有5.5M。非常小,而且没有文档大小的限制,可以随意使用。 PDFtu PDF转word 软件第一次使用需要安装一下。 安装好之后,我们就能在桌面找到对应的图标,打开就能直接使…...

小程序-基础加强
前言 这一节把基础加强讲完 1. 导入需要用到的小程序项目 2. 初步安装和使用vant组件库 这里还可以扫描二维码 其中步骤四没什么用 右键选择最后一个 在开始之前,我们的项目根目录得有package.json 没有的话,我们就初始化一个 但是我们没有npm这个…...
pytorch实现基于Word2Vec的词嵌入
PyTorch 实现 Word2Vec(Skip-gram 模型) 的完整代码,使用 中文语料 进行训练,包括数据预处理、模型定义、训练和测试。 1. 主要特点 支持中文数据,基于 jieba 进行分词 使用 Skip-gram 进行训练,适用于小数…...
流媒体娱乐服务平台在AWS上使用Presto作为大数据的交互式查询引擎的具体流程和代码
一家流媒体娱乐服务平台拥有庞大的用户群体和海量的数据。为了高效处理和分析这些数据,它选择了Presto作为其在AWS EMR上的大数据查询引擎。在AWS EMR上使用Presto取得了显著的成果和收获。这些成果不仅提升了数据查询效率,降低了运维成本,还…...

鸿蒙 循环控制 简单用法
效果 简单使用如下: class Item {id: numbername: stringprice: numberimg: stringdiscount: numberconstructor(id: number, name: string, price: number, img: string, discount: number) {this.id idthis.name namethis.price pricethis.img imgthis.discou…...

四、GPIO中断实现按键功能
4.1 GPIO简介 输入输出(I/O)是一个非常重要的概念。I/O泛指所有类型的输入输出端口,包括单向的端口如逻辑门电路的输入输出管脚和双向的GPIO端口。而GPIO(General-Purpose Input/Output)则是一个常见的术语,…...

Linux安装zookeeper
1, 下载 Apache ZooKeeperhttps://zookeeper.apache.org/releases.htmlhttps://zookeeper.apache.org/releases.htmlhttps://zookeeper.apache.org/releases.htmlhttps://zookeeper.apache.org/releases.htmlhttps://zookeeper.apache.org/releases.htmlhttps://zookeeper.apa…...

【贪心算法篇】:“贪心”之旅--算法练习题中的智慧与策略(二)
✨感谢您阅读本篇文章,文章内容是个人学习笔记的整理,如果哪里有误的话还请您指正噢✨ ✨ 个人主页:余辉zmh–CSDN博客 ✨ 文章所属专栏:贪心算法篇–CSDN博客 文章目录 前言例题1.买卖股票的最佳时机2.买卖股票的最佳时机23.k次取…...
007 JSON Web Token
文章目录 https://doc.hutool.cn/pages/jwt/#jwt%E4%BB%8B%E7%BB%8D JWT是一种用于双方之间安全传输信息的简洁的、URL安全的令牌标准。这个标准由互联网工程任务组(IETF)发表,定义了一种紧凑且自包含的方式,用于在各方之间作为JSON对象安全地传输信息。…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...

《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...