DigitalOceanのフローティングIPとは何ですか?

ここに画像の説明を挿入
DigitalOceanのフローティングIPは、コンピューティングリソースに関係のないパブリックIPアドレスを予約する方法です。DNSの変更が有効になるのを待たずに、アセット間のトラフィックをすばやく再ルーティングする方法を提供します。

ドロップレットなどのコンピューティングコンポーネントは、パブリックアクセス用に独自のIPv4アドレスを持っています。ドロップレットを破棄すると、そのIPに対する権利が失われます。このアドレスは、新しいドロップレットの作成に使用できるプールに返されます。

フローティングIPは、必要な限りあなたのものです。IPが割り当てられると、IPは、将来使用するために、アカウント内の適格なリソースまたは休止状態にアタッチできます。フローティングIPの対象となったドロップレットを破棄すると、アカウントでアドレスが使用可能になり、ドロップレットの作成時に割り当てられたドロップレット固有のIPのみが削除されます。

フローティングIPの目的

フローティングIPモードを使用すると、クラウド内のローカルネットワークをより厳密にシミュレートできます。独自のデータセンターを運営している場合は、ISPからIPアドレスのブロックを取得し、ネットワークへのエントリポイントでゲートウェイルーターに割り当てることができます。その後、外部ユーザーが知る必要のあるIPアドレスを変更せずに、ルーターの背後にあるインフラストラクチャを自由に変更できます。

フローティングIPは、DigitalOceanアカウントのリソースに同様の使いやすさを提供します。外部DNSを特定のドロップレットIPではなくフローティングIPにポイントすると、DNSレコードを保持しながら、個々のドロップレットを置き換えることができます。

一般的な使用例は、高可用性の展開と組み合わせたフェイルオーバーシナリオです。アカウント内の別の宛先を参照するようにフローティングIPを切り替えることで、問題が発生しているドロップレットからトラフィックをすばやくルーティングできます。監視サービスが停止を検出した場合、DigitalOcean APIを使用して、フローティングIPの宛先を切り替えることで自動フェイルオーバーを実現できます。

フローティングIPを作成する

フローティングIPは、DigitalOceanコントロールパネルまたはAPIを介して作成できます。アカウントは最初は3つのフローティングIPに制限されています。制限に達すると、コントロールパネルからさらにリクエストを開始する必要があります。

現在使用中のアドレスは無料です。フローティングIPを作成したものの、アカウントで休止状態のままにした場合、月額$4または時間あたり$0.00595が請求されます。この料金は、IPv4アドレスが世界的に不足しているために請求されます。使用量が1ドルを超えた後にのみ課金されるため、アドレスを作成して再割り当てする際の短い分離期間について心配する必要はありません。
ここに画像の説明を挿入

フローティングIPを作成するには、コントロールパネルアカウントにログインし、左側の列の[ネットワーク]リンクをクリックします。[フローティングIP]タブを選択します。ドロップダウンメニューを使用して、トラフィックのルーティング先のドロップレットを選択します。次に、「フローティングIPの割り当て」ボタンを押して、新しいアドレスを生成します。
ここに画像の説明を挿入

このIPアドレスへのリクエストは、選択したドロップレットにルーティングされます。[フローティングIP]ページに戻り、[IP]の横にある[その他]ボタンをクリックして、[再割り当て]または[割り当て解除]を選択すると、宛先を変更できます。IPの割り当てを解除すると、未使用の予約の請求が開始されます。

APIの使用

DigitalOcean APIを使用してフローティングIPを作成するには、POSTリクエストをエンドポイントに送信します。api.digitalocean.com/v2/floating_ipsドキュメントを参照して、アカウントの正しいアクセスクレデンシャルを生成および提供してください。

リクエストには、ターゲットとするドロップレットを識別するJSONペイロードが含まれている必要があります。

{
    “droplet_id”:1234567890
}

エンドポイントにGETリクエストを送信することで、すべてのドロップレットのIDを検出できます。api.digitalocean.com/v2/droplets

フローティングIPの宛先を変更するには、特別なアクションのエンドポイントを使用する必要があります。

POST api.digitalocean.com/v2/floating_ips/123.456.789.012/actions

フローティングIPは、上記のURLに示されているように、IPv4アドレスで識別する必要があります。割り当てアクションを選択し、ターゲットとするドロップレットIDを指定するJSONペイロードを含めます。

{
    "droplet_id": 1234567890,
    "type": "assign"
}

IPの割り当てを解除するには、同じエンドポイントを使用しますが、unassignをJSONペイロードのtypeフィールドに置き換えます。droplet_idフィールドは省略できます。

アウトバウンドトラフィックを管理する

フローティングIPが割り当てられている場合でも、ドロップレットはその特定のIPアドレスをアウトバウンドトラフィックに使用します。これは、サードパーティAPIなどの外部サービスが、フローティングIPアドレスではなく独自のIPアドレスでドロップレットを識別し続けることを意味します。

ドロップレットのネットワーク構成でルーティングテーブルを更新することにより、アウトバウンドトラフィックにフローティングIPを使用できます。まず、ドロップレットでDigitalOceanのメタデータAPIを使用して、アンカーIPアドレスを検出します。アンカーIPは、ドロップレットとそのフローティングIPの間をトラフィックが流れるIPアドレスです。

# Returns the Anchor IP of the Droplet this command is executed on
curl -s http://169.254.169.254/metadata/v1/interfaces/public/0/anchor_ipv4/gateway

次に、ip routeコマンドを使用して、Dropletのデフォルトルートを変更します。

# Remove the existing default route (Droplet-specific IP)
ip route del 0/0;

# Set the Anchor IP as the new default route
ip route add default via <anchor IP> dev eth0

ドロップレットからのトラフィックは、割り当てられたフローティングIPから来ているように見えます。これは、自動的に決定されたコールバックURLを使用してシステムに確認応答を送信するサービスと通信している場合に役立ちます。このプロセスにより、現在Dropletを公開しているフローティングIPにコールバックが送信されます。

制限

フローティングIPは現在、IPv4アドレスに制限されています。DigitalOceanは、IPv6フローティングIPを提供する計画を公表していません。

フローティングIPは特定のデータセンターリージョンに割り当てられているため、同じデータセンター内のドロップレットのみをターゲットにできます。NYC1のフローティングIPは、AMS1のドロップレットにマップできません。

ドロップレットのみがフローティングIPのターゲットになります。管理対象のKubernetesノードやその他のリソースを使用して参照することはできません。Kubernetesの場合、ロードバランサーが最も近い代替手段であり、ノード間でトラフィックをルーティングできます。ロードバランサーには独自のパブリックIPアドレスが付属しており、フローティングIPターゲットとして使用することはできません。

すべてのフローティングIPは、一度に1つのドロップレットを使用します。アクティブなルーティングコンポーネントがないため、同時に複数のドロップレットにマップすることはできません。また、逆引きDNSのPTRレコードを提供せず、SMTPトラフィックに使用することもできません。

結論は

フローティングIPは、DigitalOceanアカウント内で公的にアクセス可能な静的IPアドレスの宛先を切り替えることができるメカニズムです。フローティングIP自体がアドレスを変更することはありませんが、ポイントするドロップレットはいつでも動的に切り替えることができます。

DNSレコードを特定のドロップレットではなくフローティングIPにポイントすることは常に良い考えです。フローティングIPは使用中は無料であるため、障害時の柔軟性が向上するのはいつかという理由はほとんどありません。高可用性がすべてではない場合でも、フローティングIPを使用すると、トラフィックをメンテナンスページまたは別のドロップレットのリードレプリカに一時的にリダイレクトできるため、アップグレードウィンドウとサーバーの再起動を管理できます。

おすすめ

転載: blog.csdn.net/wlcs_6305/article/details/123189549