我正在使用AWS lambda函数,Java8作为编程语言,需要访问AWS VPC资源,而我的VPC下面有多个AZ(可用区)。
当我知道我的lambda函数当前正在运行的可用区详细信息时(想要使用Context Object或环境变量在lambda函数本身中找出它),我可以先连接到本地AZ中的资源并执行如果需要,可以故障转移到其他AZ。这避免了大多数时间AZ之间的数据传输。
有没有办法从lambda代码中获取AZ细节?
答案 0 :(得分:1)
不适用于Lambda。对于EC2,请查看http://169.254.169.254/latest/meta-data/placement/availability-zone
。 ECS允许您通过cat $ECS_CONTAINER_METADATA_FILE
访问更有限的集合,但不包括AZ。
答案 1 :(得分:0)
一种解决方法是尝试获取Lambda的IP地址(可以使用对VPC中服务器的HTTP调用来完成此操作),然后使用该IP地址查找正在运行的相应子网。如果您知道该子网, ,您就知道AZ(假设您创建了子网)。