問1 Webサイトの構築に関する次の記述を読んで,設問1~3に答えよ。
J社は,インターネットで情報を提供するWebサイト(URLは,http:がwww.web.j-sha.example.com)を運営しており,C社のデータセンタ(以下,DC-Cという)に設備を設置している。図1に,J社のシステム構成を示す。
[Question1] キャッシュDNSサーバを設置する目的は何か?
A1 「DNSの問合せの迅速化」「DNSの問い合わせのトラフィック削減」などが考えられる。以下も参照いただきたい。
http://nw.seeeko.com/archives/50312179.html
なんかこの構成図おかしくない? だって、インターネットの中になんで「キャッシュDNSサーバ」があります。
DNSサーバは社内に設定することが一般的だから、違和感があるのはわかる。今回は、問題文の後半でもでてくるが、単にプロバイダのDNSサーバと考えればいい。
たとえばフレッツ光をOCNのプロバイダで契約するとする。パソコンまたはブロードバンドルータには、OCNのDNSサーバを指定する。このDNSサーバだ。このプロバイダのDNSサーバは、コンテンツサーバではないので、DNSの権威あるゾーン情報は持っていない。
そもそも、なんでデータセンターに設備を置いているの?社内に置いたらいいじゃない。面倒なだけでしょ。
[Question2] なぜサーバ群をDCに置くのか。考えられる理由を述べよ(一般論)
A2 DCの費用は1ラック10万円程度と、決して安くはない。でも、セキュリティ面、ファシリティ面、運用管理を任せれらるからね。特に公開サーバがある以上、24時間対応が必要。社員が面倒を見るのは、心理的負担が多いのさ。
理由はいくつかあるが、以下が主な理由であろう。
・ファシリティーがしっかりしている(電源、耐震、空調など)
・セキュリティ対策
・運用管理のアウトソーシングによるコスト削減 など
まあいいわ。で、DC-CはDMZがないけど、どうなっているの?
[Question3]図1は、どこからどこまでがDMZか
A3 今回はDMZの概念は無い。全て全て公開サーバだ。なので、全てDMZという考え方もできる。公開しているのは、DNSサーバと、Webサーバだ。
DNS-PとDNS-Sは,J社のドメインを管理するDNSサーバであり, DNS-PからDNS-Sへ[ ア ]転送を行い,2台のDNSサーバ間でリソースレコードの同期を取っている。
[Question4][ ア ]に当てはまる字句を答えよ。
A4 ゾーン
ちなみに、リソース(Resource)とは資源という意味。DNSのAレコードやNSレコードなど一式をリソースレコードという。
[Question5] DNS-P(Primary DNS)からDNS-S(Secondary DNS)へのゾーン(空欄[ア])転送は、何をトリガーに実行されるか?
A5 セカンダリDNSサーバが、定期的(ゾーンファイルのRefresh時間の間隔)にプライマリDNSサーバに問い合わせする。serial番号が変更(増加)していれば、転送してもらう。
参考までに、DNSのファイルを載せておく。過去問(H23NW午後Ⅱ問2)より
$TTL 86400 ;1日 @ IN SOA ns.y-sya.example.co.jp. hostmaster.y-sya.example.co.jp.( 2011090101 ; serial番号 43200 ; refresh 時間(12時間) ←これ 1800 ; retry 時間(30分) 604800 ; expire 時間(7日) 10800 ); negative cache 時間(3時間) IN NS ns.y-sya.example.co.jp. IN MX 10 mail.y-sya.example.co.jp. |
ちなみに、その他にもセカンダリがプライマリに問合せするタイミングがある。
・センカンダリDNSの起動または再起動時
・プライマリDNSからの通知(DNS Notify)を受け取ったとき
http://www.atmarkit.co.jp/ait/articles/0305/10/news001_2.html
J社では,サービス利用者の増加に伴い,毎年Webサーバを増強してきた。来年度も増強が計画されているが,長期間又は復旧不能なサービス停止による利益損失を防ぐことを目的とした[ イ ]の観点から,他のデータセンタにもサーバを設置し,ディザスタリカバリにも対応する方針が出された。そこで,情報システム部のE主任がシステム構成を検討することになり,次の要件が決められた。
[Question6][ イ ]に当てはまる字句を答えよ。
A6 事業継続 おそらく、BCMでも可だと思う。BCPはPlan(計画)なので、ちょっと日本語としては本文に合わない。個人的には正解としたい。
ディザスタリカバリって何?
ディザスタ(disaster:災害)のリカバリ(recovery:復旧)という意味。
BCPやディザスタリカバリを目的として、遠方のDCに設備を分散する。
「Webアクセスを二つのデータセンタに分散する」ってこんなことできるの?
あわてずに。問題文に説明がある。
・増設先のデータセンタは,D社のデータセンタ(以下,DC-Dという)とする。
・WebブラウザからWebサーバヘのアクセス(以下,Webアクセスという)の数,サーバ負荷に応じて, Webアクセスを二つのデータセンタに分散する。
・一方のデータセンタにアクセスできない場合,他方のデータセンタにWebアクセスを切り替える。一つのデータセンタだけでサービスを提供する場合は,サービスレベルの低下を容認する。
[Question7]「サービスレベルの低下を容認する」とは具体的にどんなサービスレベルか?
A7 応答時間などの性能
〔DNSラウンドロビン方式の検討〕
E主任は, DC-Dについては, DC-Cと同様に,ルータ, FW, SLB及びWebサーバを設置することにした。Webアクセスを処理する能力は, DC-Cが約70,000セッション/秒, DC-Dが約30,000セッション/秒である。また, Webアクセスの分散については, DNSラウンドロビンを利用した分散方式を考えた。次に,E主任が考えた方式を示す。
・Webアクセスを処理する能力から, DC-CとDC—Dに対するWebアクセスの分散割合は7対3とする。
・WebサイトのURLのFQDNに対応するIPアドレスを10個準備し, DNS-Pの[ ウ ]レコードに登録する。
・仮想サーバのIPアドレスとして,10個のIPアドレスのうちの7個を[ a ]のSLBに設定し,3個を[ b ]のSLBに設定する。
・DNS-Sは, DC-Dに置くことにする。
なんかよくわからない構成です。IPアドレスが10個もいるんですね。これはプライベートIPアドレスでもいいのですか?
いや。公開サーバなので、グローバルIPアドレスが必要だ。
このような問題は、読んでいてもなかなか頭に入ってこない。図に落とすのがよい。
仮想サーバのIPアドレスというのが厳密には明記されていないので想像が入っているが、まあ、以下のような図になるだろう。
SLBがグローバルの仮想IPアドレスを持つ。DC-CのSLBに7つ(1.x.x.1~1.x.x.7)と、DC-DのSLBに3つ(2.x.x.1~2.x.x.3)である。
通常,仮想IPと実サーバは1:nになるが、今回の場合7個のVIPと実サーバを7:nに割り振っているだろう。DC-Dの場合は3:mに振っていると思われる。
[Question8] DNSラウンドロビンの振り分け方式を説明せよ。
A8 DNSのクエリーに対し、DNSファイルの基づき、順番に回答する。負荷分散装置も無しでロードバランスできるという点では便利だ。負荷分散装置の故障に備えた二重化設計などもいらない。しかし、サーバ側の状態を確認しない。これが欠点でもある。この点が、後半にて問われる。
以下のURLも参照いただきたい
http://nw.seeeko.com/archives/50894650.html
[Question9][ ウ ]に当てはまる字句を答えよ。
A9 A
参考までに、AとはAddressのAである。
[Question10] [ a ][ b ]に当てはまる字句を答えよ。
A10 問題文には「DC-CとDC-Dに対するWebアクセスの分散割合は7対3とする」とある。よって、素直に、DC-Cには7個、DC-Dには3個である。よって、[ a ]にはDC-C、[ b ]にはDC-Dが入る。
[Question11] 上記のDNS設定を具体的に書け。
A11 先ほどの図で考えると、以下のようになるだろう。
DC-Cに偏らないために、2つおきにDC-Dを入れている。
www IN A 1.x.x.1 www IN A 1.x.x.2 www IN A 2.x.x.1 www IN A 1.x.x.3 www IN A 1.x.x.4 www IN A 2.x.x.2 www IN A 1.x.x.5 www IN A 1.x.x.6 www IN A 2.x.x.3 www IN A 1.x.x.7 |
[Question12] DNS-SをDC-Dに置く目的を,要件に基づき,40宇以内で述べよ。(設問2(2))
A12 問題文にある「DNS-Sは,DC-Dに置くことにする」ということに対する設問である。なぜ?と聞かれても、図を見たら明らかであろう。DNSサーバも分散しておかないと、DC-CがダウンしたらDNSサーバがなくなるからだ。
答えは、「DC-C障害時にもDNS-Sを使ってDC-Dでサービス提供を可能とするため」
情報システム部内でDNSラウンドロビン方式について議論したところ,次の指摘を受けた。
・①Webサーバの負荷に応じた分散ができない。
・②データセンタ故障時に、故障しているデータセンタへWebアクセスが継続する。
[Question13] 本文中の下線①の理由を, DNSラウンドロビン方式がWebアクセス数を分散する方式であるという観点から,30字以内で述べよ。(設問2(3))
A13 Webサーバの状態を確認せずに振り分けをするからだ。このあたりはDNSラウンドロビンの基本的な性質である。試験センターの解答例は「Webアクセス数とWebサーバの負荷が比例しないから」
[Question14] 本文中の下線②の理由を述べよ。
A14 こちらも、DNSラウンドロビンの基本的な欠点である。先ほどのDNSレコードを見てもらえばわかる。あるサーバがダウンしてても、DNSの応答を返してしまうからだ。
[Question15] 本文中の下線②の事象を回避するために,故障時にDNSサーバで実施する設定変更の内容を,40字以内で述べよ。(設問2(4))
A15 こちらも、DNSラウンドロビンの基本的な対処だ。故障したサーバのAレコードを削除する。スクリプトを組む場合もあるだろうし、本当に手作業でやる場合もあるだろう。
試験センターの解答例は、「故障したデータセンタの仮想サーバのIPアドレスのAレコードを削除する」
〔新方式によるシステム設計の検討〕
E主任は,指摘された点についてSLBの納入ベンダに相談した。その結果, SLBと連携して動作するSLBマネージヤ装置(以下, SLB-Mという)を導入すれば,解決できそうなことが分かった。SLB-Mの主な機能は,次のとおりである。
J社のサブドメインであるWebサイトのドメインを管理するDNSサーバとして機能し,複数台のSLB-Mを設置することで冗長構成を実現できる。
・SLBから, Webサーバの負荷情報とセッション情報を収集する。
・収集した情報を, SLB-M間で共有する。
・共有した情報から, DC-C又はDC-DのどちらにWebアクセスを振り分けるかを判断して, DNSの名前解決の要求に対し,最適な応答を返す。
E主任は、SLB-Mの機能を検討した結果、次の方針で設計を行うことにした。
・③DNS-Pの設定を変更し、SLB-MをWebサイトのドメインのDNSサーバとして動作させる。
・SLB-Mは, DC-CとDC-Dにそれぞれ1台ずつ設置する。
・SLB-Mは,同一データセンタ内のSLBから, Webサーバの負荷情報とセッション情報を収集する。
・Webサーバの負荷情報とセッション情報を, SLB-M間で共有する。
E主任が考えた新方式のシステム構成案を,図2に示す。
何このSLBマネージャ装置って。こんな応用問題解けるわけないわ
ここがポイントなんだけど、試験では、このように知らない知識の問題がでる。でも、IPAの資料にもあるように、基礎があれば解けると書かれている。実際、SLBの内容を知らなくても解けるようになっている。
[Question16] 本文中の下線③におけるDNS-Pの設定変更の内容を,30字以内で述べよ。(設問3(1))
A16 DNSのDNS-Mに権限を委譲すればよい。具体的には、サブドメインに対するNSレコードをDNS-Mに設定すればよい。試験センターの解答例は「SLB-MにWebサイトのドメインの権限を委譲する」。
具体的に、j-sha.example.comのゾーンファイルは以下のようになる。(IPアドレスなどは仮定)
IN NS ns1.j-sha.example.com. ←j-sha.example.comのNS情報 IN NS ns2.j-sha.example.com. ←j-sha.example.comのNS情報 ns1 IN A 1.y.y.1 ns2 IN A 2.y.y.1 www IN A 1.y.y.2 web IN NS ns1.web.j-sha.example.com. ←web.j-sha.example.comのドメイン管理を委譲する。 web IN NS ns2.web.j-sha.example.com. ←web.j-sha.example.comのドメイン管理を委譲する。 ns1.web IN A 1.y.y.11 ←ns1.web.j-sha.example.comのIPアドレスを記載。どこに聞けばいいか分からないので。 ns2.web IN A 2.y.y.11 |
E主任は、④データセンタをまたがるSLB-M間の通信による影響を懸念し,調査を行ったが,問題ないことが分かった。そこで,新方式のシステム構成案の動作検証を行い,次の処理手順で負荷分散が行われていることを確認した。
(1) Webブラウザ(又はWebブラウザが利用するISPのキャッシュDNSサーバ)は. DNS-P又はDNS-Sに対してWebサイトの名前解決を要求する。
(2) DNS-P又はDNS-Sは, Webサイトのドメインの[ エ ]DNSサーバとして, DC-CとDC-DのSLB-Mを応答する。
[Question17][ エ ]に当てはまる字句を答えよ。
A17 権威
(3) Webブラウザは, SLB-Mに対してWebサイトの名前解決を要求する。
(4) SLB-Mは,Webサーバの負荷情報とセッション情報を基に,Webプラウザに対して最適なIPアドレスを応答する。
(5) Webブラウザは,応答があったIPアドレスにアクセスする。
(6)SLBは,保持しているセッション情報を確認し,そのWebブラウザのセッション情報が既に存在する場合は,適切なWebサーバにWebブラウザを接続する。
(7)一方, Webブラウザのセッション情報が存在しない場合, SLBは,新規セッションとして登録し,最適なWebサーバにWebブラウザを接続する。
次に,E主任は冗長機能について確認した。その結果, SLB-Mの故障時に,データセンタ間でWebアクセスが適切に分散されないことが分かった。そこで,E主任は,SLB-M間の情報共有はせず,両方のデータセンタのSLBから情報を収集するように,SLB-Mの設定を変更した。
この変更の動作検証によって,片方のデータセンタのSLB-M故障時にもWebアクセスが適切に分散されることが確認できた。その後,新方式によるシステム設計は企画会議で了承され,次年度計画に盛り込まれた。
[Question18] 本文中の下線④について,SLB-M間の通信による影響とは何か。 SLB-M間の通信によって発生が懸念された事象と,その結果,Webブラウザ通信で発生が懸念された事象について,それぞれ20字以内で述べよ。(設問3(2))
A18 なんだかよく分からない問題だ。問題文に「SLB-M間で共有する」とあるので、帯域を圧迫する以外には答えがなさそう。でも、たかがセッション情報などで、帯域を大きく圧迫するとも思えない。問題文には結果的に「問題ない」とある。
SLB-M間の通信によって発生が懸念された事象:インターネット接続回線の帯域圧迫
Webブラウザ通信で発生が懸念された事象:Webサーバヘのアクセス遅延
[Question19] 処理手順(4)において,最適なIPアドレスを応答するためにSLB-Mが利用するWebサーバの負荷情報の具体例を,二つ挙げよ。(設問3(3))
A19 これはなにげに難しい。問題文から素直に「負荷情報」と「セッション情報」と答えた人もいるかもしれない。しかし、セッション情報は、あとの問題にもあるように、セッションが新規がどうかを判断するために使う。
「負荷情報」の中身を具体的に問われているのだ。
まあ、一般論も踏まえて考えるしかないだろう。きちんと解答できた人は少ないと思う。
試験センターの解答例は「Webサーバの応答時間」「Webサーバのデータ通信量」
[Question20] 処理手順(6)において, Webブラウザを接続する適切なWebサーバを,30字以内で述べよ。(設問3(4))
A20 あたり前の解答である。試験センターの解答例は「Webブラウザのセッションを維持しているWebサーバ」
■復元答案■
復元答案をいただいた。試験直後に作成いただいたので、ある程度の精度と考えられる。ただ、いくら急いで書いても、人間は忘却曲線にしたがって忘れていく。なので、あくまでも参考として考えていただきたい。
A氏は午後1は問1と問2を選択し、73点であった。ここから逆算して得点をつけた。見ていただくとわかるように、かなり甘い採点になる。
しかし、筆者もそうであったが、自己採点よりかなり点数がいいことがほとんどであった。このことから、今回の採点は、実際の採点から大きくはかけ離れていないと感じている。参考にしていただきたい。
設問 | 予想配点 | 解答例 | A氏答案 | 筆者採点 | 得点 | ||
1 | ア | 2 | ゾーン | ログファイル | × | ||
イ | 2 | 事業継続 | BCP | ○ | 2 | ||
ウ | 2 | A | A | ○ | 2 | ||
エ | 2 | 権威 | プライマリ | × | |||
2 | (1) | a | 2 | DC-C | DC-C | ○ | 2 |
b | 2 | DC-D | DC-D | ○ | 2 | ||
(2) | 5 | DC-C障害時にもDNS-Sを使ってDC-Dでサービス提供を可能とするため | DC-Cにアクセスできなくなった時、DC-Dだけでサービスを行うため | ○ | 5 | ||
(3) | 5 | Webアクセス数とWebサーバの負荷が比例しないから | 順番に割り当てるだけで、Webサーバの負荷状況を考慮しないから | ○ | 5 | ||
(4) | 6 | 故障したデータセンタの仮想サーバのIPアドレスのAレコードを削除する。 | 仮想サーバのIPアドレスの設定から、故障したデータセンタのアドレスを削除する | ○ | 6 | ||
3 | (1) | 5 | SLB-MにWebサイトのドメインの権限を委譲する。 | 名前解決の要求時にSLB-Mに問い合わせるようにする | △ | 4 | |
(2) | SLB-M間の通信 | 3 | インターネット接続回線の帯域圧迫 | 通信の遅延により負荷分散が正常に動作しない | △ | 1 | |
Webブラウザ通信 | 3 | Webサーバヘのアクセス遅延 | Webサーバからの応答が遅い | ○ | 3 | ||
(3) | 3 | Webサーバの応答時間 | CPU使用率 | △ | 2 | ||
3 | Webサーバのデータ通信量 | ネットワーク使用率 | △ | 2 | |||
(4) | 5 | Webブラウザのセッションを維持しているWebサーバ | セッションが存在するWebサーバ | ○ | 5 | ||
50 | 41 |