Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services KMS decrypt在本地工作,但不在EC2实例中工作_Amazon Web Services_Aws Kms - Fatal编程技术网

Amazon web services KMS decrypt在本地工作,但不在EC2实例中工作

Amazon web services KMS decrypt在本地工作,但不在EC2实例中工作,amazon-web-services,aws-kms,Amazon Web Services,Aws Kms,我正在尝试使用KMS解密存储在S3存储桶中的文件。在EC2实例中,我可以从S3中检索此文件,但当我尝试使用KMS对其进行解密时,会出现以下错误: HTTPSConnectionPool(host='kms.us-east-1.amazonaws.com',port=443):url:/(由ConnectTimeoutError(,'Connection to kms.us-east-1.amazonaws.com超时。(连接超时=60')引起)超过最大重试次数 但是,我能够从本地计算机成功解密此

我正在尝试使用KMS解密存储在S3存储桶中的文件。在EC2实例中,我可以从S3中检索此文件,但当我尝试使用KMS对其进行解密时,会出现以下错误:

HTTPSConnectionPool(host='kms.us-east-1.amazonaws.com',port=443):url:/(由ConnectTimeoutError(,'Connection to kms.us-east-1.amazonaws.com超时。(连接超时=60')引起)超过最大重试次数

但是,我能够从本地计算机成功解密此文件。有人知道为什么会这样吗


如果需要其他信息,我很乐意提供:)

当您为Lambda AWS启用VPC时,会显示以下消息-

启用VPC时,Lambda功能将丢失默认的internet访问。如果您的功能需要外部internet访问,请确保您的安全组允许出站连接,并且您的VPC具有NAT网关

因此,请确保您的lambda可以通过正确的安全组和NAT网关访问internet

另外请注意,为您的子网提供IG是不够的。您需要在路由表中有一个NAT实例或网关,以及从您的子网到该网关的路由,以便lambda能够访问与自定义VPC关联的internet

AWS Lambda使用您提供的专有网络信息来设置允许您的Lambda功能访问专有网络资源的ENIs。每个ENI都从您指定的子网内的IP地址范围中分配了一个专用IP地址,但没有分配任何公共IP地址。因此,如果Lambda功能需要Internet访问(例如,访问没有VPC端点的AWS服务,如Kinesis),则可以在VPC内配置NAT实例,也可以使用Amazon VPC NAT网关。您不能使用连接到VPC的Internet网关,因为这要求ENI具有公共IP地址

重要

如果Lambda函数需要访问Internet,请勿将其连接到公共子网或未访问Internet的专用子网。相反,只能通过NAT实例或Amazon VPC NAT网关将其连接到可以访问Internet的私有子网


来源:

当您为Lambda AWS启用VPC时,会显示以下消息-

启用VPC时,Lambda功能将丢失默认的internet访问。如果您的功能需要外部internet访问,请确保您的安全组允许出站连接,并且您的VPC具有NAT网关

因此,请确保您的lambda可以通过正确的安全组和NAT网关访问internet

另外请注意,为您的子网提供IG是不够的。您需要在路由表中有一个NAT实例或网关,以及从您的子网到该网关的路由,以便lambda能够访问与自定义VPC关联的internet

AWS Lambda使用您提供的专有网络信息来设置允许您的Lambda功能访问专有网络资源的ENIs。每个ENI都从您指定的子网内的IP地址范围中分配了一个专用IP地址,但没有分配任何公共IP地址。因此,如果Lambda功能需要Internet访问(例如,访问没有VPC端点的AWS服务,如Kinesis),则可以在VPC内配置NAT实例,也可以使用Amazon VPC NAT网关。您不能使用连接到VPC的Internet网关,因为这要求ENI具有公共IP地址

重要

如果Lambda函数需要访问Internet,请勿将其连接到公共子网或未访问Internet的专用子网。相反,只能通过NAT实例或Amazon VPC NAT网关将其连接到可以访问Internet的私有子网


来源:

一种情况可能是您正在使用VPC端点连接到s3存储桶,而没有internet连接


如果是这种情况,则必须通过NAT或将实例放入公共子网来启用internet连接

一种情况是,您使用VPC端点连接到s3存储桶,而没有internet连接


如果是这种情况,则必须通过NAT或将实例放入公共子网来启用internet连接

您不能从任何地方访问KMS,包括EC2内部,除非您可以从计算机访问Internet。听起来好像你没有。你不能从任何地方访问KMS,包括EC2内部,除非你可以从机器上访问互联网。听起来好像你没有。亚马逊专有网络NAT网关要花很多钱!在撰写本文时$32.4一个月!!只有在专用子网中部署服务时,才需要NAT实例。如果您不想这样做,只需将其部署在公共子网中,并为EC2实例分配一个公共IP(上面的答案有点特定于Lambda)。另外,如果你想要一个更便宜的替代方案,请使用NAT实例,如果你需要容错,请将其放在自动缩放组后面。亚马逊专有网络NAT网关的成本很高!在撰写本文时$32.4一个月!!只有在专用子网中部署服务时,才需要NAT实例。如果您不想这样做,只需将其部署在公共子网中,并为EC2实例分配一个公共IP(上面的答案有点特定于Lambda)。此外,如果您想要更便宜的替代方案,请使用NAT实例,如果您需要容错,请将其置于自动缩放组之后。