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在这里插入图片描述

3. 创建公私钥密钥对

  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.xdnf.cn/news/1555409.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

使用 Python 遍历文件夹

要解决这个问题,使用 Python 的标准库可以很好地完成。我们要做的是遍历目录树,找到所有的 text 文件,读取内容,处理空行和空格,并将处理后的内容合并到一个新的文件中。 整体思路: 遍历子目录&#xff1…

2.3MyBatis——插件机制

2.3MyBatis——插件机制 1.基本用法2.原理探究2.1加载过程2.2执行过程2.2.1 插件的执行点2.2.2 SQL执行的几个阶段2.2.3 如何梳理出执行流程 插件机制是一款优秀框架不可或缺的组成部分,比如spring、dubbo,还有我们要聊的Mybatis等等。所谓插件&#xff…

vSAN02:容错、存储策略、文件服务、快照与备份、iSCSI

目录 vSAN容错条带化存储策略1. 创建新策略2. 应用存储策略 vSAN文件服务文件服务快照与备份 vSAN iSCSI目标服务 vSAN容错 FTT:Fault to Tolerance 允许故障数 故障域:每一台vSAN主机是一个故障域 - 假设3台超融合(3计算1存储)&…

力扣 简单 110.平衡二叉树

文章目录 题目介绍解法 题目介绍 解法 平衡二叉树:任意节点的左子树和右子树的高度之差的绝对值不超过 1 //利用递归方法自顶向下判断以每个节点为根节点的左右子树的最大深度是否大于1 class Solution {public boolean isBalanced(TreeNode root) {if(root null){return tr…

基于Java的GeoTools对Shapefile文件属性信息深度解析

目录 前言 一、Shapefile的属性列表信息 1、属性表格信息 2、属性表格包含的要素 二、GeoTools对属性表格的解析 1、常规解析方法 2、基于dbf文件的属性信息读取 三、总结 前言 ESRI Shapefile(shp),或简称shapefile,是美…

【Spring Boot React】Spring Boot和React教程 完整版

【Spring Boot & React】Spring Boot和React教程 在B站找到一个不错的SpringBoot和React的学习视频,作者是amigoscode 【Spring Boot & React】Spring Boot和React教程 2023年更新版【Spring Boot React】价值79.9美元,全栈开发,搭…

如何使用CMD命令启动应用程序(二)

说明:去年1024发布了一篇博客,介绍如何使用CMD命令启动应用程序,但实际情况,有些程序可能无法用配置环境变量的方式来启动,本文针对两种情况下的程序,如何使用CMD命令来启动,算是对上一篇博客的…

Qt操作主/从视图及XML——实例:汽车管理系统

目录 1. 主界面布局2.连接数据库3.主/从视图应用 1. 主界面布局 先创建一个QMainwindow&#xff0c;不带设计界面 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QGroupBox> #include <QTableView> #include <QListWidg…

鸿蒙harmonyos next flutter混合开发之开发plugin(获取操作系统版本号)

创建Plugin为my_plugin flutter create --org com.example --templateplugin --platformsandroid,ios,ohos my_plugin 创建Application为my_application flutter create --org com.example my_application flutter_application引用flutter_plugin&#xff0c;在pubspec.yam…

如何解决 MySQL ERROR 1040 (08004): Too many connections ?

MySQL 是最流行的开源关系数据库管理系统之一&#xff0c;它也是开发人员中非常常用的数据库。即便它高度健壮和可伸缩性极强&#xff0c;像任何软件一样&#xff0c;它也可能出现错误。我们会经常遇到一个错误&#xff0c;特别是在高流量系统中&#xff0c;error 1040 (08004)…

51c视觉~CV~合集3

我自己的原文哦~ https://blog.51cto.com/whaosoft/11668984 一、 CV确定对象的方向 介绍如何使用OpenCV确定对象的方向(即旋转角度&#xff0c;以度为单位)。 先决条件 安装Python3.7或者更高版本。可以参考下文链接&#xff1a; https://automaticaddison.com/how-to-s…

阳台山足球营地的停车位探寻

阳台山足球营地的环境是真好哈。停车场名称&#xff1a;阳台山森林公园配套停车场。应该很多爬山的人车子也停在这里。而且我没想到的&#xff0c;阳台山的山泉水还有不少居民每天提着空桶去山上装。看来环境是真的很好哈 停车场有地面和地下停车场&#xff0c;停车位个数查不…

java 数据存储方式

1. 变量存储 这是最基本的数据存储方式&#xff0c;通过声明变量来存储数据。变量可以是基本数据类型&#xff08;如int、float、char等&#xff09;&#xff0c;也可以是引用数据类型&#xff08;如对象、数组等&#xff09;。变量存储的数据通常存储在内存中&#xff0c;随着…

【记录】Excel|Excel 打印成 PDF 页数太多怎么办

【记录】Excel&#xff5c;解决 Excel 打印成 PDF 页数过多的问题 文章目录 【记录】Excel&#xff5c;解决 Excel 打印成 PDF 页数过多的问题方法一&#xff1a;调整页边距WPS OfficeMicrosoft Excel 方法二&#xff1a;优化页面布局调整列宽和行高使用“页面布局”视图合并单…

python全栈开发是什么?

全栈指掌握多种技能&#xff0c;并能利用多种技能独立完成产品。通俗的说就是与这项技能有关的都会&#xff0c;都能独立完成。 python&#xff0c;因为目前很火&#xff0c;能开发的项目很多。例如&#xff1a;web前端后端&#xff0c;自动化运维&#xff0c;软件、小型游戏开…

八大排序--01冒泡排序

假设有一组数据 arr[]{2&#xff0c;0&#xff0c;3&#xff0c;4&#xff0c;5&#xff0c;7} 方法&#xff1a;开辟两个指针&#xff0c;指向如图&#xff0c;前后两两进行比较&#xff0c;大数据向后冒泡传递&#xff0c;小数据换到前面。 一次冒泡后&#xff0c;数组中最大…

【网络篇】计算机网络——应用层详述(笔记)

目录 一、应用层协议原理 1. 进入应用层 2. 网络应用程序体系结构 &#xff08;1&#xff09;客户-服务器体系结构&#xff08;client-server architecture&#xff09; &#xff08;2&#xff09; P2P 体系结构&#xff08;P2P architecture&#xff09; 3. 进程间通讯 …

【GC日志和OOM日志分析】JVM GC日志和OOM Dump文件分析

1 缘起 充电、充电、充电。 增加一些必备的知识&#xff0c;帮助后续使用。 2 配置JVM参数 为分析GC日志以及OOM相关信息&#xff0c;配置JVM参数&#xff0c;分为三个部分&#xff1a; &#xff08;1&#xff09;堆内存&#xff0c;包括年轻代、最大堆内存&#xff1b; &a…

PELT算法

PELT算法的范畴 PELT算法&#xff08;Pruned Exact Linear Time&#xff09;属于时间序列分析和变点检测&#xff08;Change Point Detection&#xff09;范畴的算法。 从更广泛的角度来看&#xff0c;PELT算法还可以归类为以下几类算法的子集&#xff1a; 1. 时间序列分析&…

初识Linux · 文件(1)

目录 前言&#xff1a; 回顾语言层面的文件 理解文件的预备知识 文件和磁盘 使用和认识系统调用函数 前言&#xff1a; 本文以及下篇文章&#xff0c;揭露的都是Linux中文件的奥秘&#xff0c;对于文件来说&#xff0c;初学Linux第一节课接触的就是文件&#xff0c;对于C…