Webシステムの更改に関する次の記述を読んで,設問に答えよ。
G社は,一般消費者向け商品を取り扱う流通業者である。インターネットを介して消費者へ商品を販売するECサイトを運営している。G社のECサイトは,G社データセンターにWebシステムとして構築されているが,システム利用者の増加に伴って負荷が高くなってきていることや,機器の老朽化などによって,Webシステムの更改をすることになった。
〔現行のシステム構成〕
G社のシステム構成を図1に示す。
図1 G社のシステム構成(抜粋)
・WebシステムはDMZに置かれたWebサーバ,DNSサーバ及びサーバセグメントに置かれたAPサーバから構成される。
・ECサイトのコンテンツは,あらかじめ用意された静的コンテンツと,利用者からの要求を受けてアプリケーションプログラムで生成する動的コンテンツがある。
・WebサーバではHTTPサーバが稼働しており,静的コンテンツはWebサーバから直接配信される。一方,APサーバの動的コンテンツは,Webサーバで中継して配信される。この中継処理の仕組みを a プロキシと呼ぶ。
・DMZのDNSサーバは,G社のサービス公開用ドメインに対する b DNSサーバであると同時に,サーバセグメントのサーバがインターネットにアクセスするときの名前解決要求に応答する c DNSサーバである。
〔G社Webシステム構成見直しの方針と実施内容〕
G社は,Webシステムの更改に伴うシステム構成の変更について次の方針を立て,担当者として情報システム部のHさんを任命した。
・Webシステムの一部のサーバをJ社が提供するクラウドサービスに移行する。
・通信の効率化のため,一部にHTTP/2プロトコルを導入する。
Hさんは,システム構成変更の内容を次のように考えた。
・DMZのWebサーバで行っていた処理をJ社クラウドサービス上の仮想サーバで行うよう構成を変更する。また,この仮想サーバは複数台で負荷分散構成にする。
・重要なデータが格納されているAPサーバは,現構成のままG社データセンターに残す。
・J社の負荷分散サービス(以下,仮想LBという)を導入する。仮想LBは,HTTPリクエストに対する負荷分散機能をもち,HTTP/1.1プロトコルとHTTP/2プロトコルに対応している。
・Webブラウザからのリクエストを受信した仮想LBは,リクエストのURLに応じてAPサーバ又はWebサーバに振り分ける。
・Webブラウザと仮想LBとの間の通信をHTTP/2とし,仮想LBとAPサーバ及びWebサーバとの間の通信をHTTP/1.1とする。
Hさんが考えたWebブラウザからサーバへのリクエストを図2に示す。
図2 Webブラウザからサーバへのリクエスト
Hさんは,次にHTTP/2プロトコルについて調査を行った。
〔HTTP/2の概要と特徴〕
HTTP/2は,HTTP/1.1との互換性を保ちながら主に通信の効率化を目的とした拡張が行われている。Hさんが注目したHTTP/2の主な特徴を次に示す。
・通信の多重化:HTTP/1.1には,同一のTCPコネクション内で通信を多重化する方式としてHTTPパイプラインがあるが,HTTP/2では,TCPコネクション内で複数のリクエストとレスポンスのやり取りを d と呼ばれる仮想的な通信路で多重化している。①HTTPパイプラインは,複数のリクエストが送られた場合にサーバが返すべきレスポンスの順序に制約があるが,HTTP/2ではその制約がない。
・ヘッダー圧縮:HPACKと呼ばれるアルゴリズムによって,HTTPヘッダー情報がバイナリフォーマットに圧縮されている。ヘッダーフィールドには, e ,:scheme,:pathといった必須フィールドがある。
・フロー制御: d ごとのフロー制御によって,一つの d がリソースを占有してしまうことを防止する。
・互換性:HTTP/2は,HTTP/1.1と互換性が保たれるように設計されている。一般的にHTTP/2は,HTTP/1.1と同じく"https://"のURIスキームが用いられる。そのため,通信開始処理において f プロトコルの拡張の一つである②ALPN(Application-Layer Protocol Negotiation)を利用する。
〔HTTP/2における通信開始処理〕
HTTP/2では,通信方法として,h2という識別子で示される方式が定義されている。その方式の特徴を次に示す。
・TLSを用いた暗号化コネクション上でHTTP/2通信を行う方式である。
・TLSのバージョンとして1.2以上が必要である。
・HTTP/2の通信を開始するときに,ALPNを用いて③クライアントとサーバとの間でネゴシエーションを行う。
Hさんが理解したh2の通信シーケンスを図3に示す。
図3 h2の通信シーケンス(抜粋)
このシーケンスによって,上位プロトコルがHTTP/2であることが決定される。
〔新Webシステム構成〕
Hさんは新たなWebシステムの構成を考えた。Hさんが考えた新Webシステム構成を図4に示す。
図4 図4 新Webシステム構成(抜粋)
図4の新Webシステム構成に関するHさんの考えを次に示す。
・J社クラウドのVPCサービスを用いて,G社用VPCを確保する。G社用VPCセグメントではIPアドレスとして,172.21.10.0/24を用いる。
・G社用VPCセグメントの仮想ルータとG社データセンターのL3SWとの間を,J社が提供する専用線接続サービスを利用して接続する。専用線接続のIPアドレスとして,172.21.11.0/24を用い,L3SWのIPアドレスを172.21.11.1とし,仮想ルータのIPアドレスを172.21.11.2とする。
・G社データセンターとJ社クラウドとの間で通信できるように,L3SW及び仮想ルータに表1の静的経路を設定する。
表1 静的経路設定
・G社用VPCセグメント中に,仮想サーバを複数起動し,Webサーバとする。
・G社用VPCセグメントのWebサーバは静的コンテンツを配信する。
・G社データセンターのサーバセグメントのAPサーバは動的コンテンツを配信する。
・Webサーバ及びAPサーバは,これまでと同様にG社データセンターのDMZのDNSサーバを利用して名前解決を行う。
Hさんは,J社クラウドの仮想LBの仕様について調べたところ,表2に示す動作モードがあることが分かった。
表2 仮想LBの動作モード
④Hさんは,今回のシステム構成の変更内容を考慮して仮想LBで設定すべき動作モードを決めた。
Hさんは,ここまでの検討内容を情報システム部長へ報告し,承認を得た。
設問1 本文中及び図3中の a 〜 f に入れる適切な字句を答えよ。
解答・解説
解答例
a:リバース
b:権威
c:キャッシュ
d:ストリーム
e ::method
f:TLS
解説
ー
設問2 〔HTTP/2の概要と特徴〕について答えよ。
(1)本文中の下線①について,複数のリクエストを受けたサーバは,それぞれのリクエストに対するレスポンスをどのような順序で返さなければならないか。35字以内で答えよ。
解答・解説
解答例
リクエストを受けたのと同じ順序でレスポンスを返す必要がある。
解説
ー
(2)本文中の下線②について,ALPNを必要とする目的は何か。30字以内で答えよ。
解答・解説
解答例
通信開始時に TCP の上位のプロトコルを決定するため
解説
ー
設問3 〔HTTP/2における通信開始処理〕について答えよ。
(1)本文中の下線③について,h2のネゴシエーションが含まれるシーケンス部分を,図3中の(a)〜(i)の記号で全て答えよ。
解答・解説
解答例
(d),(e)
解説
ー
(2)本文中の下線③について,ネゴシエーションでクライアントから送られる情報は何か。35字以内で答えよ。
解答・解説
解答例
クライアントが利用可能なアプリケーション層のプロトコル
解説
ー
設問4 〔新Webシステム構成〕について答えよ。
(1)表1中の ア 〜 ウ に入れる適切なIPアドレスを答えよ。
解答・解説
解答例
ア:172.21.10.0/24
イ:172.21.11.2
ウ:172.21.11.1
解説
ー
(2)本文中の下線④について,Hさんが決めた動作モードを答えよ。また,その理由を“HTTP/2"という字句を用いて35字以内で答えよ。
解答・解説
解答例
動作モード:アプリケーションモード
理由:HTTP/2 リクエストを HTTP/1.1 に変換して負荷分散するから
解説
ー
IPA公開情報
出題趣旨
企業システムにおいて,自社データセンターのオンプレミスシステムとクラウドサービスの組合せは一般的である。こうしたシステムにおいて,新たなネットワーク構成への変更や,新たな技術やプロトコルの導入といった事項は,企業ネットワークにおける重要な取組の一つである。
このような状況を基に,本問ではオンプレミスシステムの一部をクラウドサービスへ移行することと,通信の効率化のために新たなプロトコルを導入することを要件とする Web システム更改の事例を取り上げた。本問では,HTTP/2 プロトコルとその下位プロトコルとしての TLS プロトコル,部分的なクラウドサービス導入に伴う経路設定を題材として,受験者の習得した技術と経験が実務で活用可能な水準かどうかを問う。
採点講評
問 1 では,HTTP/2 プロトコルとその下位プロトコルとしての TLS プロトコル,部分的なクラウド導入に伴う経路設定を題材に,HTTP/2 プロトコルの概要と特徴,通信開始時のシーケンス及びネットワーク機器に対する経路設定や仮想負荷分散装置の負荷分散設定などについて出題した。全体として正答率は平均的であった。
設問 1 では,d,e,f の正答率が低かった。HTTP/2 プロトコルは広く普及してきており,これからも多く使われる重要なプロトコルである。その基本については正しく理解してほしい。
設問 2 では,(2)の正答率が低く,ALPN を暗号化処理プロトコルと誤った解釈をしているような誤答が目立 った。ALPN は HTTP/2 プロトコルでは必須の技術であり,HTTP/2 に限らず,TCP/443 番ポートを複数のサービ スで共用する場合によく使われる技術なので理解を深めてほしい。
設問 3 では,(1),(2)の正答率が低く,暗号アルゴリズムの交換といった誤答が散見された。HTTP/2 プロトコルの通信開始シーケンスについても,その意味や内容について十分に理解しておいてほしい。