标签: 实用工具

电脑垃圾定期清理,云上垃圾您清理了吗

电脑管家告诉我们,定期清理垃圾,电脑更给力!泰岳云工具告诉您,定期清理S3中垃圾,可以更省钱。

如果您使用了Amazon Athena服务,我想,有一个问题你或许没有注意到:长期使用Athena会产生大量查询结果存储在S3,这就意味着S3中有很多以前的Athena数据,并且再也不使用,那这么多的垃圾数据您清理过吗?

如果没有的话,那你可吃亏了!您可是一直在为这些垃圾数据支付存储的费用啊,日积月累,这笔钱可也不少,业务量大的一年下来可能高达几万元甚至更多!

根据S3 99.999999999%的持久存储特性,这些数据将会一直存储在S3中,明明可以节省这笔费用,而您却一直为这些垃圾买单,您说冤不冤?

如果您清理过垃圾数据,那给你一个赞!但你有没有觉得每次清理垃圾很麻烦呢,因为你需要频繁进入S3桶,进入层层目录,在大量文件中找到需要删除的数据,还得看仔细点,万一不小心删错了就更麻烦了。

如果您存在以上问题,那么您的福利来了,泰岳云工具delAthenaData可以帮您定期清理垃圾来节省费用,而且是免费安装使用哦!不用客气,拿走拿走!!!

delAthenaData工具功能特点:

  1. 可以指定删除多少天前的数据
  2. 定期自动执行
  3. 完全免费

心动的话,请戳https://www.awstweaker.com/2020/06/12/delathenadata/免费安装使用。

还在为AWS账单拆分烦恼吗

AWS是世界上最大的公有云提供商,提供的云资源种类也最丰富。AWS云上客户数量多,用云规模大。拥有多个AWS账号、运行多套业务应用的客户很多。对这些用户的AWS管理员来说,AWS账单是个不得不面对的基础服务。

但是,AWS记账粒度很细,计费规则很多,还有RI、Credit等各种影响成本费用的手段,看清楚、弄明白AWS账单,做到明明白白消费、力求节约用云,是客户AWS管理员必备的功课,需要较长一段时间的熟悉研究才可能做到,还可能出现各种状况。

比如,老板问,最近业务激增,AWS资源用量有没有显著增加啊?小白管理员一查AWS账单,可能会傻眼:怎么这个月的比以前还低啊?怎么3月前花钱特别多,那时是业务低谷期啊?老鸟会知道,3个月前集中购买了一批预付费RI,所以费用激增;后续使用RI、当然费用就低;何况上月刚充入了一大笔Credit抵扣券,当然费用就少了。就算老鸟,要还原实际用云消费,审视其与业务规模的关系,也是不容易做到的。

又如,公司3个游戏都在云上,还有个统一的日志分析平台。老板说每个游戏团队要独立核算成本,日志分析平台成本要按比例分摊。这回老鸟管理员也有点儿挠头了:要是没有日志分析平台,一个游戏一个独立AWS账户最容易分清成本,但是三个独立账户游戏都接分析平台,VPC和部署架构就会复杂,何况多个AWS账户RI复用的灵活性变小了,管理复杂了,防D的Shield服务要买多份,每月花多个3000美刀!即便这些都能忍,日志分析平台的成本咋谈呢?

如果老板非要不可,就的一咬牙、一跺脚,撸起格子衬衫袖子、露出程序猿本色,没有什么事是开发搞不定的!

且慢!神州泰岳业务刚推出了免费、易用、灵活的AWS账单拆分工具,可以1) 还原真实资源消费和成本、2) 按业务单元拆分账单。你不如花3、5分钟装上,完美解决上述烦恼省出开发的时间去陪女朋友。

工具介绍、手册和下载请看https://wiki.awstweaker.com/2019/10/24/aws-up账单拆分工具/

手把手教你如何使用Terraform操作AWS

Terraform 是一种安全有效地构建、更改和版本控制基础设施的工具(基础架构自动化的编排工具)。它的目标是 “Write, Plan, and create Infrastructure as Code”, 基础架构即代码。Terraform 几乎可以支持所有市面上能见到的云服务。具体的说就是可以用代码来管理维护 IT 资源,把之前需要手动操作的一部分任务通过程序来自动化的完成,这样的做的结果非常明显:高效、不易出错。

https://img2018.cnblogs.com/blog/952033/201812/952033-20181202095002537-1803290074.png

Terraform 提供了对资源和提供者的灵活抽象。该模型允许表示从物理硬件、虚拟机和容器到电子邮件和 DNS 提供者的所有内容。由于这种灵活性,Terraform 可以用来解决许多不同的问题。这意味着有许多现有的工具与Terraform 的功能重叠。但是需要注意的是,Terraform 与其他系统并不相互排斥。它可以用于管理小到单个应用程序或达到整个数据中心的不同对象。

Terraform 使用配置文件描述管理的组件(小到单个应用程序,达到整个数据中心)。Terraform 生成一个执行计划,描述它将做什么来达到所需的状态,然后执行它来构建所描述的基础结构。随着配置的变化,Terraform 能够确定发生了什么变化,并创建可应用的增量执行计划。

是不是还是很懵逼的感觉,其实一句大白话可以解释他的用处——就是咱们遵循Terraform的代码规范,替代咱们人工在AWS控制台吭哧吭哧的操作各个服务,最大的好处是,对于不熟悉AWS各个服务操作的用户,咱们可以给他写个Terraform脚本,只要执行这个脚本就可以按照客户的要求构建AWS各个服务了,是不是觉得很神奇,废话不多说,直接上代码,感受一下。

关于Terraform

Terraform以单个二进制文件的形式分布。通过解压缩并将其移动到包含在系统路径中的目录中来安装Terraform.

下载安装

Terraform的官方网站是https://www.terraform.io , 在这个网站中,可以轻松的找到的下载地址, https://www.terraform.io/downloads.html

https://releases.hashicorp.com/terraform/0.12.6/terraform_0.12.6_openbsd_amd64.zip

我安装的是Terraform0.126,这个版本对需要集成python 3.6以上.

准备环境

注:我装的是Linux版的环境,其他环境可以由自己测试。

一:首先检查一下你的python环境

  1. python –version,
  2. Python 2.7.8

默认的环境是2.7.8,这个版本太低,需要升级到3.6.8,

1、wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz  下载python

2、tar zxvf Python-3.6.3.tgz 解压

3、cd Python-3.6.3

4、./configure –prefix=/usr/local/python3.6 5、指定安装路径

6、make 编译

7、make install 安装

按照步骤应该没什么问题,在命令行输入python看看版本。
可是依然显示python2.7。

我们需要改变这种默认。为新安装的python3建立软链接

mv /usr/bin/python /usr/bin/python.bak 删除原来指向python2的软链接

ln -s /usr/local/python3.6/bin/python3.6 /usr/bin/python

此时再检查一下python的版本

二:安装Terraform

解压Terraform文件后Terraform是个文件

配置Terraform 环境变量

(1)export PATH=”$PATH:/path/to/dir”

(2)source ~/.profile

三:安装aws-cli

  1. sudo pip install –upgrade pip
  2. sudo pip install awscli

总结

此时环境全部准备好了,下面就开始进入Terraform的世界了。

手把手教你如何使用Terraform操作AWS(二)

上文已经详细介绍了Terraform的运行环境了,接下来,咱们开始用Terraform试试手。

一:访问密钥和秘密访问密钥

AWS Access Key ID 和 AWS Secret Access Key 是您的 AWS 凭证。它们与 AWS Identity and Access Management (IAM) 用户或角色相关联,用于确定您拥有的权限。有关如何使用 IAM 服务创建用户的教程,请参阅 IAM 用户指南 中的创建您的第一个 IAM 管理员用户和组

访问密钥包含访问密钥 ID 和秘密访问密钥,用于签署对 AWS 发出的编程请求。如果没有访问密钥,您可以使用AWS 管理控制台进行创建。作为最佳实践,请勿在不必要时使用 AWS 账户根用户 访问密钥执行任务。而是为自己创建一个具有访问密钥的新管理员 IAM 用户

仅当创建访问密钥时,您才能查看或下载秘密访问密钥。以后您无法恢复它们。不过,您随时可以创建新的访问密钥。您还必须拥有执行所需 IAM 操作的权限。

$ aws configure

AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE

AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

Default region name [None]: us-west-2

Default output format [None]: json

键入该命令时,AWS CLI 会提示您输入四条信息(访问密钥、秘密访问密钥,AWS 区域和输出格式),并将它们存储在名为 default 的配置文件(一个设置集合)中。每当您运行的 AWS CLI 命令未明确指定要使用的配置文件时,就会使用该配置文件。

二:使用Terraform 创建,删改,修改 S3 Bucket

(1).每个 Terraform 项目需要自己单独的目录空间

mkdir terraform

cd terraform

(2).目录下的所有  *.tf 文件都会被 Terraform 加载,在初始化 Terraform 工作空间之前必须至少要有一个 *.tf 文件。我们这里建立文件 terraform.tf, 内容如下

Terraform 配置的语法是该公司 HashiCorp 独创的 HCL(HashiCorp configuration language), 它可以兼容 JSON 格式。

provider “aws” 部分,它指定选用什么 provider, 以及验证信息。aws 既允许指定 access_key 和 secret_key

provider “aws” {
region           = “us-east-1”
access_key  = “your-access-key-here”
secret_key   = “your-secret-key-here”
}

也能够指定证书文件中的 profile

provider “aws” {
region                                  = “us-east-1”
shared_credentials_file  = “~/.aws/credentials”   //不指定的话,默认值是 “~/.aws/credentials”
profile                                  = “………”                        //不指定的话,默认值是 “default”
}

如果是使用 shared_credentials_file 中的 profile, 请确定您以预先生成好的 credentials 文件及有效的 profile。更多关于 AWS Provider 的配置请参考 https://www.terraform.io/docs/providers/aws/index.html

(3)resource “aws_s3_bucket” “s3_bucket” 部分

如果 bucket-test-bucket 不存在的话,运行 terraform apply 将会创建它,否则试图更新该 bucket。此例子只指定了 bucket 的 acl 和 tag 信息。terraform destroy 用来删除已存在的  bucket。

注意:terraform 配置文件中只指定要管理的资源对象,并不关心操作资源的行为–创建,修改,删除操作。操作行为与 Terraform 的状态有关系,无则创建,有则修改,更名会拆分为除旧立新两个操作,terraform destroy 用于显式删除资源。后面实例操作时会讲到。

注:resource “aws_s3_bucket” “s3_bucket” { 中,resource 后第一个是 type, 即资源名,第二个参是 name。在作为变量引用的时候就要用到它,例如在后面要为 Lambda 创建一个 S3 Event 的 Trigger, 就要写成 event_source_arn = “${aws_s3_bucket.s3_bucket.arn}”, 引用时不需要知道实际的名称。

(4)初始化工作目录

在初始化 Terraform 工作目录之前, 其他命令如 apply, plan 多是不可用的,提示需要初始化工作目录,命令是

terraform init

它要做的事情像是 git init 加上 npm install,执行完了 terraform init 之后会在当前目录中生成 .terraform 目录,并依照 *.tf 文件中的配置下载相应的插件。

(5). 执行 Terraform 管理命令

有了前面的准备之后,终于可以开始运行 Terraform 的管理命令了。Terraform 在正式执行之前提供了预览执行计划的机会,让我们清楚的了解将要做什么

terraform plan

由此计划还能知道关于 aws_s3_bucket 有些什么配置项,比如配置中可以加上 acceleration_status = “Enabled”

terraform apply


这样便在 AWS 上创建了一个 S3 bucket “test-bucket”, 同时会在当前目录中生成一个状态文件 terraform.tfstate, 它是一个标准的 JSON 文件。这个文件对 Terraform 来说很重要,它会影响 terraform plan 的决策,虽然不会影响到实际的执行效果。我们可以把它存到远端,如 S3 或 Consul。terraform state [list|mv|pull|push|rm|show] 用来操作状态文件。

总结

  1. 关于Terraform的基本操作也就这几条,很简单吧,下一节,将会加大难度。
  2. 创建 IAM Role, 该 Role 要能操作 Lambda,S3和 CloudWatch
  3. 创建IAM Policy策略,可以操作ec2的所有权限。
  4. 将托管的IAM策略附加到角色。
  5. 创建一个Lambda函数。
  6. 创建一个cloudwatch event rule定时触发Lambda函数。
  7. 创建Lambda权限,允许外部源调用Lambda函数。

 

手把手教你如何使用Terraform操作AWS(三)

本例子中要是用cloudwatch event 来触发lambda函数,给所有的ec2实例打标签。

以下是Lambad代码

接下来的事情全部要交给 Terraform 来完成了,在于怎么写那个 tf 文件,为方便起见我们创建一个 terraform.tf 文件。

第一部分:

(1)首先resource “aws_iam_role” “role” 第一个标签的功能,是创建IAM Role,要求这个用户有执行lamdba的权限。

(2)resource “aws_iam_policy” “policy”,创建一个IAM策略,此策略可以操作所有的ec2的策略。

(3)resource “aws_iam_policy_attachment” “test-attach”,将托管的IAM策略附加到用户、角色和/或组

(4)提供Lambda函数资源。Lambda允许您触发代码的执行,以响应AWS中的事件。

第二部分:

(5)提供CloudWatch事件规则资源。

schedule_expression调度表达式。例如,cron(0 20 * * ?或费率(5分钟)

(6)提供一个资源来创建CloudWatch事件权限,以支持当前帐户缺省事件总线中的跨帐户事件。

(7)之后执行terraform计划,我们知道这些脚本的将要操作哪些资源。

(8)上面创建的东西不想要了,想统统干掉,那就更简单了 terraform destroy 就行了。

AWS实用工具指南–MobaXterm

EC2是AWS中用量最大的服务。基本上每一个AWS用户都会使用EC2,今天我们推荐一款可以方便的远程访问EC2的工具:MobaXterm。

关于MobaXterm

MobaXterm是一款Windows平台的功能强劲的远程访问工具。MobaXterm有免费版和商业版,使用免费版,就能够满足我们远程管理EC2服务器的各种需求。

下载安装

MobaXterm的官方网站是https://mobaxterm.mobatek.net/ , 在这个网站中,可以轻松的找到 MobaXterm的下载地址。

目前,MobaXterm的版本是12.1,我们推荐使用Portable版本。也就是免安装单文件版本。对应的下载地址为

https://download.mobatek.net/1212019080215819/MobaXterm_Portable_v12.1.zip

下载完成后,直接点击解压缩就可以使用了。为了方便,还可以在桌面创建快捷方式。

主要功能

MobaXterm主要功能

从图中可以看到,MobaXterm提供了非常丰富的连接方式支持。不仅包括常见的SSH,Telnet,X-Windows,Windows远程桌面,VNC,FTP,SFTP,串口,还支持微软新推出的WSL, S3,甚至可以模拟不同版本的IE浏览器。

连接EC2的Linux实例

在MobaXterm可以直接使用私钥连接EC2实例。例如,假设某个EC2的IP地址是13.125.72.134,使用的秘钥是soul.pem。那么在MobaXterm中只需要设置一下IP地址,本地私钥的路径和用户名,就可以直接访问 EC2实例了。

连接配置

特色功能

MobaXterm提供了很多实用的特色功能,下面我们将简单介绍其中的几个。

SFTP

在日常的运维中,经常需要在服务器和本地之间上传和下载文件。针对这个需求,MobaXterm提供了一个非常实用的侧边栏文件服务功能。参考附图,当连接到服务器之后,终端窗口的左侧会有一个对应的文件窗口。这个窗口的操作就和FTP客户端一样,可以直接通过拖拽上传和下载文件。特别值得一提的是,在这个窗口下方还有一个特殊的选项,follow terminal folder。勾选上这个选项后,如果在终端中切换目录,左侧的文件窗口也会一起进行目录切换。例如,如果在终端窗口中输入 cd /var,进入/var目录,那么左侧的文件窗口也会自动的切换到/var目录,十分的方便。

文件窗口

录制宏

MobaXterm另外一个特色功能是录制宏,打开录制宏功能后,MobaXterm可以直接记录用户在终端所有的操作。用户还可以方便的对记录好的宏进行编辑、重新执行等操作。

宏管理

分屏展示

在系统维护过程中,另外一个常见的场景是一边查看运行日志,一边运行其他命令,这个时候就需要打开多个窗口。MobaXterm提供了非常方便的分屏展示功能,主要点一下split就可以实现多个终端窗口的分屏显示。

在 MobaXterm另外一个特色功能是录制宏,打开录制宏功能后,MobaXterm可以直接记录用户在终端所有的操作。用户还可以方便的对记录好的宏进行编辑、重新执行等操作。

分屏展示

AWS实用工具指南–S3Browse

S3是AWS提供的云存储服务,官网上S3的介绍是这样描述的:

Amazon Simple Storage Service (Amazon S3) 是一种对象存储,旨在通过 Internet 存储及访问任何类型的数据。

它非常安全,耐用性高达 99.999999999%,并且可扩展过去的几十万亿对象。S3 可用于备份和恢复、分层存档、用户主导型内容(如照片、视频、音乐和文件)、用于大数据分析的数据湖和数据仓库平台,或者作为无服务器计算设计的基础。

说起云存储,最容易想到的应用方式就是网盘,那么有没有工具可以让用户像使用网盘一样使用S3呢,今天我们推荐一款S3的客户端工具:S3Brower。

关于S3Browser

S3Browser是一款windows的S3客户端。S3Browser有免费版和注册版两个版本,使用S3 Browser免费版就可以方便的管理S3存储桶里的文件。

下载安装

S3Browser的官方网站是52.83.57.155//s3browser.com/ , 在这个网站中,可以轻松的找到 S3Brower的下载地址。

目前,S3Browser的版本是8.4.1,对应的下载地址是

https://s3browser.com/download/s3browser-8-4-1.exe

https://netsdk.s3.amazonaws.com/s3browser/8.4.1/s3browser-8-4-1.exe

下载完成后,直接点击安装,一路OK即可。安装完成后,可以在桌面看到S3Browser的图标。

主要功能

S3 Browser主要功能

从图中可以看到,S3Browser的免费版本就提供了非常全面的功能,下面将简单的介绍S3Browser的使用。

账户设置

在使用S3Browser之前,需要在AWS的控制台界面中使用IAM服务为S3Browser创建专门的用户。为了提高安全性,可以用托管权限创建 S3桶的只读用户和S3的管理用户,也可以按照S3桶配置用户和权限。

如下图所示,可以在IAM中建立一个具有S3所有权限的S3Client用户。

添加S3管理用户1

添加S3管理用户2

添加IAM用户后,就可以在S3Browser中添加相应的Account。

在S3Browser中添加新账号

需要注意的是如果是Global的AWS账号那么Account Type选择Amazon S3 Storage,如果是中国区的AWS账号,Account Type需要选择Amazon S3 in China。

为了安全,还可以给账号设置一个密码,并且在传输时使用加密连接。

文件操作

完成账号设置后,就可以开始正式使用S3Browser了。S3Browser的使用和其他网盘客户端软件非常相似,可以批量的对文件进行上传、下载、剪切、复制、删除等各种操作。

需要特别指出是,S3Browser中的所有操作都支持断点续传,S3Browser会自动的进行文件拆分,上传时的块大小为16M ,下载时的块大小为100M。

文件分块下载