コンテナ型仮想環境における運用管理に関する次の記述を読んで,設問に答えよ。
W社は,オンラインゲームのアプリケーションソフトウェア(以下,ゲームアプリという)を企画,開発及び運用している。W社の開発部は,開発環境と試験環境を利用して,ゲームアプリの開発と保守を行っている。W社の運用部は,開発されたゲームアプリを稼働環境で運用し,Wサービスとしてスマートデバイスからインターネットを経由してゲームを行う利用者に提供している。開発環境の管理は開発部が試験環境及び稼働環境の管理は運用部が担当している。Wサービスの提供時間帯は,ゲームアプリ改修に必要な計画停止時間を除いた24時間365日となっている。
〔ゲームアプリの開発と運用における課題〕
ゲームアプリの競争が激しく機能追加のための改修が多いので,新たな版のゲームアプリを週1回の頻度で稼働環境にデプロイする必要がある。開発部と運用部では,開発に掛かる期間を短縮し,リリース頻度を高めているが,ゲームアプリの開発と運用には表1に示す課題がある。
表1 ゲームアプリの開発と運用における課題
開発部のY氏は,アプリケーションが稼働する環境を,高速かつ簡単に生成できるコンテナ技術を導入することによって,表1の項番1や項番2の課題を解決できないかと考えた。
〔コンテナ技術〕
コンテナ技術とは,アプリケーションプログラム(以下,APという),ミドルウェア(以下,MWという)などを一つにまとめたもの(コンテナ)をホストOSのコンテナ管理ソフトウェア上で仮想環境として動作させる技術のことで,次のような特徴がある。
・開発者が自らに必要な環境を専有して開発できる。
・サーバのリソースを有効利用でき,環境の準備,起動,廃棄などを迅速に行うことができる。
・別の環境への移行が簡単にできる。
コンテナ型仮想環境とハイパーバイザー型仮想環境の構成例を図1に示す。
図1コンテナ型仮想環境とハイパーバイザー型仮想環境の構成例
〔コンテナ型仮想環境の導入検討〕
Wサービスは,運用部が運用するWシステムによって実現されている。Wシステムの稼働環境及び試験環境は2台の物理サーバ,通信装置,外部記憶装置など,W社の設備を使って構成されている。物理サーバのうち1台では,APの不具合によってAPが停止した場合でもWサービスを継続できるようにハイパーバイザー型仮想環境で,二つのアプリケーションサーバ(以下,アプリサーバという)を稼働させている。他の物理サーバでも,同様に二つのデータベースサーバが稼働している。
Y氏は,運用部のITサービスマネージャであるZ氏にコンテナ技術の導入について意見を求めた。Z氏は,試験項目に応じたコンテナをあらかじめ用意しておくことで,現在のコンテナの廃棄と用意されたコンテナの起動を行うことができるので,試験環境の整備を迅速かつ正確に行うことができると考えた。また,APの不具合によってAPが停止するインシデントが発生した場合,現在の運用では,原因を調査後,原因となった問題を除去して再度APの起動を行っているが,その間は2台のアプリサーバのうち1台だけしか稼働していない状態となる。コンテナ技術を導入すれば,複数のコンテナを稼働させることができることに加えて,(ア)コンテナを稼働させてインシデント発生前の状態に戻すまでの時間を短縮できると考えた。
〔デプロイ方法の改善〕
Z氏は,ゲームアプリの開発と運用における課題に対して,コンテナ型仮想環境を活用したデプロイ方法を,ブルーグリーンデプロイメント方式にすることにした。この方式では,二つの稼働環境を用意して,利用者が使う稼働環境を切り替えられるようにする。具体的には,現状の稼働環境(ブルー)とは別に,新しい稼働環境(グリーン)を構築して最新版のAPを準備しておき,デプロイする日時に合わせて利用者が使う稼働環境を切り替える運用方法のことである。
ブルーグリーンデプロイメント方式の例を図2に示す。
図2 ブルーグリーンデプロイメント方式の例
図2の例では,現状の稼働環境(ブルー)で1.0版のコンテナが稼働している。新しい稼働環境(グリーン)に2.0版のコンテナを起動させておき,コンテナ管理ソフトウェアを使って,現在の稼働環境をブルーからグリーンに変更する。(イ)2.0版のコンテナの動作に問題がないことを確認できた場合,1.0版のコンテナを停止し,1.0版のコンテナを廃棄する。
〔コンテナ型仮想環境の検証〕
Z氏とY氏は,コンテナ型仮想環境の検証を実施するための環境を新たに用意して,コンテナ型仮想環境の検証を開始した。
開発部では,APが出力するエラーログの情報などを,稼働環境に影響を与えないようにアプリサーバに保存する設定としていた。そこで,今回の検証におけるAPのエラーログなどの情報もコンテナ内に出力する設定とした。検証のために,コンテナを起動したところ,しばらく稼働していたがその後APが異常終了し,コンテナが廃棄される事象が発生した。運用部が原因を調査するためにエラーログ情報の内容を確認しようとしたところ,解析に必要な情報を取得できていなかったことが判明した。そこで, a する運用方法を検討することとした。
Z氏は,コンテナオーケストレーションツールを導入し,コンテナの運用管理を自動化することにした。Z氏が検討したコンテナオーケストレーションツールでは,起動されているコンテナの負荷状況によって,自動的にコンテナのスケーリングが行われる。スケーリングでは,CPU使用率が一定のしきい値を上回る又は下回る場合に,コンテナ数の増減を行う。これによってCPU能力を最適化するとともに,CPU能力不 足によってシステムがダウンする事象の発生を防ぐ。必要となるコンテナ数は,次の計算式によって求めることができる。
スケーリング後のコンテナ数 = 現在のコンテナ数 ×(現在の平均CPU使用率/期待するCPU使用率)
現在の平均CPU使用率は,コンテナオーケストレーションツールが定期的に自動的に測定を行う。Z氏は,検証で最大8個までコンテナを稼働できる環境を用意し現在の稼働環境の稼働状況を踏まえて,期待するCPU使用率を50%とした。
設問1 〔コンテナ型仮想環境の導入検討〕について答えよ。
(1)表中の項番1及び項番2の課題に対して,コンテナ技術の導入によって試験環境が正しく整備されること以外の運用部にとっての利点は何か。20字以内で答えよ。
解答・解説
解答例
XXX
解説
ー
(2)本文中の下線(ア)で,インシデント発生前の状態に戻すまでの時間短縮は,コンテナ技術の特徴を生かすことによって可能となる。可能となる理由を20字以内で答えよ。
解答・解説
解答例
XXX
解説
ー
設問2 〔デプロイ方法の改善〕について答えよ。
(1)表1中の項番3の課題に対して,ブルーグリーンデプロイメント方式を採用することのメリットを35字以内で答えよ。
解答・解説
解答例
XXX
解説
ー
(2)1世代前のAPに戻すための緊急メンテナンスに対して,ブルーグリーンデプロイメント方式を採用することで復旧までの時間を削減することができる理由を30字以内で答えよ。
解答・解説
解答例
XXX
解説
ー
(3)本文中の下線(イ)で,図2の例において2.0版のコンテナの動作で問題が発生した場合,1.0版のコンテナに戻す場合の手順を25字以内で答えよ。
解答・解説
解答例
XXX
解説
ー
設問3 〔コンテナ型仮想環境の検証〕について答えよ。
(1)本文中の a には,エラーログ情報の運用方法が入る。コンテナが破棄されても原因の調査ができるようにするために,どのように運用しておけばよいか。25字以内で答えよ。
解答・解説
解答例
XXX
解説
ー
(2)現在のコンテナ数が4で,平均CPU使用率が80%となり,しきい値を上回ってスケーリングが行われた場合,スケーリング後のコンテナ数を整数で答えよ。なお,計算結果で小数が発生する場合,小数を切り上げて整数で求めよ。
解答・解説
解答例
XXX
解説
ー
IPA公開情報
出題趣旨
公開前
採点講評
公開前