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との相性がよく、検証環境や障害対応による代替環境への切り替えなど迅速に行うことが可能です。

Follow me!