使用S3 Glacier备份Amazon LightSail 实例

Amazon LightSail 是 EC2 的廉价和精简版,相比 EC2 拥有更低的价格,更简单的使用流程,但也增加了一些限制,例如无法在 EC2 控制台中操作 LightSail 实例。

LightSail 目前 2019-02-07 对于实例快照的定价是 0.05$/GB,快照似乎是通过直接将虚拟机磁盘镜像压缩保存的方式实现的,这将会导致实际快照计费大小大于文件系统内实际文件大小。
一般普通用户并不需要频繁的创建和恢复快照,只是偶尔创建一份备用,所以 LightSail 自带的快照功能也是一笔不小的开销,甚至超过了低配实例一般的价格,这种情况可以尝试自行备份实例硬盘并传输至 S3 使用 Glacier 存储保存。Glacier 的优点是价格十分低廉,缺点是不能随时读取且最低存储(起步价)90天,并且取出数据操作需要收费。具体价格可以参考 AWS S3 Glacier 定价

AWS 为 Glacier 提供了一定的免费额度,假设 S3 Bucket 与 LightSail 实例在同一区域,经过 gzip 压缩后的镜像小于 10GB,并且每个月最多只尝试一次恢复操作,那么月存储成本 <= 0.5$

使用条件

本文将以 Debian 9 为例,使用 e2image、tar、s3fs 三种工具以及一个额外挂载到实例的硬盘创建并存储备份。

继续阅读使用S3 Glacier备份Amazon LightSail 实例

WebPack / Gulp / Babel 是什么?

What the hell is WebPack / Gulp / Babel?

在 2017 年,提到 WebpackGulp 或是 Babel 大多数前端应该都很熟悉了,至少应该听过它们,这篇文章试图用最简单的方式为初学者和会用但是还不理解的人讲解这些工具的作用和使用场景。

文章的每一部分都使用了 入门成本 它是什么 使用场景 大致原理 来帮助你理解这些工具,以便更好地选择使用哪一个来进行工作。

Gulp

入门成本

★☆☆☆☆ - 非常低

任何人都可以使用它,即便你是一个新手,也可以仅通过几行代码做许多事

它是什么?

Gulp 是一个 任务/工作流 自动化工具,简单的说,就是可以将一些需要反复进行多次的工作作为脚本来自动完成。

使用场景

  • 项目可能较小
  • 代码需要编译后才能运行在浏览器之中
  • 希望在代码修改时浏览器窗口中能实时预览变更
  • 代码处理以外的工作,例如自动按 Major.Minor.Patch 的方式变更版本号,或上传到指定服务器

工作原理

启动用户选择的任务 > 根据事先定义的规则寻找要处理的文件 > 传送文件内容到插件 (Plugin) 或自己的方法中进行修改 > 重复上一步直到任务中的工作完成 > 根据事先定义的规则将文件写入目标位置

WebPack

继续阅读WebPack / Gulp / Babel 是什么?

使用acme.sh为GitLab添加HTTPS支持

过时警告

这篇文章所描述的步骤与方法由于时间关系已不再可靠,GitLab 自 10.5 版本开始自带 Let's Encrypt 支持,详情参考官方文档: Let's Encrypt integration in GitLab.


GitLab是什么:

GitLab unifies issues, code review, CI and CD into a single UI

或许你可以把它理解成一个可以免费下载并搭建在自己的服务器上,类似于 GitHub 的工具,不过如果你还不知道它是什么,大概也不需要看这篇文章吧 : )

acme.sh 是一个纯 Shell 语言写成的工具,它可能是目前最好用的 Let's Encrypt 证书申请工具,一次安装,自动续期

准备

  • 一台已经配置好的 GitLab 服务器,并且拥有服务器控制权
  • 确认防火墙已经开放 443
  • 没了。

开工!

首先安装 acme.sh,嗯,对,左边这个就是链接...点击之后会跳转到 GitHub,根据 ReadMe 安装即可。安装后可能需要执行 source ~/.profile 才能使命令生效

申请证书:

将 git.orz.corp 替换为你的 GitLab 域名,如果没有域名只有 IP,是不能申请证书的,只能自签,这里不做介绍,请跳过并参考 “安装证书” 部分

继续阅读使用acme.sh为GitLab添加HTTPS支持