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

news2024/10/6 1:16:52

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.coloradmin.cn/o/2190874.html

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

相关文章

灵足时代:具身智能核心部件的新秀崛起——解析数千万元天使轮融资

在智能科技日新月异的今天,具身智能作为连接物理世界与数字世界的重要桥梁,正逐步成为科技创新的前沿阵地。近日,具身智能核心部件领域的新锐公司——“灵足时代”宣布完成数千万元天使轮融资,这一消息无疑为行业内外带来了强烈的震撼与期待。本轮融资由雅瑞智友科学家基金…

多用户网页聊天室(测试报告)

一、项目背景 随着现代互联网的快速发展,实时通信系统(如聊天应用)已成为人们日常交流的重要工具。多用户网页聊天室项目旨在为用户提供一个基于Web的实时聊天平台,支持用户之间的即时通信、好友管理和历史消息记录查看。为了提升…

ModuleNotFoundError: No module named ‘package‘

报错: Traceback (most recent call last): File “”, line 198, in run_module_as_main File “”, line 88, in run_code File "D:\python\helloworld.venv\Scripts\pip.exe_main.py", line 4, in File "D:\python\helloworld.venv\Lib\site-pac…

3分钟学会下载 blender

1. blender简介 Blender是一款开源的3D创作套件,它由Blender Foundation维护,并得到了全球志愿者和专业开发者的支持。Blender广泛应用于3D模型的制作、动画、渲染、视频编辑、游戏创建、模拟、 composting以及3D打印等多个领域。 功能特点&#xff1a…

Gitlab flow工作流

Gitlab flow Gitlab flow 是 Git flow 与 Github flow 的综合。它吸取了两者的优点,既有适应不同开发环境的弹性,又有单一主分支的简单和便利。它是 Gitlab.com 推荐的做法。 1 上游优先 Gitlab flow 的最大原则叫做"上游优先"(…

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

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

2024/10/5 数据结构打卡

对两个长度为n的升序序列A和B的元素按由小到大的顺序依次访问,这里访问的 含义只是比较序列中两个元素的大小,并不实现两个序列的合并,因此空间复杂度为 O(1)。按照 上述规则访问到第n个元素时,这个元素即为两个序列A和B的中位数。…

预扣预缴、年度汇算清缴与年终奖的个税计算

目录 1. 税率表2. 年度汇算清缴3. 预扣预缴3.1 预扣预缴的代码实现3.2 全年应纳税额与全年收入的关系 4. 年终奖 1. 税率表 月度税率表: 级数月度应纳税所得额税率(%)速算扣除数1 ( 0 , 3000 ] (0, 3000] (0,3000] 3 3 3 0 0 02 ( 3000 , 1…

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

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

Python数据结构与算法问题详解

Python数据结构与算法问题详解 Python 作为一种高级编程语言&#xff0c;凭借其简洁的语法和强大的内置库&#xff0c;成为了数据结构与算法学习的绝佳工具。本文将深入解析几种常见的数据结构&#xff0c;并结合具体的算法&#xff0c;展示如何在实际问题中高效解决问题。通过…

EEPROM读写实验——FPGA学习笔记18

一、EEPROM简介 Electrically Erasable Progammable Read Only Memory:是指带电可擦可编程只读存储器&#xff0c;是一种常用的非易失性存储器&#xff08;掉电数据不丢失&#xff09; EEPROM发展历史 我们这次实验所用的AT24C64存储容量为64Kbit&#xff0c;内部分成256页&am…

PELT算法

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

SpringBoot在校园健康信息管理中的创新

第5章 系统详细设计 5.1管理员功能模块 管理员登录&#xff0c;通过填写注册时输入的用户名、密码、角色进行登录&#xff0c;如图5-1所示。 图5-1管理员登录界面图 管理员登录进入师生健康信息管理系统可以查看个人中心、学生管理、教师管理、数据收集管理、问卷分类管理、…

昇思学习打卡营学习记录:DCGAN生成漫画头像

DCGAN原理 DCGAN&#xff08;深度卷积对抗生成网络&#xff0c;Deep Convolutional Generative Adversarial Networks&#xff09;是GAN的直接扩展。不同之处在于&#xff0c;DCGAN会分别在判别器和生成器中使用卷积和转置卷积层。 它最早由Radford等人在论文Unsupervised Re…

【STM32开发之寄存器版】(四)-独立看门狗IWDG

一 、前言 独立看门狗简介&#xff1a; STM32F103ZET6内置两个看门狗&#xff0c;提供了更高的安全性、时间的精确性和使用的灵活性。两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障。 独立看门狗主要性能&#xff1a; 自由运行的递减计数器时钟…

【C++11】C++11的新语法

文章目录 统一的列表初始化std::initializer_list 变量类型推导autodecltype STL中的一些变化 统一的列表初始化 在C98中&#xff0c;标准允许使用花括号{}对数组或者结构体元素进行统一的列表初始值设定。 C11扩大了用大括号括起的列表(初始化列表)的使用范围&#xff0c;使其…

在 MySQL 中处理和优化大型报告查询经验分享

在 MySQL 数据库的使用过程中&#xff0c;我们经常会遇到需要生成大型报告的情况&#xff0c;这些查询可能涉及大量的数据和复杂的计算&#xff0c;对数据库的性能提出了很高的要求。 一、问题背景 大型报告查询通常具有以下特点&#xff1a; 数据量大&#xff1a;涉及大量的…

ConcurrentHashMap在JDK1.7和1.8的区别,详解

目录 1.了解HashMap底层插入原理 2.ConcurrentHashMap 是什么&#xff1f; HashTable的实现 3.ConcurrentHashMap 1.7和1.8的区别 4、JDK1.7 中的ConcurrentHashMap实现原理 6、JDK1.8中的ConcurrentHashMap 7.链表转红黑树条件 1.8 put方法 8.并发扩容 9.总结 首先呢…

Windows 11 24H2 v26100.1742 官方简体中文版

‌Windows 11 24H2是微软最新推出的操作系统更新&#xff0c;其在人工智能&#xff08;AI&#xff09;领域的创新为用户带来了显著的体验提升。该版本的一大亮点是AI Copilot&#xff0c;它能够智能地根据剪贴板内容调整操作上下文菜单&#xff0c;实现更智能化的交互。 此外&…

第33次CCF计算机软件能力认证【T1~T3】:词频统计、相似度计算、化学方程式配平

题目概括词频统计枚举相似度计算STL工具&#xff08;tranform()转换大小写&#xff09; 模拟化学方程式配平大模拟高斯消元 1、词频统计 在学习了文本处理后&#xff0c;小 P 对英语书中的 n 篇文章进行了初步整理。 具体来说&#xff0c;小 P 将所有的英文单词都转化为了整数…