20
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

DigitalOceanのフローティングIP機能を使う

Posted at

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 をクリックする。

do-floating-ip-1.png

ただし、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 設定が異なるので注意。画面の指示に従う。
do-floating-ip-2.png

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 で操作可能。

do-floating-ip-5.png

更なる応用(記事へのリンク)

参考

20
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?