手把手教你玩转AWS——搭建无服务器架构的网站 (入门)

一、AWS简介

亚马逊AWS(Amazon Web Services (AWS) )是亚马逊提供的专业云计算服务,于2006年推出,以Web服务的形式向企业提供IT基础设施服务,通常称为云计算。其主要优势之一是能够以根据业务发展来扩展的较低可变成本来替代前期资本基础设施费用。
亚马逊网络服务所提供服务包括:亚马逊弹性计算网云(Amazon EC2)、亚马逊简单储存服务(Amazon S3)、亚马逊简单数据库(Amazon SimpleDB)、亚马逊简单队列服务(Amazon Simple Queue Service)以及Amazon CloudFront等。【来自百度百科】

虽然,在国内很多人用阿里云、华为云,但AWS毕竟是云计算的鼻祖。

二、注册

AWS已经提供中国区的服务,目前在中国只有北京区和宁夏区。同时,向中国区的用户提供了很多免费服务。但好像不支持个人注册,是面向企业的,注册需要提供公司信息,之后会有工作人员与你联系。注册登录后,控制台界面如下:
在这里插入图片描述

三、搭建 Hello World

本实验的目的是使用 Amazon API Gateway 和 AWS Lambda 快速搭建一个无服务器网站 。

1、新建一个 Lambda

在AWS控制台打开Lambda服务,点击新建一个Lambda函数。
在这里插入图片描述

2、输入一个名字,选择开发语言

观察这里可以使用的开发语言,并选择Python3.7开发语言进行本实验
选择一个执行角色,先选择Lambda_basic_excution,这个角色可以让Lambda上传Logs到CloudWatch
输入一个名字,选择开发语言
在这里插入图片描述
然后点击创建函数 。

3、保存Lambda函数

观察Lambda函数的配置界面:触发器、代码窗口、Lambda权限、角色权限、内存、运行超时时间、并发 。在本实验中,以上配置暂时保持默认值 。
在这里插入图片描述
在这里插入图片描述

4、创建API

在AWS控制,APIGateway服务中,新建一个API。
在这里插入图片描述

5、创建一个GET方法

在这里插入图片描述
在这里插入图片描述

6、配置API触发Lambda

这里选择配置较简易的代理集成,并输入Lambda的名称(输入前面的字母就可以下拉选择),完成保存。1. 如果要让API进行数据转换的话,则可以取消代理集成,直接配置转换模版 。

  1. 部署API
    在这里插入图片描述

7、部署API

完成前面的步骤之后,API就配置好了,要投入使用还需要将其部署生效。
在这里插入图片描述
输入部署的“阶段”名字,阶段的意思就是说这个部署的API是什么版本?是测试,开发,还是生产接口,这样以后每次修改,就可以针对不同的阶段进行部署,先开发、测试,然后部署上生产。
在这里插入图片描述

8、访问URL

部署完之后,从阶段的界面可以找到访问的URL,这个就是API的URL,用浏览器访问这个URL即会访问到这个API,并且触发Lambda进行响应。
在这里插入图片描述

9、修改Lambda

回到Lambda的界面,对代码的响应部分进行修改,记得要保存Lambda。
在这里插入图片描述
此时,一个简单的网站已经搭建完成。

四、访问数据库

1、创建一个 DynamoDB 数据库表

到AWS控制台的DynamoDB服务界面,创建一个DynamoDB数据库表。
在这里插入图片描述

2、命名,并配置主键

给数据库表定义一个名称(跟其他表不要冲突),并设置主键,例如“id”。
在这里插入图片描述

3、数据库中创建记录

为你的数据库表创建一些记录,类似如下。
在这里插入图片描述
有没留意到,这个数据库创建记录的过程并没有先定义字段,而是新增记录的同时就自动完成了新建字段的过程 。

4、用Lambda访问DynamoDB

在Lambda的代码界面用以下的代码代替原来的代码,注意修改数据库表名称 TableName=‘your_DynamoDB_name’。

import json
import boto3
client = boto3.client('dynamodb')

def lambda_handler(event, context):
    response = client.scan(
        TableName='your_DynamoDB_name')
    
    return {
        'statusCode': 200,
        'body': (json.dumps(response, indent=4, ensure_ascii=False))
    }

代码替换后的效果如下图,记得保存。
在这里插入图片描述

5、刷新浏览器访问

刷新刚才访问APIGateway的浏览器页面,这时候,你将看到你的整个数据库查询响应以JSON格式返回了。
在这里插入图片描述
如果报错查询不到数据库,则请检查上面的数据库表名称是否跟你刚才新建的数据库表名一致。
如果还出现其他错误,别急,往下看!!!

五、配置 Lambda 的访问权限

在前面的步骤中,如果没有配置 Lambda 访问 DynamoDB 的访问权限,实际上是无法访问到数据库的,需要在IAM中新建如下的角色。并且修改Lambda的执行权限为这个新建的角色。可以由IAM管理员统一新建该角色为lambda_access_dynamoDB,然后每位学员只需要修改自己Lambda的执行角色。

1、创建一个新角色,受信实体选择Lambda

在这里插入图片描述

2、配置权限策略,配置 AmazonDynamoDBFullAccess 权限和 AWSLambdaBasicExecutionRole

在这里插入图片描述

3.、配置角色的名称,完成新建

在这里插入图片描述

4、修改Lambda的执行角色,为新建的角色

在这里插入图片描述

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值