|
カテゴリ:IT
<本ブログエントリを書いた動機>
Platform Symphony とか LSF で Windows ベースのコンピューティンググリッド環境を構築して、HPC 系アプリケーションを動かすにあたり、Web サーバ経由で Web ブラウザからのジョブ投入ができる仕組みを作りこみたいと思いました。で、どうせならコスト削減の観点で、Web サーバはグリッド上の空いている任意のホストで 1 つだけ立ち上げて、もし障害発生時には別のあいているホストで再起動するような仕組みを作りたいと。 で、問題は当該 Web サーバが任意のホストで起動するということは、起動のたびにマシン名(IP)が変ってしまうので、そのままだと Web ブラウザからアクセスする際に URL が変ってしまって困りますねぇということで。 VMWare とか使って、Web サーバー用の VM を立ち上げてしまうという技もあるけど、たかだか Web サーバのためだけに VM 用意するか?という意見もありまして。 その他の方法としては、Active Directory の DNS 関連設定変更可能な権限があれば、Web サーバが起動したホストに、Web ブラウザから固定 URL でアクセスできるよう、エイリアス(www とかね)をつければいいんでね?ということで、Windows で任意のホストでエイリアスを設定する方法を勉強しました。 <本題 - dnscmd コマンドでエイリアス設定> Windows で DNS 関連設定を行うには、コマンドラインだと dnscmd コマンドというを使います。これは、デフォルトではインストールされてません。Windows のインストールメディアにある support tool を別途インストールすることで使えるようになります。 エイリアス追加の書式は dnscmd [DNS サーバ名] /RecordAdd [ゾーン名] [エイリアス名] CNAME [エイリアスをつけたいマシン名前(FQDN が無難)] って感じです。 今回の場合、たとえば Web サーバアクセス用のエイリアスが grid-web、Web サーバがたまたま起動したホスト名を host01、ドメインコントローラのホスト名を domcon、DNS サフィックスを grid.quitada.jp とかすると、 dnscmd domcon /RecordAdd grid.quitada.jp grid-web CNAME host01.grid.quitada.jp. って感じで、設定後に、 ping grid-web.grid.quitada.jp とかやってみて、host01 の IP が返ってきたら成功! これをスクリプトで自動化する場合は、必ずしも、上述の例でいうところの host01 で Web サーバが起動するとは限らないので、ホスト名の環境変数(%COMPUTERNAME%)を使って、 dnscmd domcon /RecordAdd grid.quitada.jp grid-web CNAME %COMPUTERNAME%.grid.quitada.jp. と書いておけば、どのホストで Web サーバが起動しても、同一のスクリプトで自動設定ができますね。 なお、エイリアスを変更する場合は一回削除する必要があるようで、上述の例だと、エイリアス設定前に、 dnscmd domcon /RecordDelete grid.quitada.jp g-web CNAME /f を実行して、エイリアスを削除します(/f は削除の確認をださずにいきなり削除するオプション)。 ちなみに、DNS レコードを参照するには、上述の例だと、 dnscmd domcon /enumrecords grid.quitada.jp "@" ってな感じです。 参考サイト様: エイリアス(CNAME)リソース レコードをゾーンに追加する DNS サーバをコマンド・プロンプトから制御する お気に入りの記事を「いいね!」で応援しよう
最終更新日
2009年04月25日 14時41分56秒
コメント(0) | コメントを書く
[IT] カテゴリの最新記事
|