aws(学习笔记第一课) AWS CLI,创建ec2 server以及drawio进行aws画图
aws(学习笔记第一课)
- 使用
AWS CLI
学习内容:
- 使用
AWS CLI - 配置密钥对
- 创建
ec2 server - 使用
drawio(vscode插件)进行AWS的画图
1. 使用AWS CLI
- 注册
AWS账号
AWS是通用的云计算平台,可以提供ec2,vpc,SNS以及cloud watch,RDS等各种各样的云计算组件,使得用户可以专注于业务层次的开发,方便扩展。
AWS官方网站
AWS官方文档

注册账号相当简单:- 首先需要一个国际信用卡(这里需要去银行办理,之后邮寄)
-

-
第一年的费用是免费的,但是也有一些
service是付费的,注意在练习之后马上删除。 -
每次练习之后就立即删除的话,几乎不会花费费用。如果万一使用了过多的费用,也要立即和
AWS进行沟通。
-
- 之后就是注册账号,正常进行注册
- 注册之后就会产生一个
根用户,类似于linux的root账户
- 首先需要一个国际信用卡(这里需要去银行办理,之后邮寄)
- 创建
AWS用户
可以使用上面的根用户,但是非常不建议这么做,因此创建一个新用户。- 使用
根用户登录AWS
- 点击
IAM服务,创建新用户
- 指定用户名,这里指定
mycli
- 配置权限
直接附加策略到mycli用户,这里可以看出策略分为AWS托管和客户托管。
AWS托管是AWS内置的策略,客户托管是用户自己创建的策略。这里选择AWS托管的AdministratorAccess。

- 创建好了用户

- 使用
- 创建访问密钥
这里的访问密钥代表了该用户,所以一定要注意隐私安全,不要公开给其他人。
- 选择命令行(CLI)
选择之后继续下一步

- 设置标签。

- 最后完成密钥的生成
注意,这里的密钥要在之后的AWS CLI中配置使用,所以自己要记住。改密钥只能显示一次,所以一定要记住
- 选择命令行(CLI)
- 安装
AWS CLI
这里虽然是windows系统安装,但是采用git bash+python进行安装 AWS CLI是基于python的- 安装
python
- 安装
AWS CLI
执行pip install awscli

- 检查
AWS CLI的版本

- 安装
- 配置
AWS CLI- 执行
aws configure
执行aws configure,第一个和第二个参数指定刚才生成的密钥。Default region name指定ap-northeast-1(东京,相对近些),输出形式指定json。
- 检查配置的结果
执行cd ~/.aws,进入配置目录,可以看到两个文件。
- 执行下
AWS CLI命令
执行下面命令
可以看到结果为空的aws ec2 describe-instances --filters "Name=instance-type,Values=t2.micro"Reservations,这是由于没有创建ec2 server,到了这里,AWS CLI创建OK
- 执行
2. 创建公私钥密钥对
- 创建自己的密钥对
- 进入
ec2服务,之后点击左面菜单的密钥对。

- 如下选择,之后点击生成

AWS自动下载密钥pem文件(my-cli-key.pem)
这里将密钥文件保存到本地~/.ssh/my-cli-key.pem,之后会使用该密钥文件进行登录ec2 server。
- 进入
3. 创建ec2 server
- 执行如下的
AWS CLI脚本
执行如下的AWS CLI脚本,进行ec2 server的创建。#!/bin/bash -e # You need to install the AWS Command Line Interface from http://aws.amazon.com/cli/ AMIID=$(aws ec2 describe-images --filters "Name=description, Values=Amazon Linux 2023 AMI 2023.5.20240916.0 x86_64 HVM kernel-6.1" --query "Images[0].ImageId" --output text) VPCID=$(aws ec2 describe-vpcs --filter "Name=isDefault, Values=true" --query "Vpcs[0].VpcId" --output text) SUBNETID=$(aws ec2 describe-subnets --filters "Name=vpc-id, Values=$VPCID" --query "Subnets[0].SubnetId" --output text) SGID=$(aws ec2 create-security-group --group-name mysecuritygroup --description "My security group" --vpc-id $VPCID --output text) aws ec2 authorize-security-group-ingress --group-id $SGID --protocol tcp --port 22 --cidr 0.0.0.0/0 INSTANCEID=$(aws ec2 run-instances --image-id $AMIID --key-name my-cli-key --instance-type t2.small --security-group-ids $SGID --subnet-id $SUBNETID --query "Instances[0].InstanceId" --output text) echo "waiting for $INSTANCEID ..." aws ec2 wait instance-running --instance-ids $INSTANCEID PUBLICNAME=$(aws ec2 describe-instances --instance-ids $INSTANCEID --query "Reservations[0].Instances[0].PublicDnsName" --output text) echo "$INSTANCEID is accepting SSH connections under $PUBLICNAME" echo "ssh -i my-cli-key.pem ec2-user@$PUBLICNAME" read -p "Press [Enter] key to terminate $INSTANCEID ..." aws ec2 terminate-instances --instance-ids $INSTANCEID echo "terminating $INSTANCEID ..." aws ec2 wait instance-terminated --instance-ids $INSTANCEID aws ec2 delete-security-group --group-id $SGID echo "done." - 创建的
AWS的结构图
在默认的vpc的默认subnet之中创建security group,之后创建ec2 server
注意,这里的默认vpc必须能够有个internet gateway,并且能自动分配public ip address。

- 查看
AWS CLI脚本的执行结果-
可以看到,
security group已经创建,并且已经启动了一个ec2 server。

-
查看
AWS Console

-
- 使用
私钥文件来访问ec2 serverssh -i my-cli-key.pem ec2-user@ec2-13-114-248-64.ap-northeast-1.compute.amazonaws.com- 使用
git bash登录进去ec2 server。

- 使用
- 练习完毕之后停止
ec2 server- 一定要停止
ec2 server
注意,重要的事情说3遍,一定要注意清理练习后的环境,否则会发生费用,是美元!!
- 一定要停止
4. 使用drawio(vscode插件)进行AWS的画图
- 对于
AWS的各种service组成的构成图,可以采用drawio。采用vscode的drawio插件。

- 做成一个
aws.drawio,之后采用vscode打开。

- 打开
More Shapes,之后将AWS 19选项

- 之后使用
drawio画出AWS的构成图

相关文章:
aws(学习笔记第一课) AWS CLI,创建ec2 server以及drawio进行aws画图
aws(学习笔记第一课) 使用AWS CLI 学习内容: 使用AWS CLI配置密钥对创建ec2 server使用drawio(vscode插件)进行AWS的画图 1. 使用AWS CLI 注册AWS账号 AWS是通用的云计算平台,可以提供ec2,vpc,SNS以及clo…...
【Python】Eventlet 异步网络库简介
Eventlet 是一个 Python 的异步网络库,它使用协程(green threads)来简化并发编程。通过非阻塞的 I/O 操作,Eventlet 使得你可以轻松编写高性能的网络应用程序,而无需处理复杂的回调逻辑或编写多线程代码。它广泛应用于…...
【JNI】数组的基本使用
在上一期讲了基本类型的基本使用,这期来说一说数组的基本使用 HelloJNI.java:实现myArray函数,把一个整型数组转换为双精度型数组 public class HelloJNI { static {System.loadLibrary("hello"); }private native String HelloW…...
React跨平台
React的跨平台应用开发详解如下: 一、跨平台能力 React本身是一个用于构建用户界面的JavaScript库,但它通过React Native等框架实现了跨平台应用开发的能力。React Native允许开发者使用JavaScript和React来编写原生应用,这些应用可以在iOS和…...
如何在 SQL 中更新表中的记录?
当你需要修改数据库中已存在的数据时,UPDATE 语句是你的首选工具。 这允许你更改表中一条或多条记录的特定字段值。 下面我将详细介绍如何使用 UPDATE 语句,并提供一些开发建议和注意事项。 基础用法 假设我们有一个名为 employees 的表,…...
宠物饮水机的水箱低液位提醒如何实现?
ICMAN液位检测芯片轻松实现宠物饮水机的水箱低液位提醒功能! 工作原理 : 基于双通道电容式单点液位检测原理 方案特点: 液位检测精度高达1mm,超强抗干扰,动态CS 10V 为家用电器水位提醒的应用提供了一种简单而又有…...
EXCEL_光标百分比
Public Sub InitCells()Dim iSheet As LongFor iSheet Sheets.Count To 1 Step -1Sheets(iSheet).ActivateActiveWindow.Zoom 85ActiveWindow.ScrollRow 1ActiveWindow.ScrollColumn 1Sheets(iSheet).Range("A1").ActivateNext iSheetEnd Sub对日项目中的文档满天…...
(一)Web 网站服务之 Apache
一、Apache 的作用和特点 作用:Apache 是一款开源的网站服务器端软件,为网站的运行提供了稳定的基础。特点: 开源免费:这使得任何人都可以免费使用和修改它。模块化设计:具有高度的灵活性,可以根据需求选择…...
英语词汇小程序小程序|英语词汇小程序系统|基于java的四六级词汇小程序设计与实现(源码+数据库+文档)
英语词汇小程序 目录 基于java的四六级词汇小程序设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师&a…...
AI学习指南深度学习篇-学习率衰减的实现机制
AI学习指南深度学习篇-学习率衰减的实现机制 前言 在深度学习中,学习率是影响模型训练的重要超参数之一。合理的学习率设置不仅可以加速模型收敛,还可以避免训练过程中出现各种问题,如过拟合或训练不收敛。学习率衰减是一种动态调整学习率的…...
My_qsort() -自己写的 qsort 函数
2024 - 10 - 05 - 笔记 - 21 作者(Author):郑龙浩 / 仟濹(网名) My_qsort()- 自己写的qsort函数 My_qsort为自己写的qsort函数,但是采用的不是快速排序,而是冒泡排序,是为了模仿qsort函数而尝试写出来的函数。 思路:…...
《向量数据库指南》——Mlivus Cloud打造生产级AI应用利器
哈哈,各位向量数据库和AI应用领域的朋友们,大家好!我是大禹智库的向量数据库高级研究员王帅旭,也是《向量数据库指南》的作者。今天,我要和大家聊聊如何使用Mlivus Cloud来搭建生产级AI应用。这可是个热门话题哦,相信大家都非常感兴趣! 《向量数据库指南》 使用Mlivus …...
Electron 进程通信
预加载(preload)脚本只能访问部分 Node.js API,但是主进程可以访问全部API。此时,需要使用进程通信。 比如,在preload.js中,不能访问__dirname,不能使用 Node 中的 fs 模块,但主进程…...
Kubernetes资源详解
华子目录 1.Kubernetes中的资源1.1资源管理介绍1.2资源管理方式1.2.1命令式对象管理1.2.2kubectl常见command命令1.2.3资源类型1.2.4常用资源类型 基本命令示例运行和调试命令示例高级命令示例总结 其他命令示例create和apply区别案例显示命名空间查看命名空间中的pod如何对外暴…...
C++11之线程
编译环境:Qt join:阻塞当前线程,直到线程函数退出 detach:将线程对象与线程函数分离,线程不依赖线程对象管理 注:join和detach两者必选其一,否则线程对象的回收会影响线程的回收,导致…...
界星空科技漆包线行业称重系统
万界星空科技为漆包线行业提供的称重系统是其MES制造执行系统解决方案中的一个重要组成部分。以下是对该系统的详细介绍: 一、系统概述 万界星空科技漆包线行业称重系统,是集成在MES系统中的一个功能模块,专门用于漆包线生产过程中的重量检…...
RabbitMQ的高级特性-事务
事务:RabbitMQ是基于AMQP协议实现的, 该协议实现了事务机制, 因此RabbitMQ也⽀持事务机制. SpringAMQP也提供了对事务相关的操作. RabbitMQ事务允许开发者确保消息的发送和接收是原⼦性的, 要么全部成功, 要么全部失败 配置事务管理器: Bean public Ra…...
Qt Linguist手册
概述 Qt 为将 Qt C 和 Qt Quick 应用程序翻译成当地语言提供了出色的支持。发布经理、翻译和开发人员可以使用 Qt 工具来完成他们的任务。 发布经理对应用程序的发布负总责。通常,他们负责协调开发人员和翻译人员的工作。他们可以使用 lupdate 工具同步源代码和翻…...
【简介Sentinel-1】
Sentinel-1是欧洲航天局哥白尼计划(GMES)中的地球观测卫星,由Sentinel-1A和Sentinel-1B两颗卫星组成。以下是对Sentinel-1的详细介绍: 一、基本信息 卫星名称:Sentinel-1 所属计划:欧洲航天局哥白尼计划…...
第 17 场小白入门赛蓝桥杯
第 17 场小白入门赛 2 北伐军费 发现每次选大的更优,所以可以排序之后,先手取右边,后手取左边。 实际发现,对于 A − B A-B A−B 的结果来说,后手对于这个式子的贡献是 − − a i --a_i −−ai ,也就…...
国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
椭圆曲线密码学(ECC)
一、ECC算法概述 椭圆曲线密码学(Elliptic Curve Cryptography)是基于椭圆曲线数学理论的公钥密码系统,由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA,ECC在相同安全强度下密钥更短(256位ECC ≈ 3072位RSA…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
【深度学习新浪潮】什么是credit assignment problem?
Credit Assignment Problem(信用分配问题) 是机器学习,尤其是强化学习(RL)中的核心挑战之一,指的是如何将最终的奖励或惩罚准确地分配给导致该结果的各个中间动作或决策。在序列决策任务中,智能体执行一系列动作后获得一个最终奖励,但每个动作对最终结果的贡献程度往往…...
PydanticAI快速入门示例
参考链接:https://ai.pydantic.dev/#why-use-pydanticai 示例代码 from pydantic_ai import Agent from pydantic_ai.models.openai import OpenAIModel from pydantic_ai.providers.openai import OpenAIProvider# 配置使用阿里云通义千问模型 model OpenAIMode…...
【threejs】每天一个小案例讲解:创建基本的3D场景
代码仓 GitHub - TiffanyHoo/three_practices: Learning three.js together! 可自行clone,无需安装依赖,直接liver-server运行/直接打开chapter01中的html文件 运行效果图 知识要点 核心三要素 场景(Scene) 使用 THREE.Scene(…...
uni-app学习笔记二十七--设置底部菜单TabBar的样式
官方文档地址:uni.setTabBarItem(OBJECT) | uni-app官网 uni.setTabBarItem(OBJECT) 动态设置 tabBar 某一项的内容,通常写在项目的App.vue的onLaunch方法中,用于项目启动时立即执行 重要参数: indexnumber是tabBar 的哪一项&…...
河北对口计算机高考MySQL笔记(完结版)(2026高考)持续更新~~~~
MySQL 基础概念 数据(Data):文本,数字,图片,视频,音频等多种表现形式,能够被计算机存储和处理。 **数据库(Data Base—简称DB):**存储数据的仓库…...
python学习day39
图像数据与显存 知识点回顾 1.图像数据的格式:灰度和彩色数据 2.模型的定义 3.显存占用的4种地方 a.模型参数梯度参数 b.优化器参数 c.数据批量所占显存 d.神经元输出中间状态 4.batchisize和训练的关系 import torch import torchvision import torch.nn as nn imp…...
