簡體   English   中英

aws - 如何列出所有地區的可用區?

[英]aws - how to list availability zones for all regions?

我不想遍歷區域並列出每個區域的所有可用區域。

我有(紅寶石)

  result='Zones:<br/>'
  ec2 = Aws::EC2::Client.new(region: 'us-east-1')

  puts "Amazon EC2 regions:\n\n"
  describe_regions_result = ec2.describe_regions()
  describe_regions_result.regions.each do |region|
    puts "Region: #{region.region_name}"

    Aws.config.update({region: region.region_name})
    azs = ec2.describe_availability_zones #  (region_name: region.region_name)
    azs.availability_zones.each do |zone|
      result+="#{zone.region_name} - #{zone.zone_name}<br/>"
      p zone.region_name + ' ' + zone.zone_name
    end 
  end 

但我的輸出一直顯示各個 AZ 都在區域 us-east-2 中並重復為相同的值,如

Region: us-east-1
"us-east-2 us-east-2a"
"us-east-2 us-east-2b"
"us-east-2 us-east-2c"
Region: us-east-2
"us-east-2 us-east-2a"
"us-east-2 us-east-2b"
"us-east-2 us-east-2c"
Region: us-west-1
"us-east-2 us-east-2a"
"us-east-2 us-east-2b"
"us-east-2 us-east-2c"
    ...

如何修復以顯示每個區域內的 az ?

我嘗試將(region_name: region.region_name)到該行

azs = ec2.describe_availability_zones(region_name: region.region_name)

但這給了一個錯誤

ArgumentError at /bucket_counts
unexpected value at params[:region_name]

而且,如圖所示,我試過

Aws.config.update({region: region.region_name})

但這沒有幫助。 當然,如果可能的話,我不想使用配置更改只是為了列出區域的 az。

作為臨時解決方法,我每次都重新創建 ec2 客戶端,如

    ec2 = Aws::EC2::Client.new(region: region.region_name)

region迭代器內

這顯然不理想,但確實產生了所需的輸出:

Amazon EC2 regions:                                                                                                              

Region: eu-north-1                                                                                                               
"eu-north-1 eu-north-1a"                                                                                                         
"eu-north-1 eu-north-1b"                                                                                                         
"eu-north-1 eu-north-1c"                                                                                                         
Region: ap-south-1                                                                                                               
"ap-south-1 ap-south-1a"
"ap-south-1 ap-south-1b"
"ap-south-1 ap-south-1c"
Region: eu-west-3
"eu-west-3 eu-west-3a"
"eu-west-3 eu-west-3b"
"eu-west-3 eu-west-3c"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM