博文

目前显示的是 2024的博文

encrypted EBS caused AWS EC2 failed to start by Lambda

    前不久因为安全方面的考虑,把AWS EC2挂载的EBS硬盘做了加密处理,具体就是先给未加密non-encrypted的EBS硬盘创建一个snapshot,然后在KMS里创建了一个新的key,再从那个未加密的snapshot来copy一个新的snapshot,copy的时候选KMS里的key来做加密,这样就得到了一个加密过的snapshot,最后再用这个加密过的snapshot创建一个新的EBS,来替换原先EC2挂载的未加密的EBS硬盘,这样就完成了对EC2硬盘的加密。     当时做的很顺利,做完看看貌似EC2一切正常,也就放那儿用了。     但是最近发现,用来定时启动这些EC2的Lambda function貌似失效了,具体表现为可以被Lambda停机,但不能被Lambda启动了。     查了一下,发现Lambda自己是执行成功了的,打印Lambda的instance.start()的response,可以看到Lambda的确已经成功发出了启动的event:   [{'StartingInstances': [ {' CurrentState ': {'Code': 0, 'Name': ' pending '}, 'InstanceId': 'i-aaaaa', ' PreviousState ': {'Code': 80, 'Name': 'stopped '}}, {'CurrentState': {'Code': 0, 'Name': 'pending'}, 'InstanceId': 'i-bbbbbb', 'PreviousState': {'Code': 80, 'Name': 'stopped'}}], 'ResponseMetadata': {'RequestId': 'a15ff429-06ae-4214-b29a-982e7958e8e9', '...