最近做毕业设计,要用AWS跑代码,以前只用过一次,这次踩了很多坑,记录一下。。

AWS命令行管理S3 bucket

AWS官方文档:

http://docs.amazonaws.cn/cli/latest/userguide/using-s3-commands.html

管理存储桶
  创建桶;
$ aws s3 mb s3://bucket-name
  删除桶:
$ aws s3 rb s3://bucket-name
删除非空桶:
$ aws s3 rb s3://bucket-name --force
列出存储桶
$ aws s3 ls
列出存储桶中所有的对象和文件夹
$ aws s3 ls s3://bucket-name
列出桶中 bucket-name/MyFolder 中的对象
$ aws s3 ls s3://bucket-name/MyFolder
管理对象
命令包括 aws s3 cp、aws s3 ls、aws s3 mv、aws s3 rm 和 sync。cp、ls、mv 和 rm 命令的用法与它们在 Unix 中的对应命令相同。

// 将当前目录里的 MyFile.txt文件拷贝到 s3://my-bucket/MyFolder
$ aws s3 cp MyFile.txt s3://my-bucket/MyFolder/

// 将s3://my-bucket/MyFolder所有 .jpg 的文件移到 ./MyDirectory
$ aws s3 mv s3://my-bucket/MyFolder ./MyDirectory --exclude '*' --include '*.jpg' --recursive

// 列出 my-bucket的所有内容
$ aws s3 ls s3://my-bucket

// 列出my-bucket中MyFolder的所有内容
$ aws s3 ls s3://my-bucket/MyFolder

// 删除 s3://my-bucket/MyFolder/MyFile.txt
$ aws s3 rm s3://my-bucket/MyFolder/MyFile.txt

// 删除 s3://my-bucket/MyFolder 和它的所有内容
$ aws s3 rm s3://my-bucket/MyFolder --recursive
当 
--recursive
 选项与 
cp

mv
 或 
rm
 一起用于目录/文件夹时,命令会遍历目录树,包括所有子目录
sync命令

sync 命令的形式如下。可能的源-目标组合有:

本地文件系统到 Amazon S3

Amazon S3 到本地文件系统

Amazon S3 到 Amazon S3

$ aws s3 sync <source> <target> [--options]

例如:本地文件系统到S3中:

$ aws s3 sync 本地目录/. s3://my-bucket/目录

docker 和 AWS主机之间互相拷贝文件

docker cp :用于容器与主机之间的数据拷贝。
1、从主机往容器中拷贝
eg:将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。

docker cp /www/runoob 96f7f14e99ab:/www/
1
2、将容器中文件拷往主机
eg:将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。

docker cp 96f7f14e99ab:/www /tmp/
1
eg:将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www。

docker cp /www/runoob 96f7f14e99ab:/www

AWS Linux挂载新的EBS

1.在AWS控制台创建一个EBS卷,创建的EBS卷必须和将要挂载的EC2处于同一个可用区.并且挂载时EC2必须处于关机状态

2.两EBS卷连接至EC2,注意:连接时会提示 :注意:较新的 Linux 内核可能会在内部将您的设备重命名为 /dev/xvdf through /dev/xvdp,即使在此处输入的(并且在详细信息中显示的)设备名为 /dev/sdf through /dev/sdp。(这里的重命名就是你在linux中需要挂载的名称)

3.启动ec2并连接,fdisk -l命令:

[ec2-user@ip-172-31-14-69 ~]$ sudo fdisk -l
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

Disk /dev/xvda: 8589 MB, 8589934592 bytes, 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt

#         Start          End    Size  Type            Name
 1         4096     16777182      8G  Linux filesyste Linux
128         2048         4095      1M  BIOS boot parti BIOS Boot Partition

Disk /dev/xvdf: 536.9 GB, 536870912000 bytes, 1048576000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/mapper/docker-202:1-394826-pool: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 65536 bytes / 65536 bytes
此处必须不是root用户必须加上sudo  不然会没有显示

可以看到Disk .dev/xydf就是我们之前新建的EBS

4.命令:df -T

[ec2-user@ip-172-31-14-69 ~]$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
devtmpfs devtmpfs 2014044 96 2013948 1% /dev
tmpfs tmpfs 2024932 0 2024932 0% /dev/shm
/dev/xvda1 ext4 8123812 1081736 6941828 14% /

当前系统文件格式为:ext4

5.命令:sudo mkfs.ext4 /dev/xvdf

[ec2-user@ip-172-31-14-69 ~]$ sudo mkfs.ext4 /dev/xvdf
mke2fs 1.42.12 (29-Aug-2014)
Creating filesystem with 131072000 4k blocks and 32768000 inodes
Filesystem UUID: f12daa29-2a4e-4810-bf4a-a6a814b9a775
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

格式化

6.创建挂载文件夹,并挂载

sudo mkdir kingdee
sudo mount /dev/xvdf  /kingdee

7.查看挂载结果

[ec2-user@ip-172-31-14-69 /]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 2.0G 96K 2.0G 1% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
/dev/xvda1 7.8G 1.1G 6.7G 14% /
/dev/xvdf 493G 70M 467G 1% /kingdee

但是,重启后会发现挂载的磁盘消失了,所以这里需要实现开机自动挂载磁盘

7.开机自动挂载磁盘需要修改一个文件,先看看文件:vi /etc/fstab

[root@ip-172-31-15-83 kingdee]# vi /etc/fstab
#
/dev/xvdf /kingdee ext4 defaults 1 1
LABEL=/ / ext4 defaults,noatime 1 1
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0

可以很明显的看到文件有6列。
第1列是设备名或者卷标

第2列是挂载点(也就是挂载目录)

第3列是所要挂载设备的文件系统或者文件系统类型

第4列是挂载选项,通常使用defaults就可以

第5列设置是否使用dump备份,置0为不备份,置1,2为备份,但2的备份重要性比1小

第6列设置是否开机的时候使用fsck检验所挂载的磁盘,置0为不检验,置1,2为检验,但置2盘比置1的盘晚检验。

第一行就是将

/dev/xvdf 挂载到了/kingdee目录下

如何该文件设置有错,则会导致机器启动失败,所以需要测试配置是否有问题

使用命令: mount  -a

8.重启即可

另:这里解决了一个docker容器挂载本地目录的的问题.我在手动mount挂载磁盘后,将这个目录挂载到docker容器中发现挂载的目录是在手动mount挂载磁盘之前的目录,并不是mount挂载磁盘后的目录,设置磁盘开机自动挂载即可解决该问题

加:

新遇到的情况:

[root@ip-10-0-100-142 kingdee]# fdisk -l
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

Disk /dev/xvda: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: gpt
# Start End Size Type Name
1 4096 41943006 20G Linux filesyste Linux
128 2048 4095 1M BIOS boot parti BIOS Boot Partition
Disk /dev/xvdf: 536.9 GB, 536870912000 bytes, 1048576000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x9fd3c93c
Device Boot Start End Blocks Id System
/dev/xvdf1 63 209712509 104856223+ 83 Linux
Disk /dev/mapper/docker-202:1-394683-pool: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 65536 bytes / 65536 bytes

这里安装之前的说法 挂载语句应该是: mount  /dev/xvdf  /kingdee

但是这里报错:

[root@ip-10-0-100-142 kingdee]# mount /dev/xvdf /kingdee
mount: /dev/xvdf is write-protected, mounting read-only
mount: wrong fs type, bad option, bad superblock on /dev/xvdf,
missing codepage or helper program, or other error

In some cases useful info is found in syslog - try
dmesg | tail or so.

正确命令应是: mount  /dev/xvdf1 /kingdee

如何排查使用 SSH 连接我的 EC2 Linux 实例时遇到的问题?

https://amazonaws-china.com/cn/premiumsupport/knowledge-center/ec2-linux-ssh-troubleshooting/?icmpid=support_rt_kc_articles

总结AWS使用要点的更多相关文章

  1. aws使用之负载均衡elb要点

    目录: 1.创建负载 2.目标群组 3.使用注意事项 4.总结 创建负载 alb负载 https://docs.aws.amazon.com/zh_cn/elasticloadbalancing/la ...

  2. Amazon AWS创建RHEL 7实例

    在AWS上登录 如果没有账号的话先注册,参考 http://blog.banban.me/blog/2014/06/09/li-yong-awsmian-fei-zhang-hu-da-jian-vp ...

  3. [AWS] SSO: Single sign-on

    由单点登录到aws的http服务. From: https://www.jianshu.com/p/613e44d4a464 单点登录SSO(Single Sign On)说得简单点就是在一个多系统共 ...

  4. 使用Rancher的RKE部署Kubernetes要点

    简要说明: RKE (Rancher Kubernetes Engine)是RancherLabs提供的一个工具,可以在裸机.虚拟机.公私有云上快速安装Kubernetes集群.整个集群的部署只需要一 ...

  5. 如何在AWS中为自己的S3托管站点添加SSL/TSL证书(https)

    概要 利用AWS的S3服务托管静态网站后,如何将自己的域名与该站点绑定,并为此域名提供SSL/TSL证书(https). 面向人群 已经掌握如何利用S3服务托管静态网站. 已经拥有自己的域名. 希望为 ...

  6. 在 Amazon AWS 搭建及部署网站:序

    最近玩了把 AWS,实现了服务器的创建.PHP+MySql运行环境.代码部署等.一方面,后面的项目会反复重复这个流程,需要一份手册,另一方面,也给自己一个记录.于是把整个过程和要点整理一下,发到自己的 ...

  7. 《Airbnb架构要点分享》阅读笔记

    Airbnb成立于2008年8月,总部位于加利福尼亚州旧金山市.Airbnb是一个值得信赖的社区型市场,在这里人们可以通过网站.手机或平板电脑发布.发掘和预订世界各地的独特房源,其业务已经覆盖190个 ...

  8. AWS EC2+Docker+JMeter构建分布式负载测试基础架构

    目录 概述及范围 前提条件 Part 1: Local setup-本地配置 Part 2: Cloud端基础架构--Infrastructure 总结: 原文链接 @ 概述及范围 本文介绍有关如何使 ...

  9. 欢迎参加3月活动:AWS 在线研讨会与阿里云 RISC-V 应用创新大赛

    3月份我们在帮合作云厂商 Amazon Web Services(AWS) 与阿里云推广2个活动,欢迎感兴趣的园友参加. 活动一:亚马逊云科技在线研讨会:借助 DGL 实现实时欺诈检测 博客园专属报名 ...

随机推荐

  1. Excel导出采用mvc的ExcelResult继承遇到的问题

    ExcelResult继承:ViewResult(只支持excel版本2003及兼容2003的版本)通过视图模板生成excel /// <summary> /// ms-excel视图 / ...

  2. docker daemon 配置代理

    创建插件目录 sudo mkdir -p /etc/systemd/system/docker.service.d 编写proxy配置文件 #vim /etc/systemd/system/docke ...

  3. selenium中CSS选择器定位

    selenium元素定位,CSS选择器定位效率会高很多. CSS选择器用于选择你想要的元素的样式的模式.表格摘自“菜鸟教程”,具体用法可去查阅 选择器 示例 示例说明 CSS .class .intr ...

  4. eclipse报错:Multiple annotations found at this line: - String cannot be resolved to a type解决方法实测

    Multiple annotations found at this line:- String cannot be resolved to a type- The method getContext ...

  5. “妄”眼欲穿之CSS 居中问题

    妄:狂妄: 不会的东西只有怀着一颗狂妄的心,假装能把它看穿吧. 作为一个什么都不会的小白,为了学习,特别在拿来主义之后写一些对于某些css布局的总结,进一步加深对知识的记忆.知识是人类的共同财富,中华 ...

  6. tomcat: 类加载器

    一.tomcat是个web容器,要解决以下问题 1. 一个web容器可能要部署两个或者多个应用程序,不同的应用程序,可能会依赖同一个第三方类库的不同版本,因此要保证每一个应用程序的类库都是独立.相互隔 ...

  7. [数据算法]D1.BloomFilter

    BloomFilter是一种高效的去重算法,算法的要义是散列对比. 1.原理 当一个元素加入集合时,判断这个元素是否 2.举例 例如我要对URL去重(这个在爬虫上可以用): URL1 -> 3. ...

  8. 雷林鹏分享:jQuery EasyUI 数据网格 - 自定义排序

    jQuery EasyUI 数据网格 - 自定义排序 如果默认的排序行为不满足您的需求,您可以自定义数据网格(datagrid)的排序行为. 最基础的,用户可以在列上定义一个排序函数,函数名是 sor ...

  9. F1赛道 - Bahrain International Circuit | 巴林国际赛道

    刚看完F1巴林站比赛,23点到1点,整整两个小时,比赛相当精彩. 从排位赛结果看,法拉利似乎肯定包揽1-2名,可惜天公不作美,今晚风大.沙多:vettel自己失误,鼻翼掉了,还在被汉密尔顿超车的时候自 ...

  10. archlinux 装完系统连接 wifi 网络

    查看 IP 地址 ip a 注:没有看到 IP 地址,确认没有网络.或者也可以使用命令 ping www.baidu.com 测试是否有网络. 执行该指令: sudo systemctl start ...