当前位置: 首页 > news >正文

aws(学习笔记第二十六课) 使用AWS Elastic Beanstalk

aws(学习笔记第二十六课)

  • 使用aws Elastic Beanstalk

学习内容:

  • AWS Elastic Beanstalk整体架构
  • AWS Elastic Beanstalkhands on
  • AWS Elastic Beanstalk部署node.js程序包
  • 练习使用AWS Elastic Beanstalkebcli

1. AWS Elastic Beanstalk整体架构

  1. 官方的guide
    AWS的官方guide如下。
    aws Elastic Beanstalk guide链接

  2. 为什么使用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 Beanstalkhands on

  1. AWS Elastic Beanstalk的全体架构
    在这里插入图片描述
  2. 构建AWS Elastic Beanstalk
    • 开始一个新的Elastic Beanstalk,首先创建Elastic Beanstalk application
      在这里插入图片描述
    • 之后创建environment
      • 选择web服务器环境
        在这里插入图片描述
      • 选择平台
        平台选择java。其他的也没有问题,这里首先使用java
        在这里插入图片描述
      • 选择应用程序代码
        这里就是应用程序代码,开发人员只关注业务代码上传,web应用程序的部署都交给AWS。这里选择AWS提供的示例程序。后面的练习中使用node.js的打包程序
        在这里插入图片描述
    • 权限设定
      • 使用AWS的自动设置功能
        自动生成一个生成的role
        在这里插入图片描述
      • 可以查看AWS创建的两个role的权限设定
        可以看出都是关于Elastic Beanstalk执行和ec2的各种权限。
        在这里插入图片描述
    • 选择网络设定VPCSubnet的设定
      这里选择待带有公网权限的defaultVPCSubnet
      在这里插入图片描述
    • database的设定这里无效
      主要是练习使用Elastic Beanstalk的功能,这里让database的设置无效化。在这里插入图片描述
    • 安全组设定
      安全组这里选择网络全开的default安全组,为了方便练习。
      在这里插入图片描述
    • 最后提交Elastic BeanStalk
      在这里插入图片描述
    • 经过几分钟之后,Elastic BeanStalk Environment会创建成功
      在这里插入图片描述
  3. 访问AWS Elastic Beanstalk示例程序
    • 回到Elastic BeanStalk Application一栏画面,进入创建的Applicaiton
      在这里插入图片描述
    • 点击Elastic BeanStalk Application的域
      可以看出马上会进入该示例程序。
      在这里插入图片描述

3. AWS Elastic Beanstalk部署node.js程序包

  1. 编写自己的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
      
      在这里插入图片描述
  2. 部署node.js web application
    • 开始创建另一个application在这里插入图片描述
    • 选择平台环境
      在这里插入图片描述
    • 选择s3 bucket的应用程序
      在这里插入图片描述
    • 访问node.js web application
      在这里插入图片描述
      AWS Elastic Beanstalk让开发者单纯面对web application的开发,其他的交个AWS来构建。在这方面表现很出色。

4.练习使用AWS Elastic Beanstalkebcli

  1. 什么是eb cli
    顾名思义,这个是Elastic Beanstalk Command Line Interface
    pypi的官方网站
  2. 使用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
        在这里插入图片描述
      • 点击该environmentdomain
        这里尝试了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)则是一个常见的术语&#xff0c…...

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对象安全地传输信息。…...

暗黑3终极按键助手D3KeyHelper:图形化配置解放你的双手

暗黑3终极按键助手D3KeyHelper:图形化配置解放你的双手 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 还在为暗黑破坏神3中繁琐的技能按…...

如何用DS4Windows让PS4手柄在PC上完美运行?3步解锁专业游戏体验

如何用DS4Windows让PS4手柄在PC上完美运行?3步解锁专业游戏体验 【免费下载链接】DS4Windows Like those other ds4tools, but sexier 项目地址: https://gitcode.com/gh_mirrors/ds/DS4Windows 你是否曾经想过在PC上使用心爱的PS4手柄玩游戏,却发…...

通达信缠论插件ChanlunX:3分钟实现专业缠论分析的完整解决方案

通达信缠论插件ChanlunX:3分钟实现专业缠论分析的完整解决方案 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 你是否曾经面对复杂的K线图感到无从下手?是否因为缠论的手工绘制耗时…...

缠论自动化分析终极指南:ChanlunX让复杂技术分析变得简单

缠论自动化分析终极指南:ChanlunX让复杂技术分析变得简单 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 你是否曾经面对复杂的K线图感到迷茫?是否想要掌握缠论分析却苦于手工绘制…...

连锁品牌万店扩张的破局之道:用数字化营建体系,突破规模化瓶颈

在消费市场竞争日趋激烈的当下,连锁品牌的规模化扩张,早已不是 “砸钱就能跑通” 的简单命题。很多品牌手握充足资金,却在扩张到几十、上百家门店时陷入停滞:门店营建标准混乱、多项目统筹失控、资深项目经理一将难求,…...

别再傻傻分不清了!一张图看懂CRT、PEM、PFX、P7B证书格式的区别与应用场景

数字证书格式全解析:CRT、PEM、PFX、P7B的核心差异与实战选择 当你第一次在服务器上配置SSL证书时,面对CRT、PEM、PFX、P7B这些后缀名,是不是感觉像在解密码?上周我帮一个创业团队迁移服务器,他们的CTO拿着五个不同格式…...

[实战] 2026年CNC加工质量控制:从工程图纸数字化到检验计划生成的全流程解析

在 2026 年的精密制造环境中,cnc 加工(CNC machining)已不再仅仅是切削工艺的竞争,更是数字化协作与质量控制能力的较量。随着多品种、小批量生产模式成为主流,如何快速解析复杂的工程图纸并制定高精度的检验计划&…...

如何用KLOGG在5分钟内成为日志分析高手

如何用KLOGG在5分钟内成为日志分析高手 【免费下载链接】klogg Really fast log explorer based on glogg project 项目地址: https://gitcode.com/gh_mirrors/kl/klogg 你是否曾在海量日志文件中迷失方向?面对数十GB的日志数据,传统的grep命令显…...

路由器市场新机遇:从硬件到场景化解决方案的演进

1. 项目概述:一个被低估的“家门口”战场聊到路由器,很多人的第一反应可能是“运营商送的”、“能用就行”。确实,在过去很长一段时间里,家用Wi-Fi设备是一个典型的“黑盒”产品,用户对其性能、功能和体验的感知非常模…...

开源商业技能知识库:从道法术器到实战应用的全解析

1. 项目概述:一个面向商业技能的开源知识库 最近在GitHub上闲逛,发现了一个挺有意思的项目,叫 openclaw-business-skills 。光看名字,你可能会觉得这又是一个普通的“商业技能”教程合集。但点进去仔细研究后,我发现…...