aws(学习笔记第一课) AWS CLI,创建ec2 server以及drawio进行aws画图

aws(学习笔记第一课)

  • 使用AWS CLI

学习内容:

  • 使用AWS CLI
  • 配置密钥对
  • 创建ec2 server
  • 使用drawio(vscode插件)进行AWS的画图

1. 使用AWS CLI

  1. 注册AWS账号
    AWS是通用的云计算平台,可以提供ec2vpcSNS以及cloud watchRDS等各种各样的云计算组件,使得用户可以专注于业务层次的开发,方便扩展。
    AWS官方网站
    AWS官方文档
    在这里插入图片描述
    注册账号相当简单:
    • 首先需要一个国际信用卡(这里需要去银行办理,之后邮寄)
      • 在这里插入图片描述

      • 第一年的费用是免费的,但是也有一些service是付费的,注意在练习之后马上删除。

      • 每次练习之后就立即删除的话,几乎不会花费费用。如果万一使用了过多的费用,也要立即和AWS进行沟通。

    • 之后就是注册账号,正常进行注册
    • 注册之后就会产生一个根用户,类似于linuxroot账户
  2. 创建AWS用户
    可以使用上面的根用户,但是非常不建议这么做,因此创建一个新用户。
    • 使用根用户登录AWS 在这里插入图片描述
    • 点击IAM服务,创建新用户在这里插入图片描述
    • 指定用户名,这里指定mycli在这里插入图片描述
    • 配置权限
      直接附加策略到mycli用户,这里可以看出策略分为AWS托管客户托管
      AWS托管AWS内置的策略,客户托管是用户自己创建的策略。这里选择AWS托管AdministratorAccess
      在这里插入图片描述
    • 创建好了用户
      在这里插入图片描述
  3. 创建访问密钥
    这里的访问密钥代表了该用户,所以一定要注意隐私安全,不要公开给其他人。
    在这里插入图片描述
    • 选择命令行(CLI)
      选择之后继续下一步
      在这里插入图片描述
    • 设置标签。在这里插入图片描述
    • 最后完成密钥的生成
      注意,这里的密钥要在之后的AWS CLI中配置使用,所以自己要记住。改密钥只能显示一次,所以一定要记住 在这里插入图片描述
  4. 安装AWS CLI
    这里虽然是windows系统安装,但是采用git bash + python进行安装 AWS CLI是基于python的
    • 安装python 在这里插入图片描述
    • 安装AWS CLI
      执行pip install awscli
      在这里插入图片描述
    • 检查AWS CLI的版本
      在这里插入图片描述
  5. 配置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. 创建公私钥密钥对

  1. 创建自己的密钥对
    • 进入ec2服务,之后点击左面菜单的密钥对
      在这里插入图片描述
    • 如下选择,之后点击生成
      在这里插入图片描述
    • AWS自动下载密钥pem文件(my-cli-key.pem)
      这里将密钥文件保存到本地~/.ssh/my-cli-key.pem,之后会使用该密钥文件进行登录ec2 server

3. 创建ec2 server

  1. 执行如下的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."
    
  2. 创建的AWS的结构图
    在默认的vpc的默认subnet之中创建security group,之后创建ec2 server
    注意,这里的默认vpc必须能够有个internet gateway,并且能自动分配public ip address
    在这里插入图片描述
  3. 查看AWS CLI脚本的执行结果
    • 可以看到,security group已经创建,并且已经启动了一个ec2 server
      在这里插入图片描述

    • 查看AWS Console
      在这里插入图片描述

  4. 使用私钥文件来访问ec2 server
    	ssh -i my-cli-key.pem ec2-user@ec2-13-114-248-64.ap-northeast-1.compute.amazonaws.com
    
    • 使用git bash登录进去ec2 server
      在这里插入图片描述
  5. 练习完毕之后停止ec2 server
    • 一定要停止ec2 server
      注意,重要的事情说3遍,一定要注意清理练习后的环境,否则会发生费用,是美元!!

4. 使用drawio(vscode插件)进行AWS的画图

  1. 对于AWS的各种service组成的构成图,可以采用drawio。采用vscodedrawio插件。
    在这里插入图片描述
  2. 做成一个aws.drawio,之后采用vscode打开。
    在这里插入图片描述
  3. 打开More Shapes,之后将AWS 19选项
    在这里插入图片描述
  4. 之后使用drawio画出AWS的构成图
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/888989.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

无人机之飞控仿真技术篇

一、无人机飞控仿真技术的定义 无人机飞控仿真技术主要是指飞行控制系统仿真,它是以无人机的运动情况为研究对象,面向对象的复杂系统仿真。通过该技术,可以模拟无人机的飞行过程,评估飞行控制系统的性能,优化飞行参数&…

【Linux:线程控制】

目录 线程的创建与等待: ​编辑 代码中tid是什么? 如何看待线程函数传参? ​编辑 ​编辑创建多线程:​编辑 终止多线程: 线程分离: 线程封装: 线程的创建与等待: void *thre…

leetcode125:验证回文串

如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母数字字符。 给你一个字符串 s,如果它是 回文串 ,返回 true ;否则&#…

华为OD机试 - 贪吃蛇 - 队列(Python/JS/C/C++ 2024 E卷 200分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…

计算机网络:数据链路层 —— 数据链路层概述

文章目录 数据链路层主要功能 基本概念链路数据链路帧 数据链路层 在计算机网络中,链路层(Data Link Layer)是网络协议栈中的一层,负责管理和控制链路的建立、维护和释放,以及处理链路层的数据帧传输和错误控制等功能…

Linux入门3——vim的简单使用

1.vim 1.1 vim的模式 vim有三种主要模式: ①命令模式:使用vim刚打开进入的模式就是命令模式; ②插入模式:只有在插入模式下才可以做文字输入,按[Esc]键可退回命令模式; ③末行模式:文件保存或退…

大数据毕业设计选题推荐-王者荣耀战队数据分析-Python数据可视化-Hive-Hadoop-Spark

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

Go基础学习11-测试工具gomock和monkey的使用

文章目录 基础回顾MockMock是什么安装gomockMock使用1. 创建user.go源文件2. 使用mockgen生成对应的Mock文件3. 使用mockgen命令生成后在对应包mock下可以查看生成的mock文件4. 编写测试代码5. 运行代码并查看输出 GomonkeyGomonkey优势安装使用对函数进行monkey对结构体中方法…

Android SELinux——安全策略(三)

SELinux 通过严格的访问控制机制增强了 Linux 系统的安全性。它通过标签和安全策略来控制进程和文件的访问权限,从而保护系统免受未经授权的访问和攻击。 一、策略介绍 1、主要组件 安全标签(Security Labels):每个文件、目录、…

vite学习教程02、vite+vue2配置环境变量

文章目录 前言1、安装依赖2、配置环境变量3、应用环境变量4、运行和构建项目资料获取 前言 博主介绍:✌目前全网粉丝3W,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。 涵盖技术内容&#xff1…

Python的pandas库基本操作(数据分析)

一、安装,导入 1、安装 使用包管理器安装: pip3 install pandas 2、导入 import pandas as pd as是为了方便引用起的别名 二、DateFrame 在Pandas库中,DataFrame 是一种非常重要的数据结构,它提供了一种灵活的方式来存储和…

typora笔记导出word格式:

Pandoc:各系统下载github链接 https://github.com/jgm/pandoc/releases/latest windows安装包 链接:https://pan.baidu.com/s/17AZNIMImbzFtWJAcAfAB0g?pwd55l2 提取码:55l2 先解压压缩包 点击 设置Pandoc路径,然后选择pa…

【Sceneform-EQR】(手势优化)通过手势事件实现在AR/VR等三维场景中的控制模型旋转、平移与缩放

在上一篇文档中,我们实现了通过手势控制模型节点的旋转、缩放和平移。现在本文将介绍如何优化上一篇做的手势控制器,从而实现更好的跟手效果。 相关链接:【Sceneform-EQR】(手势控制器实现)通过手势事件实现在AR/VR等…

FiBiNET模型实现推荐算法

1. 项目简介 A031-FiBiNET模型项目是一个基于深度学习的推荐系统算法实现,旨在提升推荐系统的性能和精度。该项目的背景源于当今互联网平台中,推荐算法在电商、社交、内容分发等领域的广泛应用。推荐系统通过分析用户的历史行为和兴趣偏好,预…

Linux平台Kafka高可用集群部署全攻略

🐇明明跟你说过:个人主页 🏅个人专栏:《大数据前沿:技术与应用并进》🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、Kafka简介 2、Kafka核心优势 二、环境准备 1…

【学习笔记】SquareLine Studio安装教程(LVGL官方工具)

一.简介与导航: SquareLine Studio是由LVGL官方开发的一款UI设计工具,采用图形化进行界面UI设计,轻易上手。 SquareLine Studio官方网址:https://squareline.io/SquareLine Studio官方文档:https://docs.squareline.io…

上传本地项目到GitHub远程仓库(极简洁操作版)

第一步:在GitHub创建一个空的仓库 第二步:将仓库克隆(下载)到本地 第三步:将你要上传的所有文件放到这个克隆的仓库文件夹中 第四步:通过git add .将待上传文件添加到暂存区 此时,可以通过git …

css3-----2D转换、动画

2D 转换(transform) 转换(transform)是CSS3中具有颠覆性的特征之一,可以实现元素的位移、旋转、缩放等效果 移动:translate旋转:rotate缩放:scale 二维坐标系 2D 转换之移动 trans…

SpringBoot项目打成jar包,在其他项目中引用

1、首先新建一个SpringBoot工程 记得要将Gradle换成Maven 2、新建一个要引用的方法 3、打包的时候要注意: ① 不能使用springboot项目自带的打包插件进行打包,下面是自带的: ②要换成传统项目的maven打包,如下图: 依…

《网络安全自学教程》- Nmap使用及扫描原理分析

《网络安全自学教程》 Nmap(Network Mapper)是一款免费的开源网络扫描器,向目标主机发送特定的数据包,根据返回的流量特征,分析主机信息。主要功能有:「端口扫描」、「主机探测」、「服务识别」和「系统识别…