コンテナ(コンテナ技術)
コンテナは、OSレベルの仮想化とアプリケーションのパッケージングを組み合わせた技術で、アプリケーションを持ち運びや再利用、自動化がしやすい形でまとめて実行する仕組みです。
NISTの「アプリケーションコンテナセキュリティガイド」(SP 800-190、IPAが日本語訳を公開)によると、仮想マシン(VM)はハイパーバイザーによってハードウェアのレベルで分離され、それぞれが完全なゲストOSを含みます。これに対してコンテナは、複数のアプリケーションが同じホストOSのカーネルを共有しながら、互いに分離された状態で動きます。そのため、Linux向けに作ったコンテナはLinuxのホストで動かすといったように、OSの系統に依存します。
コンテナの実行に必要なファイルをまとめたものはコンテナイメージと呼ばれ、開発環境で作ったイメージをテスト環境や本番環境へ変更なしで移して動かせるように設計されるのが一般的です。同ガイドは、稼働中のコンテナには手を加えず、更新時は新しいコンテナに置き換える運用(イミュータビリティ)や、データをコンテナの外部のデータベースなどに保存すべきことにも触れています。代表的なプロジェクトとしてDockerが挙げられています。
環境の違いによる不具合を減らしやすい一方で、同ガイドは、静的な運用を前提とした従来のセキュリティツールや手順は見直しが必要になる場合があると指摘し、イメージに含まれる脆弱性などのリスクと対策を整理しています。
参考資料
「コンテナ」が出てくる記事
この用語が出てくる記事はまだありません。
「システム・品質・運用」の他の用語
- API
- CI/CD(継続的インテグレーション・継続的デリバリー)
- DevOps
- DORA指標(Four Keys)
- E2Eテスト(エンドツーエンドテスト)
- ITIL(ITサービスマネジメントのフレームワーク)
- RPA(ロボティック・プロセス・オートメーション)
- RTO・RPO(目標復旧時間・目標復旧時点)
- Runbook(運用手順書)
- SaaS・PaaS・IaaS
- SDK(ソフトウェア開発キット)
- SLO・SLI(サービスレベル目標・指標)
- SRE(サイト信頼性エンジニアリング)
- αテスト・βテスト
- インシデント管理(障害対応)
- 受入テスト(UAT)
- エラーバジェット
- オンプレミス
- 回帰テスト(リグレッションテスト)
- カスタマイズ(アドオン開発)
- カナリアリリース
- 技術的負債
- クラウド(クラウドコンピューティング)
- コードカバレッジ(テストカバレッジ)
