gpt4 book ai didi

ruby - 如何在 Ruby 中获取 AWS ELB 的托管区域 ID?

转载 作者:太空宇宙 更新时间:2023-11-03 16:08:47 24 4
gpt4 key购买 nike

我正在编写一些 Ruby 代码以使用区域顶点虚拟 A 记录功能自动更新 Route53 DNS 区域(域)。但是,要设置此类记录,除了 FQDN 之外还需要 Elastic Load-balancer 托管区域 ID。

有谁知道最好的方法吗? (即任何可以做到的 gem 等?)我目前正在将 appoxy aws gem 与 pcorliss 的 route53 gem 结合使用。

谢谢。

最佳答案

在现代AWS Ruby SDK's ELB module ,我想出了这个解决方案(部分伪代码):

credentials_data = # something
config = AWS.config(credentials_data)

elb_name = 'your.elb.dns.name.elb.amazonaws.com.'
elb_client = config.elb_client
response = elb_client.describe_load_balancers()
elbs = response[:load_balancer_descriptions]
the_elb = elbs.select {|elb| elb[:dns_name] == elb_name}.first
the_hosted_id = the_elb[:canonical_hosted_zone_name_id]

然后,稍后在执行 Route53 操作时,您可以将此数据包含为:

# ...
:alias_target => {
:dns_name => elb_name,
:hosted_zone_id => the_hosted_id,
:evaluate_target_health => true, # or false, if you wish
},
# ...

我承认,我确实希望所有这些都有一个漂亮的“ruby-ish”(更惯用)前端(或者也许有,我只需要去找到它),但上面的工作我使用股票 aws-sdk gem。希望这在某些时候对某人有帮助。

关于ruby - 如何在 Ruby 中获取 AWS ELB 的托管区域 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8350930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com