A 社は,取引先企業向けEC サイト(以下,A 社サイトという)をパブリッククラウドに構築中である。A 社サイトには,A 社と契約がある取引先企業がインターネットを経由してアクセスする予定である。
A 社サイトは,ロードバランサー,アプリケーションサーバ及びデータベースから構成されている。A 社サイトの構成を図1 に示す。アプリケーションサーバは複数の仮想マシンにインストールされ,ロードバランサーはアプリケーションサーバへのリクエストを分散させる。アプリケーションプログラムはステートレスとして設計され,セッションや取引のデータなどの保存にデータベースを用いる。

図1 A 社サイトの構成
A 社は,アプリケーションプログラムの軽微な変更を伴うバージョンアップ時に,A 社サイトを停止することなく,アプリケーションプログラムを既存のものから新しいバージョンのものに切り換える手順を検討している。アプリケーションプログラムの切換えに関する要件は次のとおりである。
〔アプリケーションプログラムの切換えに関する要件〕 1. 切換え作業中もA 社サイトが利用できること。 2. 一つのバージョンのアプリケーションプログラムだけがリクエストを受け付けること。
ロードバランサーに備わっているグループ切換機能を利用して,要件を満たすアプリケーションプログラムの切換手順を考える。グループ切換機能とはリクエストの転送先として指定したグループに所属する仮想マシンだけにリクエストを転送する機能である。転送先として指定できるグループは一つだけである。グループ切換機能を利用して,アプリケーションプログラムを既存のバージョンx から新しいバージョンy に切り換える手順を検討した。切換手順の検証のために負荷テストツールを利用する。負荷テストツールは,継続して一定の間隔でリクエストを送り,レスポンスを待つ。レスポンスを受信した直後に,次のリクエストを送る。負荷テストツールを利用して,切換手順を次のように定めた。
〔切換手順〕 (1) 負荷テストツールからリクエストの送信を開始する。 (2) 仮想マシンを起動し,検証用アプリケーションプログラムx をインストールする。 (3) (2)で起動した仮想マシンを停止し,仮想マシンのイメージを作成する。 (4) (3)で作成したイメージを基にした仮想マシンを複数台起動する。 (5) (4)で起動した仮想マシンをグループ1 に所属させる。 (6) リクエストの転送先にグループ1 を指定する。 (7) (2)で起動した仮想マシンを削除する。 (8) 仮想マシンを新たに起動し,検証用アプリケーションプログラムy をインストールする。 (9) (8)で起動した仮想マシンを停止し,仮想マシンのイメージを作成する。 (10) (9)で作成したイメージを基にした仮想マシンを(4)と同じ台数だけ起動する。 (11) (10)で起動した仮想マシンをグループ2 に所属させる。 (12) リクエストの転送先にグループ2 を指定する。 (13) グループ1 に所属している仮想マシンを停止する。 (14) (3)で作成したイメージを削除する。 (15) 負荷テストツールの使用を停止する。 (16) 検証用アプリケーションプログラムx と検証用アプリケーションプログラムy のログから手順が要件を満たすことを検証するため,負荷テストツールからの全てのリクエストに対して,正常にレスポンスを返却していること及び要件を満たすための条件の一つである a を確認した。
検証した手順で,アプリケーションプログラムを切換え可能であると確認できた。追加要件として,切り換え後のアプリケーションプログラムに不具合があった場合速やかに切り戻せることが追加された。このため手順を修正し,再度検証することにした。(16)の後にグループ1 に切り換えてログを確認する手順を追加し,再び負荷テストツールを使用する。また,切戻しの妨げになるので b の手順を削除することにした。
設問 本文中の a , b に入れる字句の組合せはどれか。解答群の中から最も適切なものを選べ。
(一) アプリケーションプログラムx が最後にリクエストを受けた時刻が,アプリケーションプログラムy が最初にリクエストを受けた時刻より,早い時刻であること
(二) アプリケーションプログラムx が最後にレスポンスを返却した時刻が,アプリケーションプログラムy が最初にリクエストを受けた時刻より,早い時刻であること
(三) アプリケーションプログラムx が最後にレスポンスを返却した時刻が,アプリケーションプログラムy が最後にレスポンスを返却した時刻より,早い時刻であること
(四) (12)
(五) (13)
(六) (14)
a | b | |
|---|---|---|
ア | (一) | (四) |
イ | (一) | (五) |
ウ | (一) | (六) |
エ | (二) | (四) |
オ | (二) | (五) |
カ | (二) | (六) |
キ | (三) | (四) |
ク | (三) | (五) |
ケ | (三) | (六) |