System Operations on AWS - Lab 3W - Managing Storage (Windows)

Posted Edward Guan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了System Operations on AWS - Lab 3W - Managing Storage (Windows)相关的知识,希望对你有一定的参考价值。

技术分享

创建一个EC2实例,对EBS卷做SnapShot,设置周期性备份,上传并管理日志文件到S3

1.1 创建一个S3的桶

技术分享

技术分享

技术分享

1.2 创建一个IAM策略

技术分享

技术分享

技术分享

技术分享

技术分享

1.3 创建一个IAM角色

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

1.4 创建一个安全组

技术分享

1.5 创建一个EC2实例

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

2.1 连接到CommandHost实例

技术分享

技术分享

2.2 创建一个初始化snapshot

2.2.1 获得Processor实例的描述

aws ec2 describe-instances --filter ‘Name=tag:Name,Values=Processor‘

2.2.2 只显示该实例EBS卷的Id

aws ec2 describe-instances --filter ‘Name=tag:Name,Values=Processor‘ --query ‘Reservations[0].Instances[0].BlockDeviceMappings[0].Ebs.{VolumeId:VolumeId}‘

技术分享

2.2.3 只显示该实例InstanceId

aws ec2 describe-instances --filters ‘Name=tag:Name,Values=Processor‘ --query ‘Reservations[0].Instances[0].InstanceId‘

技术分享

2.2.4 停止该实例

aws ec2 stop-instances --instance-ids i-3bc0b3fc

2.2.5 检查该实例停止状态

aws ec2 describe-instance-status --instance-id i-3bc0b3fc

技术分享

2.2.6 创建一个snapshot

aws ec2 create-snapshot --volume-id vol-09e651ff

2.2.7 检查该snapshot状态

aws ec2 describe-snapshots --snapshot-id snap-fa894fa9

技术分享

2.2.8 重新启动Processor实例

aws ec2 start-instances --instance-ids i-3bc0b3fc

技术分享

2.2.9 检查该实例启动状态

aws ec2 describe-instance-status --instance-id i-3bc0b3fc

技术分享

2.3 创建一个周期性snapshot的计划任务

2.3.1 检查当前Region

type C:\Users\Administrator\.aws\config

技术分享

2.3.2 创建用于计划任务的脚本文件c:\temp\backup.bat,内容如下:

aws ec2 create-snapshot --volume-id vol-09e651ff --region us-west-2 >c:\temp\output.txt 2>&1

2.3.3 创建执行计划任务的用户

net user backupuser passw0rd! /ADD

2.3.4 给该用户赋予执行脚本的权限

c:\temp\ntrights +R SeBatchLogonRight -u backupuser

2.3.5 创建一个计划任务

schtasks /create /sc MINUTE /mo 1 /tn "Volume Backup Task" /ru backupuser /rp passw0rd! /tr c:\temp\backup.bat

技术分享

2.3.6 等待几分钟,检查新的snapshots是否被创建

aws ec2 describe-snapshots --filters "Name=volume-id,Values=vol-09e651ff"

2.4 保留最后两个snapshots

2.4.1 删除之前创建的计划任务

schtasks /Delete /tn "Volume Backup Task"

2.4.2 检查当前所有snapshots的数量

aws ec2 describe-snapshots --filters "Name=volume-id,Values=vol-09e651ff" --query ‘Snapshots[*].SnapshotId‘

2.4.3 执行snapshotter.ps1

c:\temp\snapshotter.ps1 us-west-2

2.4.4 再次检查当前snapshots的数量

aws ec2 describe-snapshots --filters "Name=volume-id,Values=vol-09e651ff" --query ‘Snapshots[*].SnapshotId‘

3.1 移动日志文件到S3

3.1.1 登录到Processor实例

技术分享

3.1.2 配置AWS CLI

PS C:\Users\Administrator> aws configure
AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]: us-west-2
Default output format [None]:

3.1.3 下载loggen.ps1

(New-Object System.Net.WebClient).DownloadFile("https://d2lrzjb0vjvpn5.cloudfront.net/sys-ops/v2.4/lab-3-storage-windows/static/loggen.ps1", "c:\temp\loggen.ps1")

3.2.1 运行loggen.ps1

c:\temp\loggen.ps1

3.2.2 打开一个新的PowerShell窗口,并切换到c:\temp

cd \temp

3.2.3 移动一个log文件到之前创建的S3存储桶中

aws s3 mv timestamp.log "s3://s3-bucket-edward/logfiles/timestamp-$(Get-Date -Format ‘M-d-yyyy-h:m:s‘)"

技术分享

3.2.4 再次执行该命令

aws s3 mv timestamp.log "s3://s3-bucket-edward/logfiles/timestamp-$(Get-Date -Format ‘M-d-yyyy-h:m:s‘)"

3.2.5 列出该S3存储桶里的内容

aws s3 ls s3://s3-bucket-edward

技术分享

3.2.6 列出所有以/logfiles/打头的对象

aws s3 ls s3://s3-bucket-edward/logfiles/

技术分享

3.2.7 移动文件到/logfiles/archive/位置

aws s3 mv s3://s3-bucket-edward/logfiles/<file-name> s3://s3-bucket-edward/logfiles/archive/<file-name>

3.2.8 检查是否移动到该位置

aws s3 ls s3://s3-bucket-edward/logfiles/

以上是关于System Operations on AWS - Lab 3W - Managing Storage (Windows)的主要内容,如果未能解决你的问题,请参考以下文章

System Operations on AWS - Lab 1W - Creating EC2 (Windows)

System Operations on AWS - Lab 3W - Managing Storage (Windows)

1065 Operations On Grids

Output Operations on DStreams

OpenCV Code: Operations on Mat element

Approximate timing for various operations on a typical PC