YONGFEIUALL

izheyi.com


  • Home

  • Archives

  • Categories

  • Tags

  • About

  • Search

AWS - EC2 - Bootstrap Script

Posted on 2018-04-19 | In AWS |

当您在 Amazon EC2 中启动实例时,您可以选择将用户数据传递到可用于执行常见自动配置任务甚至在实例启动后运行脚本的实例。您可以将两类用户数据传递到 Amazon EC2:Shell 脚本和 cloud-init 指令。

我们就就前面的例子试验一下,安装Apache,并创建简单Web验证。

  1. 在IAM新建一个Role,对该EC2授予AmazonS3FullAccess权限。
  2. 把’index.html’upload到S3上。
  3. Launch Instance with IAM role and script。
  4. 验证.

AWS - EC2 - IAM Role

Posted on 2018-04-19 | In AWS |

可以使用 Amazon EC2 和 AWS Identity and Access Management (IAM) 的功能,在不共享您的安全凭证情况下允许其他用户、服务和应用程序使用您的 Amazon EC2 资源。

我们拿EC2和S3来做个例子,SSH到新创建的Instance,

1
2
[ec2-user@ip-172-31-43-33 ~]$ aws s3 ls
Unable to locate credentials. You can configure credentials by running "aws configure".

必须要Configure,建立Credential之后才能执行该Command。

我们用IAM Role的方式来处理:

  1. 在IAM新建一个Role,对该EC2授予AmazonS3FullAccess权限。
  2. 把这个Role Attach到EC2上。
  3. 执行同一Command。
    1
    2
    3
    4
    5
    6
    7
    8
    [ec2-user@ip-172-31-43-33 ~]$ aws s3 ls
    Unable to locate credentials. You can configure credentials by running "aws configure".
    [ec2-user@ip-172-31-43-33 ~]$ aws s3 ls
    2018-04-13 05:57:09 yongfeiuall
    2018-04-14 02:43:42 yongfeiuall.cloudfront
    2018-04-13 23:52:51 yongfeiuall.lifecycle
    2018-04-14 00:24:46 yongfeiuall.staticwebsite
    2018-04-13 22:17:33 yongfeiuall.sydney

AWS - EC2 - Security Group

Posted on 2018-04-18 | In AWS |

安全组 起着虚拟防火墙的作用,可控制一个或多个实例的流量。在您启动实例时,将一个或多个安全组与该实例相关联。为每个安全组添加规则,规定流入或流出其关联实例的流量。

说白了,就是入站规则与出站规则的集合。

在新建的Instance上安装Apache,并创建一个简单的HTML文件

1
2
3
4
5
[root@ip-172-31-37-102 html]# vi index.html 
[root@ip-172-31-37-102 html]# ls
index.html
[root@ip-172-31-37-102 html]# cat index.html
<html><h1>Welcome Yongfeiuall</h1></html>

在Security Group Inbound只加SSH,在Browser里输入Public IP:

在Inbound中增加HTTP, 刷新页面:

AWS - EC2

Posted on 2018-04-17 | In AWS |

Amazon Elastic Compute Cloud (Amazon EC2) 是一种 Web 服务,可以在云中提供安全并且可以调整大小的计算容量。
使用 Amazon EC2 可避免前期的硬件投入,因此您能够快速开发和部署应用程序。通过使用 Amazon EC2,您可以根据自身需要启动任意数量的虚拟服务器、配置安全和网络以及管理存储。Amazon EC2 允许您根据需要进行缩放以应对需求变化或流行高峰,降低流量预测需求。

Regions and Availability Zones

每个区域 都是一个独立的地理区域。每个区域都有多个相互隔离的位置,称为可用区。
每一个区域都是完全独立的。每个可用区都是独立的,但区域内的可用区通过低延迟链接相连。

Launch Instance

在EC2 -> Dashboard中进行操作。 创建时所有的配置都用Default。

Key Pairs

Amazon EC2 使用公有密钥密码术加密和解密登录信息。公有密钥密码术使用公有密钥加密某个数据 (如一个密码),然后收件人可以使用私有密钥解密数据。公有和私有密钥被称为密钥对。
要登录您的实例,您必须创建一个密钥对,并在启动实例时指定密钥对的名称,然后使用私有密钥连接实例。

你可以在‘Key Paris’创建,也可以在创建Instance的时候创建。

Verify

用Xshell,创建是生成的Key Pairs文件和Public IP登录:
User Name: ec2-user

1
2
3
4
5
6
7
8
9
10
11
12
13
Connecting to 52.197.124.231:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.


__| __|_ )
_| ( / Amazon Linux AMI
___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2017.09-release-notes/
8 package(s) needed for security, out of 13 available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-172-31-37-102 ~]$

Credentials in EC2

1
2
3
4
5
6
7
[root@ip-172-31-43-33 ~]# cd .aws
[root@ip-172-31-43-33 .aws]# ls
config credentials
[root@ip-172-31-43-33 .aws]# cat credentials
[default]
aws_access_key_id = AKIAJ2ZSIKQE5VQKADCA
aws_secret_access_key = 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

Meta Data

实例元数据 是有关您的实例的数据,可以用来配置或管理正在运行的实例。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
[root@ip-172-31-43-33 ~]# curl http://169.254.169.254/
1.0
2007-01-19
2007-03-01
2007-08-29
2007-10-10
2007-12-15
2008-02-01
2008-09-01
2009-04-04
2011-01-01
2011-05-01
2012-01-12
2014-02-25
2014-11-05
2015-10-20
2016-04-19
2016-06-30
2016-09-02
latest[root@ip-172-31-43-33 ~]# curl http://169.254.169.254/latest/meta-data/
ami-id
ami-launch-index
ami-manifest-path
block-device-mapping/
hostname
instance-action
instance-id
instance-type
local-hostname
local-ipv4
mac
metrics/
network/
placement/
profile
public-hostname
public-ipv4
public-keys/
reservation-id
security-groups
services/[root@ip-172-31-43-33 ~]# curl http://169.254.169.254/latest/meta-data/public-ipv4
54.64.167.73[root@ip-172-31-43-33 ~]# curl http://169.254.169.254/latest/meta-data/hostname
ip-172-31-43-33.ap-northeast-1.compute.internal[root@ip-172-31-43-33 ~]#

爷爷,你一直都在

Posted on 2018-04-16 | In 随想 |

最近脑袋里时不时的会蹦出来和爷爷的点点滴滴,也会在梦里见到他,尽管已走了好几年了,但在梦里还能够跟他说上几句话,很真实,很温暖,仿佛就在昨天。

他是经历过饥荒年代的人,在奶奶眼里是个很伟大的人,为了家做了很多牺牲。在那个年代出生的人难免都有些重男轻女的思想,而我是整个大家的长子,再加上隔辈亲,爷爷和奶奶都对我格外的好,我小时候多病,奶奶常说,也不知道你爷爷怎么这么有钱,每次看病要钱都是现成的。从记事起到他走,也就短短20年,但从他身上学到了很多,正直,努力,做一个对家对自己负责的人。

本应该是你享福的时候,你却走了,而你走的时候是我最难的时候,也没能见上你最后一面,尽管自责了很多,但是个永远的遗憾。如果你还在的话,看着儿孙满堂,各自有家有事业,我都能想象的到你开心的样子;如果你还在的话,我也能实现小时候给你吹过的牛,等我长大了孝顺你,带你去看天安门;如果你还在的话,我还能坐在那里和你聊天,从你那里得到安慰和想法,哪怕只是静静的坐在那里看着你,现在想想,是多么奢侈的事情啊。

曾经看过一段话,人死了分三个阶段,第一次是断气的时候,从生物学上他死了;第二次是出殡的时候,亲戚朋友都来缅怀他,从社会上他没了;第三次是最后一个还记得他的人把他忘记的时候,他才真正的死了。

死亡不是尽头,遗忘才是。我想我永远也不会忘记你,也希望你一样能记得我。在这时间的长河里,在几生几世之后,如果我们有缘再相见,我想我们会比在这一世更亲。

在写下这些话的时候,我已控制不住自己湿了眼眶,收笔,爷爷你还好吗?想你!

AWS - CloudFront

Posted on 2018-04-15 | In AWS |

就是提供CDN服务的。

Amazon CloudFront 是一种将静态和动态 Web 内容(例如 .html、.css、.php、图像及媒体文件)加速分配给最终用户的 Web 服务。CloudFront 通过全球节点网络传送内容。

在`Contect Delivery -> CloudFront’中进行设置。

  • Web分配 - 通过 HTTP 或 HTTPS 提供。
  • RTMP分配 - 使用 Adobe Media Server 和 Adobe 实时消息协议 (RTMP) 流式处理媒体文件。RTMP 分配必须使用 Amazon S3 存储桶作为源。

简单使用:

  1. 创建Bucket

    可直接https://s3.amazonaws.com/yongfeiuall.cloudfront/%E8%87%AA%E5%8A%A8.png访问该Object。
  2. 创建CloudFront

    详细配置信息参考配置
  3. 验证
    用分配的域名访问http://d25774ade37.cloudfront.net/%E8%87%AA%E5%8A%A8.png,成功

AWS - Hosting a Static Website

Posted on 2018-04-15 | In AWS |

在静态网站上,单独的网页包含静态内容。它们也可能包含客户端脚本。

设置静态网站

  1. 创建Bucket
    新建Bucket,并配置网站
  2. 上传网站内容
  3. 测试网站
    两个文件都为Private:

    把两个文件Make Public:

    把index.html设为Private:

AWS - CLI

Posted on 2018-04-14 | In AWS |

AWS 命令行界面 (CLI) 是用于管理 AWS 服务的统一工具。只通过一个工具进行下载和配置,您可以使用命令行控制多个 AWS 服务并利用脚本来自动执行这些服务。

去这里下载AWS Command Line Interface
Windows下运行: 在 PowerShell 或 Windows 命令处理程序中运行命令。

我们要通过User的AWS Access Key ID和AWS Secret Access Key来登录AWS,在User创建:

登录:

1
2
3
4
5
6
7
C:\Users\yongfei.hu>aws configure
AWS Access Key ID [None]: AKIAJ2ZSIKQE5VQKADCA
AWS Secret Access Key [None]: XcK5zvSVPKE4eSJHbmOOspElNyytyLsuCbUQ5GW
Default region name [None]: ap-northeast-1
Default output format [None]:

C:\Users\yongfei.hu>

接下来就可以用命令行对AWS进行操作了。 E.g.,

只做个简单说明,以后用到了再研究。

AWS - S3

Posted on 2018-04-13 | In AWS |

Amazon S3 提供了一个简单 Web 服务接口,可用于随时在 Web 上的任何位置存储和检索任何数量的数据。
Amazon S3 将数据存储为存储桶中的对象。对象由文件和描述该文件的任何可选元数据组成。

可以在AWS -> S3通过Console进行管理。

Bucket

可以简单理解为Folder好了。

Transfer Acceleration

Amazon S3 Transfer Acceleration 可在客户与 S3 存储桶之间实现快速、轻松、安全的远距离文件传输。Transfer Acceleration 利用 Amazon CloudFront 的全球分布式边缘站点。当数据到达某个边缘站点时,会被经过优化的网络路径路由至 Amazon S3。

Object

Amazon S3 是一种简单的键值存储,专门用于存储任意多的对象。

Storage Class


GLACIER 存储类适用于在不常访问数据的位置对数据存档。存档对象不可用于实时访问。您必须先还原对象,然后才可以访问它们。

  • 您无法在创建对象时指定 GLACIER 作为存储类别。您在创建 GLACIER 对象时,先将对象作为存储类进行上传,然后使用生命周期管理将这些对象转换为 GLACIER 存储类别。
  • 您必须先将 GLACIER 对象还原才能访问它们 (STANDARD、RRS、STANDARD_IA 和 ONEZONE_IA 对象可随时访问)。

Versioning

使用版本控制可在一个存储桶中保留多个版本的对象。必须在您的存储桶上显式启用版本控制。默认情况下,版本控制处于禁用状态。无论是否已启用版本控制,存储桶中的每个对象都具有版本 ID。如果未启用版本控制,Amazon S3 将版本 ID 值设置为空。

Cross-Region Replication (CRR)

跨区域复制是一项存储桶级别配置,该功能支持跨不同 AWS 区域中的存储桶自动异步复制对象。我们将这些存储桶分别称为源 存储桶和目标 存储桶。

设置成功后,在源Bucket里Upload后,在目标Bucket里会自动Rep。
但是对之前源Bucket里有的Objects不会Rep。我们可以通过命令行的方式把之前的Objects同步过去。

1
2
3
4
C:\Users\yongfei.hu>aws s3 cp --recursive s3://yongfeiuall s3://yongfeiuall.sydney
copy: s3://yongfeiuall/aws.txt to s3://yongfeiuall.sydney/aws.txt
copy: s3://yongfeiuall/replication.txt to s3://yongfeiuall.sydney/replication.txt
copy: s3://yongfeiuall/koala.jpg to s3://yongfeiuall.sydney/koala.jpg

Life Cycle Management

生命周期配置 是一组规则,用于定义 Amazon S3 对一组对象应用的操作。有两种类型的操作:

  • 转换操作 – 定义对象转换为另一个存储类的时间。例如,您可以选择在对象创建 30 天后将其转换为 STANDARD_IA 存储类,或在对象创建 1 年后将其存档到 GLACIER 存储类。
  • 过期操作 – 定义对象的过期时间。Amazon S3 将代表您删除过期的对象。

AWS - IAM

Posted on 2018-04-11 | In AWS |

AWS Identity and Access Management (IAM) 是一种 Web 服务,可以帮助您安全地控制对 AWS 资源的访问。您可以使用 IAM 控制对哪个用户进行身份验证 (登录) 和授权 (具有权限) 以使用资源。

多重验证(MFA)

您可以向您的账户和各个用户添加双重身份验证以实现更高安全性。借助 MFA,您或您的用户不仅必须提供使用账户所需的密码或访问密钥,还必须提供来自经过特殊配置的设备的代码。

在IAM -> Dashboard来实现这个功能:

这里我用了Authy,重新登录后会提示:

User

创建 AWS 账户时,会创建一个 AWS 账户根用户身份。使用 根用户,您可以对 AWS 账户中的所有资源进行完全、无限制的访问,包括访问您的账单信息,您还能更改自己的密码。

User管理

在IAM -> Users来实现对用户管理(CRUD,Add Permission, Add Group)。

创建成功后,可以用这个https://account_id.signin.aws.amazon.com/console来登录。

设置密码策略

在IAM -> Account Settings来实现对密码策略的管理。

MFA

在IAM -> Users -> Summary -> Security Credentials来实现对User启用MFA。

Group

没什么好说的,在IAM -> Groups来实现对组的管理(CRUD,Add Permission, Add/Remove User)。

Role

也没啥说的,在IAM -> Roles来实现对角色的管理(CRUD,Add Permission)。

Policy

策略是 AWS 中的一个实体;在附加到身份或资源时,策略定义了它们的权限。在IAM -> Policies来实现对策略的管理。

做了一些基本的操作,Security Status:

1…151617…40
唐胡璐

唐胡璐

i just wanna live while i am alive

393 posts
42 categories
74 tags
RSS
LinkedIn Weibo GitHub E-Mail
Creative Commons
© 2022 唐胡璐
Powered by Hexo
|
Theme — NexT.Pisces v5.1.4