通过lambda检查快照例程
#aws #python #lambda #ptbr

介绍

备份是任何环境操作中的关键,停止执行某些例程可能会导致某些恢复过程中的惊喜。

有几种方法可以在AWS中备份您的资源和服务。当涉及EC2和RDS实例时,AWS提供了集成到自己的功能中的AWS Backup或备份服务等工具,例如。

尽管很容易使您的备份保持最新状态,但我们知道,总是有一个例外(Zinha)逃跑,并且随着时间的流逝可能会以困境结束。考虑到这一点,我在Python中制作了此脚本,以便能够验证您的帐户卷是否具有快照的最新信息。 ð

让我们去台阶

1-创建AMI的功能

访问 iam 左侧菜单上的控制台单击角色,然后单击创建角色 botan。

em 选择可信赖的实体 selecione aws服务 lambda e Clique em em next

单击创建策略 bot新指南将开放政策的创建。在编辑的 JSON 标签上徒劳,胶水以下胶水,然后单击下一步以促进回顾polycy

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "cloudwatch:PutMetricData",
                "ec2:DescribeInstances",
                "ec2:DescribeVolumeStatus",
                "ec2:DescribeSnapshotAttribute",
                "ec2:DescribeRegions",
                "ec2:DescribeVolumes",
                "ec2:DescribeVolumesModifications",
                "ec2:DescribeSnapshots",
                "ec2:DescribeVolumeAttribute"
            ],
            "Resource": [
                "*"
            ],
            "Effect": "Allow"
        },
        {
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:*:*:*"
            ],
            "Effect": "Allow"
        }
    ]
}

dãªpolycy的名称,然后单击创建策略

返回到导航器角色指南,然后更新polycies列表。搜索前面创建的策略,选择它,然后单击 Next

dãª为您的角色名称,然后单击创建角色。好的,您的角色是创建的。

2-创建lambda功能

打开 lambda Console ,在左侧菜单上单击函数,然后在中创建函数

bot

选择从头开始的作者,您的功能名称,然后选择运行时python 3.9

权限中,选择使用现有角色,然后在选择字段中选择先前创建的卷。完成此完成的单击创建功能

使用此功能将创建您的功能。现在,让我们用deste repositório替换函数示例的示例。

这样,选择所有帐户卷,并检查每个帐户量是否执行还是没有快照。

如果您没有执行快照,则将在执行日志上打印以下消息:

[ALERT] The Volume-ID: vol-a1b2c3d4e5f6g7 does not have a Snapshot.

如果卷有任何快照,但这比验证常数DAYS = x中插入的​​天数年龄大,将打印出消息:

[ALERT] The last Snapshot of Volume-ID: vol-a1b2c3d4e5f6g7 was in 2022-09-23 01:33:04.596000+00:00.

由于某种原因您要删除一些检查卷,只需将snapshot:false标签添加到所需的卷中即可。我会看到消息:

[WARNING] Volume-ID: vol-a1b2c3d4e5f6g7 excluded from snapshot routine.

按模式,代码检查最新快照是否超过3天,但是您可以在使用代码中的常量DAYS = x中更改此值。

如果代码的方式不返回任何内容意味着您的卷是用快照 in Day

抛弃代码,单击部署保存。

apon保存代码,来到配置选项卡,然后单击编辑

超时更改为1分钟和30秒(可能需要更长的时间,具体取决于帐户上的数量),然后单击保存。/p>

回到代码选项卡,单击测试配置新的测试事件。

dãª是事件的名称,保留其余的标准配置,然后单击保存

apon保存事件,单击测试 bot以执行您的lambda函数。

3-分析日志

执行功能后,您会看到下面的类似输出:

要获得更完整的视图,让我们在日志组上 CloudWatch 上的日志组。为此,单击 Monitor ,然后在查看CloudWatch日志

这样,您将被重定向到您创建的lambda函数日志组。单击日志流最新查看功能的完整功能。

这样,您可以拥有一个完整的视图,取决于您的环境可能非常广泛。

包括£o

CloudWatch上的日志上,我们可以基于Tricica过滤器创建警报,因此可以对所有帐户量进行备份监视,但这是附近帖子的主题。

我待在这里,任何反馈都只在评论中。