web-dev-qa-db-ja.com

共有ホスティング用のダイナミックDNS-存在しますか?

特定のホームルーターファームウェアは、ダイナミックDNSサービス(noipやdyndnsなど)と連携して、コンシューマーISPの背後にあるサーバーからサブドメインにサービスを提供するように設計されているようです。同様に、共有Webホスティングアカウントで機能するダイナミックDNSサービスはありますか?

たとえば、Dreamhostには、ドメイン名のIPアドレスを取得できるAPIがあります。理論的には、ダイナミックDNSサービスは定期的にDreamhostAPIにWebサイトのIPアドレスを要求します。 DreamhostのIPアドレスが変更された場合、DNSホストは、不一致に気付くとすぐに、そのWebサイトのゾーンファイルに必要な変更を自動的に行います。

どうして?

以前は、共有ホストの静的IPアドレスの料金を支払い、ドメイン名はGoDaddyに登録され、ネームサーバーはEveryDNSに設定されていました。共有ホストでの壊滅的なハードウェア障害のため、私のサイトは移動され、IPアドレスが変更されました。

上記のセットアップ例では、DNSレコードは自動的に更新されます。代わりに、Aレコードを手動で更新する必要がありました。

質問の概要

  1. これを可能にするダイナミックDNSホスティングサービスと共有ウェブホストはありますか?

  2. 上記の例で提案されたソリューションは実行可能ですか?

  3. ボーナス(このテーマに関する私の無知を暴露するリスクがあります):DNS以外に、WebサイトのIPアドレスを検出する他の方法はありますか?おそらく、共有ホスティングディレクトリのスクリプトがIPの変更を検出し、DNSホストに通知する可能性がありますか?

前もって感謝します!

5
joelhaus

すでにDynDNSについて言及しましたが、不足しているのはクライアントだけのようです。彼らは 彼らのウェブサイト でいくつかのLinux互換クライアントについて言及しています。

  • ddclient
  • イナディン

これらのいずれかをダイナミックDNSサービスと組み合わせて使用​​すると、目的を達成できます。


私は当初、共有ホスティングがシェルアクセスを提供すると想定していました。シェルアクセスがないと、物事は少しトリッキーになります。まず、スクリプトを定期的に実行する方法が必要です。一部のWebアプリは、ページが読み込まれるたびにルーチンを呼び出すことで「偽のcron」を実装しますが、サイトにアクセスできない場合は役に立ちません。つまり、crontabにアクセスする必要があります。

タスクを定期的に実行する機能がある場合は、新しいIPアドレスを制御する別のホスト(権限のあるDNSでもある)に送信するスクリプトを開発できます。受信側のホストは、新しいIPアドレスを使用してゾーンファイルを更新してから、DNS構成を再読み込みします。

TL; DRいいえ、すでにこれを提供しているサービスはありません。

3
Nic

これまでのところ、それは(あなたにとって)一度だけ起こったことがあり、それは特別な理由によるものでした。ダイナミックDNSの欠点を考えると、わざわざ気にする価値はないと思います。それでもそれを実行したい場合は、DDNSクライアントの1つを取得してサーバー自体で実行するだけです。これは、サーバー自体で実行するためです。

深刻な懸念がある場合は、サーバーが到達可能であることを確認し、到達可能でない場合は警告するために、何らかの形式の監視も実装する必要があります。

4
John Gardeniers

定期的にDreamhostAPIにWebサイトのIPアドレスを要求します。 DreamhostのIPアドレスが変更された場合、DNSホストは[DNS]ゾーンファイルに必要な変更を自動的に行います

いいえ、それは存在しません。

ただし、存在するのは、HTTP要求を行うことによってWebサイトを監視し、WebサーバーがダウンしたときにDNSを変更するサードパーティのサービスです。ただし、これらは「自動的に」Webホストと統合されておらず、Webホストが新しいサーバーをセットアップしたかどうかはわかりません。 2つ以上のWebサーバーを自分で実行し(たとえば、2つの異なるWebホストを使用して)、指定したサーバーにサービスをフェイルオーバーさせる必要があります。

このようなサービスの例としては、 DNS Made EasyのDNSフェイルオーバー 、および EdgeDirector とそれらの監視サービスがあります。同様の何かを、通常はより高い価格で提供する他のいくつかがあります。

DNSの「トリック」を使用することは、高可用性のための完全なソリューションではないことに注意してください。 DNSレコードはISPとWebブラウザによってキャッシュされるためです。したがって、不明な数のユーザーがすぐにバックアップサーバーに転送されることはなく、時間がかかります。

また見ることができます CloudFlareあなたが尋ねたようにそれらは「ダイナミックDNS」によって動作しませんが、あなたのプロキシノードのネットワークを介したコンテンツ。ただし、サーバーがダウンしている場合でも、キャッシュされたコンテンツからある程度サービスを提供できます。

1
Jesper M

漠然とこれには、 php または他のスクリプト言語を使用してIPアドレスを取得し(共有ホスティングでは選択肢が非常に限られているため)、何らかの方法で取得するthatipアドレスとそれをDynDNSスクリプトに渡す-おそらくcurlとphpが利用可能な場合はそれを使って何かをします。精度が不足して申し訳ありませんが、共有ホスティングは本当に制限されており、自由に使えるツールが多すぎません。

0
Journeyman Geek