我有一个使用Java8作为编程语言的AWS lambda函数,它需要访问AWS VPC资源,而我的VPC下有多个AZ (可用区)。
当我知道我的lambda函数当前在哪里运行的可用区细节时(想要在lambda函数本身中使用上下文对象或从环境变量中找出这一点),我可以首先连接到本地AZ中的资源,如果需要的话,可以故障转移到其他AZ。这在大多数时间避免了AZ之间的数据传输。
有没有办法从lambda代码本身中获取AZ的详细信息?
发布于 2017-11-07 15:46:16
对Lambda来说不是。有关EC2的信息,请查看http://169.254.169.254/latest/meta-data/placement/availability-zone。ECS允许您通过cat $ECS_CONTAINER_METADATA_FILE访问一个更有限的集合,其中不包括AZ。
发布于 2020-11-06 12:42:46
一种解决方法是尝试获取Lambda的IP地址(可以使用对VPC中的服务器的HTTP调用来实现),然后使用该地址查找运行Lambda的相应子网。如果您知道子网,您就知道AZ (假设您创建了子网)。
https://stackoverflow.com/questions/47152090
复制相似问题