[[CloudStack/概要]] このページでは,CloudStackがどのようにネットワークの設定を行っているかを説明します. * Port Forwarding [#e9cad20f] CloudStackでは,Pod毎に仮想ルータが作成されます.~ 仮想マシンがインターネット上のホストと通信を行う際には,必ずこの仮想ルータを経由します.~ つまり,CloudStackで管理されている仮想マシンは,常にNAT下にいることになります.~ 仮想マシンがインターネット上でサービスを提供するためには,仮想ルータのPort Forwarding機能を用いてグローバルIPアドレスでアクセス出来るようにする必要があります.~ CloudStack上で仮想ルータは,Fedora12で動作しています.~ 通常,LinuxでPort Forwardingを行うには,iptablesを使用します.~ CloudStackは,ブラウザ上から仮想ルータとして動作しているFedora12に対してiptablesの制御を行うことで直接仮想ルータを操作することなくインターネット上から仮想マシンへのアクセスを実現しています. 仮想ルータ内でどのような設定が行われているかは,仮想ルータにログインすると確認できます.~ Port Forwardingを行うために仮想ルータが持っているIPアドレスの確認 # ip link show # ip addr show Port Forwadingを行っている設定の確認 # iptables -L # iptables -t nat -L * LoadBalancer [#r40aaafd] LoadBalancerは,言葉の通り負荷分散を行いサービスの冗長性を向上させる技術です.~ CloudStackでは,Port Forwarding以外にこのLoadBalancerを用いてインターネット上にサービスを提供することが出来ます.~ LoadBalancerの実装は,haproxyを用いて実現されています.~ haproxyは仮想ルータで動作しており,グローバルIPは仮想ルータが持ちます.~ LoadBalancerの設定も仮想ルータにログインすることで確認できます.~ 設定ファイルは/etc/haproxy/haproxy.cfgに記述されています.