Skip to main content
用語集

コンテナとは

コンテナによるOSレベルの仮想化でアプリケーションのポータビリティを実現

コンテナとは、仮想化技術のひとつで、アプリケーションの実行環境を全て含むパッケージです。

コンテナとは、アプリケーションを仮想的にパッケージ化して分離し、ベアメタルシステム、クラウドインスタンス、仮想マシン(VM)、Linux、一部のWindowsやmacOSなどの多様なコンピューティング環境での拡張性、可用性、移植性を高めるための仮想化技術です。

仮想マシンがランタイムシステムとアプリケーション用のゲスト OS の両方を含むのとは異なり、コンテナはランタイムシステムのみを含み、ホストOSに依存することになります。これにより、コンテナに必要なメモリ、CPU、ストレージが削減され、同じインフラストラクチャ上でより多くのコンテナをサポートすることが可能になります。仮想マシンのイメージサイズが数ギガバイトである場合でも、コンテナは数十メガバイトのイメージサイズと小さくすることができます。

OSレベルの仮想化としても知られるコンテナ化は、開発環境からテスト環境、ステージング環境から本番環境、物理サーバーからクラウド上の仮想マシンなど、さまざまな環境でアプリケーションの移植性を確保するための手法として広く普及しています。コンテナが可能にするスピードとシンプルさは、DevOpsに理想的なものです。

コンテナ化されたアプリケーションは、独自のオペレーティングシステムを起動する必要がないため、仮想マシンよりもはるかに高速に、ほぼ瞬時に起動することができます。

Dockerコンテナ・プラットフォームやKubernetesコンテナ・オーケストレーション・システムなどの製品は、コンテナ化の導入を容易にし、その急速な普及に拍車をかけています。その一方で、アプリケーションコンテナが仮想マシン上のホストOSから抽象化されていないため、セキュリティ脅威がシステム全体にアクセスしやすくなるなど、コンテナ化のセキュリティ上の問題が明らかになっています。

A10がコンテナをサポートする方法

コンテナがクラスタ全体に展開されると、組織は、その中で実行されているアプリケーションが常に安全で、利用可能で、うまく動作することを保証できるようにする必要があります。A10のアプリケーション配信・負荷分散ソリューションA10 Thunder® ADCは、コンテナの負荷分散、コンテナとの通信の保護、コンテナとクラスタ全体の監視、サービスを停止させることなくコンテナ内のマイクロサービスを継続的にアップグレードすることにより、パブリッククラウドやプライベートクラウド上で動作するコンテナベースのアプリケーションおよびサービスの配信とセキュリティを最適化します。

< 用語集インデックスページに戻る

Kubernetesクラスター内アプリケーションへのトラフィック負荷分散

Kubernetesを利用することで、顧客ニーズに対して最適なアプリケーションをクラウド上にデプロイできる柔軟性と、コストの最適化を同時に実現できるようになります。
しかし、アプリケーションをプライベートクラウドからパブリッククラウド (AWSやAzureなど) へ移行するときに、利用のしやすさや、パフォーマンス、信頼性、セキュリティをプライベートクラウドと同程度に確保するには、どのようにすれば良いのでしょうか。

ブログを見る Kubernetesクラスター内アプリケーションへのトラフィック負荷分散