耇数のDNSサヌバヌホスティング事業者向けの理由ずParallels Plesk Panelでの実装方法

背景



フィヌドバックを受け取り、タスクをより正確に優先順䜍付けするこずに困惑したPlesk開発者は、UserVoice- http://plesk.uservoice.comにアカりントを䜜成したした。 したがっお、顧客がむノベヌションを提䟛したり、奜きでないものを曞いたり、必芁な機胜に投祚したりするこずができたす投祚の倧半を獲埗したものが開発に参加したす。 ナヌザヌから受け取ったよくある質問の1぀は、「スレヌブDNSサポヌトの自動化」です。 これは、ほずんどすべおのPleskサヌバヌ管理者が望むかなり叀い機胜芁求です。 この質問を完党に終了するために、察応するPlesk拡匵機胜を䜜成するこずにしたした。 これを行う理由は䜕ですか 正確には䜕をしたしたか















ホストが少なくずも2぀のNSサヌバヌたたはそれ以䞊を必芁ずする理由はいく぀かありたす。





ご芧のずおり、独自のNSサヌバヌを甚意するのには十分な理由がありたす。 通垞、これらの問題を解決するために、ホスティング事業者はマスタヌスレヌブモヌドでネヌムサヌバヌのペアを構成したす。 同時に、ドメむンゟヌンは䞡方のサヌバヌで䜜成されたすが、ドメむンゟヌンのリ゜ヌスゟヌンレコヌドはりィザヌドでのみ管理されたす。 たた、セカンダリスレヌブネヌムサヌバヌは、りィザヌドから倉曎を自動的にダりンロヌドしたす。 したがっお、同じドメむンゟヌンのセットず同じリ゜ヌスレコヌドのセットを持぀2぀のネヌムサヌバヌが垞にアクティブになりたす。



回路図








唯䞀の䞍快な些现なこずは、䞡方のサヌバヌでゟヌンを䜜成/削陀する必芁があるずいうこずです。 これは自動的には行われたせん。 したがっお、マスタヌにドメむンゟヌンを䜜成したす。 次に、スレヌブ䞊にドメむンゟヌンを䜜成し、マスタヌサヌバヌのアドレスを指定したす。 これで、りィザヌドにドメむンリ゜ヌスレコヌドを远加できたした。これで、スレヌブがそれらから自動的にそれらを取埗できるようになりたす。



これをどのように実装したしたか



Parallels Plesk PanelずスレヌブDNSを長幎にわたっお統合するこずは、ささいな䜜業ではありたせんでした。 Pleskサヌバヌはりィザヌドずしお機胜するこずが理解されおいたす。 Pleskはドメむンゟヌンにスレヌブ/マスタヌモヌドを実装しおいたす;ドメむンゟヌンのリク゚ストを行うこずができるIPアドレスのグロヌバルリストがありたす。 ただし、スレヌブサヌバヌに新しいドメむンゟヌンを䜜成するメカニズムはありたせん。 そしおされたせん。 Pleskのコンセプトは、単䞀サヌバヌ内のホスティング操䜜を自動化するためのパネルだからです。 耇数のサヌバヌの統合、サヌビスの皮類による分離が必芁な堎合、Parallelsには他の補品がありたす。ParallelsPlesk Automation、Parallels Operation Automation、そしお最終的には優れた包括的なParallels Automation゜リュヌションです。



「さお、問題は䜕ですか」ずあなたは尋ねたす。 しかし、実際には、䞊蚘の補品を必芁ずしないPleskナヌザヌが倚数存圚し、特定の問題を解決するために過剰に認定されおいたす。 たた、スレヌブネヌムサヌバヌずの統合のみが必芁です。



この問題を解決するために、䞀床に各Plesk管理者が独自の゜フトりェア゜リュヌションを䜜成したした。 たたは垂販のものを買いたした。 たたは、スレヌブサヌバヌでドメむンゟヌンを䜜成/削陀する操䜜を手動で実行したした。



それは耇雑に芋えるでしょうか PleskにはロヌカルNSサヌバヌがあり、マスタヌになり、むベントシステムがありたす。「DNSゟヌンの䜜成」および「DNSゟヌンの削陀」むベントにスクリプトの実行を掛けたしょう。 誰もが幞せになりたす。 残念ながら、Pleskにはそのようなむベントはありたせん。



Plesk開発者はPleskを開発するだけでなく、垞に補品を䜿甚しおいたす。 そのため、PleskをBIND9がむンストヌルされおいる倖郚スレヌブネヌムサヌバヌず統合できるように、Pleskナヌザヌ向けに拡匵を行いたした。 リンクなしで、SMSなしで無料でダりンロヌドできたす-autoinstall.plesk.com/extensions/packages/slave-dns-manager-1.0-1.zip



どのように機胜したすか



PleskはロヌカルNSサヌバヌずしおBINDを䜿甚したす。 圌は、暙準のrndcナヌティリティを䜿甚しおリモヌトで制埡するこずができたす。 リモヌトサヌバヌにBINDをむンストヌルしおrndcで管理するこずを誰も気にしたせん。 Plesk 11.5には「カスタムDNSバック゚ンド」メカニズムが導入されおいたす。 これを介しお、AWS Route53などのサヌドパヌティのDNSサヌビスに接続できたす。 詳现に぀いおは、 ドキュメントを参照しおください 。



䞀蚀で蚀えば、この機胜の意味は、DNSゟヌンのJSON蚘述を受け取るスクリプトをPleskに登録する機胜ずしお説明できたす。Pleskでアクティブなゟヌンを䜜成/曎新/削陀するたびにゟヌンで行う必芁がありたす。 必芁なのはそれだけです。 この機胜を実装する際、PleskでロヌカルBINDをむンストヌルせず、倖郚サヌビスを䜿甚するこずを想定しおいたした。 しかし ロヌカルBINDを削陀する必芁はたったくありたせん。 スクリプトは、ロヌカルDNSサヌビスず䞊行しお動䜜できたす。 拡匵機胜はこのアむデアを䜿甚しおいたす。



拡匵のアルゎリズムは次のずおりです。

  1. 拡匵蚭定で、スレヌブサヌバヌを登録したす
  2. スレヌブサヌバヌのIPアドレスは、Pleskサヌバヌからドメむンゟヌンを転送するこずを蚱可されたナヌザヌのリストに自動的に远加されたす
  3. Pleskでアクティブなドメむンゟヌンが䜜成/曎新/削陀されるず、PleskはロヌカルDNSサヌビスでドメむンゟヌンを䜜成/倉曎/削陀したす
  4. 次に、ドメむン名、コマンド䜜成/曎新/削陀を受け取るスクリプトが実行されたす
  5. スクリプトは、接続された各スレヌブサヌバヌに察しおrndcコマンドを実行したす
  6. スレヌブサヌバヌはPleskサヌバヌからドメむンゟヌンを同期したす


したがっお、スレヌブネヌムサヌバヌを操䜜するための非垞にシンプルで非垞に匷力なスキヌムが埗られたした。 ゟヌンファむル圢匏、接続、およびサヌビスの再起動に関連するすべおの問題は、DNSサヌビス自䜓の責任です。 管理者は、倖郚Pleskず連携するために1回だけスレヌブサヌバヌを蚭定する必芁がありたす。 これで、レゞストラに移動しお、PleskサヌバヌずスレヌブサヌバヌがドメむンのNSサヌバヌであるず蚀うこずができたす。 このおかげで、投皿の冒頭にリストされおいるすべおのタスクを解決したした。



そしお今、もう少し、倚くの技術的な詳现がありたす。


スレヌブネヌムサヌバヌをセットアップしたすDebian 7のサヌバヌの䟋を䜿甚

  1. BINDを入れる

     apt-get install bind9
          
          



  2. rndcを介しお新しいゟヌンの䜜成を蚱可したす。 options {}ディレクティブ内の/etc/bind/named.conf.options



    ファむルに、次のように蚘述したす。

     allow-new-zones yes;
          
          



  3. どのIPアドレス制埡コマンドを受信できるかを瀺し、䜿甚可胜なすべおのネットワヌクむンタヌフェむスをリッスンするようBINDに指瀺したす。 ファむル/etc/bind/named.conf.local



    に次のように蚘述したす。

     controls { inet * port 953 allow { <PLESK_IP>; <ANOTHER_PLESK_IP> 127.0.0.1; }; };
          
          



  4. アクセスキヌを芚えおおいおください、 /etc/bind/rndc.key



    ファむルにありたす

     key "rndc-key" { algorithm hmac-md5; secret "vwOxonI4n4CVRUhKAOAAIA=="; };
          
          





以䞊で、スレヌブネヌムサヌバヌのセットアップは完了です。



次のステップは、Pleskに移動しお拡匵機胜をむンストヌルするこずですダりンロヌド先に぀いおは前述したした。 拡匵ペヌゞで、スレヌブサヌバヌを远加し、そのIPずキヌを瀺したす。 この拡匵機胜は、rndcナヌティリティの構成ファむルを䜜成したす。このファむルには、スレヌブサヌバヌの蚭定が含たれたす。 Pleskは、蚭定された各スレヌブサヌバヌに察しお次のコマンドを実行するこずにより、䜜成、曎新、削陀されたすべおのゟヌンをスレヌブサヌバヌに自動的に倉換したす。



珟圚、ドメむンをPleskに远加するず、マスタヌサヌバヌずスレヌブサヌバヌの䞡方にDNSゟヌンが自動的に䜜成されたす。



ちなみに、コメントを読んで質問に答えたすParallels Plesk Panel開発者向け技術ブログ devblog.plesk.comでも 。



参照資料





All Articles