Floating IP
DigitalOcean から 10月20日(現地時間)に Floating IP 機能が発表された。その機能概要と使い方について整理。
Floating IP 機能とは
DigitalOcean 上のドロップレット(仮想サーバ)にパブリックな IPv4 アドレスを動的に付けたり外したりできる機能。インターネット側からは、DigitalOcean から割り当てられた Floating IP で接続出来る。ドロップレット内ではパブリック側のインターフェース eth0 に対して、アンカー IP 用の設定(10.15.0.7/16など、プライーベートのアドレス空間)が追加されている。
このアンカー IP は、サービスリリース(10月20日)以降に起動したドロップレットであれば、自動的に割り振られている。しかし、以前のサーバでは手動でアンカー IP の追加作業が必要(コマンド2つで完了)。コマンドの実行手順は OS 毎に異なるものの、GUI上に変更指示が表示される。
できること
- ドロップレットに対する Floating IP アドレスの取り付け(約10秒)・取り外し(約3秒)
- IP アドレスを他のサーバに付け替える機能
- API を使った Floating IP 制御が可能
できないこと
- HA 機能やフェイルオーバー機能(障害の検出と自動切り替え)は提供されていない。ただし、Corosync, Pacemaker, Keepalived 等と組み合わせ、いわゆる HA 機能を実現することが出来る模様。詳細後述。
価格や手続き
- IP アドレス毎に $0.006/時間
- サーバに割り当てなくても課金対象としてカウント
- ただし$1未満は課金されない(約167時間=1週間までなら課金対象外)
- GUI 上から直ぐに利用可能。申し込み不要
- 解約は GUI 上でキャンセルするだけ
Floating IP を使うには
DigitalOcean の GUI にアクセスし、Networking
のメニューをクリックする。対象サーバを選択して、Assign Floating IP
をクリックする。
ただし、10月20日よりも前に作成したサーバの場合、Anchor IP の設定が必須。IP のレンジと変更箇所は OS 毎に異なるので、画面の指示通りに作業する。
Ubuntu の例
$ sudo ip addr add 10.15.0.5/16 dev eth0
$ sed -i 's/eth0 inet static/eth0 inet static\n up ip addr add 10.15.0.5\/16 dev eth0/' /etc/network/interfaces
※ 環境によって IP 設定が異なるので注意。画面の指示に従う。
CentOS6 の例
$ sudo ip addr add 10.15.0.6/16 dev eth0
$ echo 'IPADDR2=10.15.0.6' | sudo tee -a /etc/sysconfig/network-scripts/ifcfg-eth0
※環境によって IP 設定が異なるので注意。画面の指示に従う。
Floating IP の操作
GUI または API で操作可能。
更なる応用(記事へのリンク)
-
Corosync and Pacemaker
-
Keepalived
-
Heartbeat