DevOpsにおけるコンテナ技術の活用【情報処理安全確保支援士試験 令和元年度 秋期 午後2 問1 設問4】
情報処理技術者試験、情報処理安全確保支援士試験の午後問題を通じて、情報セキュリティの知識を体系的に蓄積していきましょう。
キーワードに加え、設計やインシデント対応能力をシミュレーションできる良い学びの場ですので、試験合格はもちろん、情報処理安全確保支援士となった後も能力向上のために学習できるいい機会です。
今回は、「DevOpsにおけるコンテナ技術の活用」を取り上げた「情報処理安全確保支援士試験 令和元年度 秋期 午後2問1設問4」です。
問題文中、設問に該当する部分ですぐに解答を説明しています。
ストーリーとして何度も読みこなすと、自然に記憶に定着してくると思います。
情報処理安全確保支援士試験 令和元年度 秋期 午後2 問1 設問4
問1 ソフトウェア開発におけるセキュリティ対策に関する次の記述を読んで、設問1〜4に答えよ。
(略)
【コンテナ技術活用の検討】
B氏は、コンテナ技術を、構成管理、変更管理、リリース前の確認及び実行環境の更新に活用することを提案した。次は、PさんとB氏の会話である。
Pさん:まず、コンテナ技術の活用について解説してもらえますか。
B氏:サーバで(c:コンテナエンジン)を一つ稼働させておけば、(c:コンテナエンジン)の上で、(d:アプリ)ごとの別の(e:コンテナ)を稼働させることが可能です。ほかの(e:コンテナ)への影響なく、(e:コンテナ)ごとにサービスの提供や停止ができます。さらに、(c:コンテナエンジン)の上で稼働する(e:コンテナ)は複製が容易なので、同じ開発環境をいくつも用意して(d:アプリ)を開発することが可能となります。
Pさん:なるほど。S社でも以前から、遠隔監視するツールのためにサーバA上で(c:コンテナエンジン)を稼働させているのですが、そのようにも活用できるのですね。構成管理・変更管理への活用についても解説してもらえますか。
B氏:実行環境の構成情報を、(d:アプリ)のソースコードと同じようにサービスHでバージョン管理できます。構成情報については、(f:変更の履歴)を確認することができ、図5で提案した運用プロセスでのシステム変更の管理につながります。
Pさん:なるほど。リリース前の確認への活用について解説してもらえますか。
B氏:リリースする際の確認のため、(g:本番)環境と同じ実行環境を用意して、(d:アプリ)が動作するかを確認することが可能となります。図5で提案した(h:検証)環境も用意できます。
Pさん:実行環境の更新への活用について解説してもらえますか。
B氏:(e:コンテナ)内のライブラリ及びミドルウェアは、(c:コンテナエンジン)が稼働するOS側のそれらとは別のファイルです。複製した(e:コンテナ)内で、ライブラリ及びミドルウェアにパッチを適用したときに、現在の(d:アプリ)が正常に稼働するかを回帰テストを行って確認できます。
Pさん:それは朗報ですね。Sシステムでは、創業時に構築した古い実行環境を使っていて新しいバージョンへの更新が課題でしたので、その解決の糸口になります。早速、コンテン技術を活用してみます。
S社は、セキュリティの向上、開発プロセスの強化、及びコンテナ技術の活用によって、DevOpsの実践を改善した。その効果もあってサービス品質が向上し、登録会員数を増やすことができた。
【出典:情報処理安全確保支援士試験 令和元年度 秋期 午後2問1】
https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2019h31_2/2019r01a_sc_pm2_qs.pdf
c:コンテナエンジン、d:アプリ、e:コンテナ、f:変更の履歴、g:本番、h:検証
コンテナとは、サーバのコンテナエンジン上で、アプリケーション、ライブラリ、設定ファイルなどをひとまとめにしてコンテナとして動作させる技術のことです。
サーバ仮想化の仮装マシンと似ていますが、サーバ仮想化ではホストOSの上でゲストOSを構築する必要がありますが、コンテナではゲストOSを構築する必要がなく、アプリケーションの実行環境を構築することが可能です。
サーバ仮想化と比べて、CPUやメモリなどリソースの消費が少なく処理が軽量、環境構築が容易であることから、DevOpsとの相性がよく、検証環境や障害対応による代替環境への切り替えなど迅速に行うことが可能です。