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

      shell 复制代码
      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

      javascript 复制代码
      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

      shell 复制代码
      node application.js
    • 访问该node.js web application

    • 打包node.js web application,上传到s3 bucket

      shell 复制代码
      [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的官方网站
    未完待续->
相关推荐
深蓝海拓22 分钟前
PySide6从0开始学习的笔记(二十六) 重写Qt窗口对象的事件(QEvent)处理方法
笔记·python·qt·学习·pyqt
中屹指纹浏览器23 分钟前
中屹指纹浏览器多场景技术适配与接口封装实践
经验分享·笔记
星火开发设计2 小时前
C++ 预处理指令:#include、#define 与条件编译
java·开发语言·c++·学习·算法·知识
BugShare2 小时前
Obsidian 使用指南:从零开始搭建你的个人知识库
笔记·obsidian
BackCatK Chen3 小时前
第 1 篇:软件视角扫盲|TMC2240 软件核心特性 + 学习路径(附工具清单)
c语言·stm32·单片机·学习·电机驱动·保姆级教程·tmc2240
深蓝海拓3 小时前
PySide6从0开始学习的笔记(二十五) Qt窗口对象的生命周期和及时销毁
笔记·python·qt·学习·pyqt
理人综艺好会3 小时前
Web学习之用户认证
前端·学习
●VON3 小时前
React Native for OpenHarmony:项目目录结构与跨平台构建流程详解
javascript·学习·react native·react.js·架构·跨平台·von
跃渊Yuey3 小时前
【Linux】线程同步与互斥
linux·笔记
AI视觉网奇3 小时前
FBX AnimSequence] 动画长度13与导入帧率30 fps(子帧0.94)不兼容。动画必须与帧边界对齐。
笔记·学习·ue5