/var/log/messages

Nov 19, 2013 - 1 minute read - Comments - DevOps

Fog で firewall 操作

とりあえず IP address の確認から、っていきなり見当たらず焦るなど。以下なのか。

  • Address
    • associateIpAddress
    • listPublicIpAddress
    • disassociateIpAddress

とは言え、今回は Fog から云々、ってのは想定してなくて、IP 確保しといて ID が分かってれば OK ですね。

とりあえず、近々で使うのは list_public_ip_addresses なのか。て、何も出力されません。

@compute.list_public_ip_addresses({'listall' => true})

こちら、固定で対応の方向なのでコンパネから拾う事に (弱

ぐぬ

以下で確認できたorz

p @compute.list_public_ip_addresses({'listall' => true})

阿呆だorz

閑話休題

とりあえず listPortForwardingRules の戻りが以下な模様。

{"listportforwardingrulesresponse"=>
    {"count"=>1, 
     "portforwardingrule"=>[{"id"=>22222, 
                             "privateport"=>"22", 
                             "privateendport"=>"22", 
                             "protocol"=>"tcp", 
                             "publicport"=>"9999", 
                             "publicendport"=>"9999", 
                             "virtualmachineid"=>33333, 
                             "virtualmachinename"=>"fugahoge-VM", 
                             "virtualmachinedisplayname"=>"devopsOkinawa#1", 
                             "ipaddressid"=>4444, 
                             "ipaddress"=>"192.168.255.254",
                             "state"=>"Active", 
                             "cidrlist"=>""}]}}

入力してた項目としては

  • {private, publid} な port
  • vm な ID 指定で良いのかどうか
  • IP も ID 指定で良いはず

createPortForwardingRule に必要なパラメータとしては

  • ipaddressid
  • privateport
  • protocol
  • publicport
  • virtualmachineid

とのこと。ある意味ここが指定できれば OK ということなのか。以下なカンジなのかどうか。

@compute.create_port_forwarding_rule ({
                                    'ipaddressid' => ""
                                    'privateport' => ""
                                    'protocol' => ""
                                    'publicport' => ""
                                    'virtualmachineid' => "" })

p @compute.list_port_forwarding_rules({'ipaddressid' => ""})

とりあえず、仮想リソースを deploy して確認してみる。

結果

楽勝で OK でした。すばらです。あと destroy も仕込んで試験しとく方向。何かあれば追記の方向にて。

追記

削除も確認。destroy ではなくて delete でしたね。

あと、いちいちスクリプトを修正しなきゃ、なあたりもなんとかしたい。