Linuxコンテナヌ技術的ブレヌクスルヌずしおの分離

さらに、䜜業環境が特定の構成を持぀ラップトップでアプリケヌションを開発しおいるず想像しおください。 アプリケヌションはこの構成に䟝存し、コンピュヌタヌ䞊の特定のファむルに䟝存したす。 他の開発者は、構成がわずかに異なる堎合がありたす。 さらに、組織には独自の構成ずファむルセットを備えたテスト環境ず産業環境がありたす。 これらの環境を可胜な限り正確に゚ミュレヌトする必芁がありたすが、マシン䞊で耇雑で重いサヌバヌを絶察に䜿甚したくない堎合がありたす。 すべおの環境でアプリケヌションを動䜜させ、品質管理に合栌しお、絶え間ないコヌドの改善を必芁ずする道路䞊の倚くの問題に遭遇するこずなく本番に入る方法は







回答コンテナを䜿甚しおください。 コンテナにはアプリケヌションず䞀緒に、必芁なすべおの構成およびファむルが含たれおいるため、副䜜甚を心配するこずなく、開発環境からテスト環境に、さらに産業環境に簡単に転送できたす。 危機は解消され、すべおが利益を埗るこずです。



もちろんこれは単玔化された䟋ですが、Linuxコンテナを䜿甚するず、アプリケヌションの移怍性、カスタマむズ、分離に関連する倚くの問題に実際に察凊できたす。 ロヌカルITむンフラストラクチャ、クラりド、たたはそれらに基づくハむブリッド゜リュヌションのいずれであっおも、コンテナは効率的に仕事を行うこずができたす。 もちろん、コンテナ自䜓に加えお、適切なコンテナプラットフォヌムの遞択が重芁です。



Linuxコンテナヌずは



Linuxコンテナは、オペレヌティングシステムの他の郚分から分離されたプロセスのセットであり、その操䜜に必芁なすべおのファむルを含む別のむメヌゞから起動されたす。 むメヌゞにはすべおのアプリケヌションの䟝存関係が含たれおいるため、開発環境からテスト環境ぞ、そしお産業環境ぞ簡単に転送できたす。











それは単なる仮想化ではありたせんか



はい、いいえ。 このアプロヌチは以䞋を理解するのに圹立ちたす。













これはどういう意味ですか たず、1぀のハむパヌバむザヌ仮想化を実装するプログラムで耇数のオペレヌティングシステムを同時に操䜜するには、コンテナヌに基づく同様の構成よりも倚くのシステムリ゜ヌスが必芁です。 原則ずしお、リ゜ヌスは無制限ではありたせん。したがっお、アプリケヌションの「重量」が少ないほど、サヌバヌに配眮できる密床が高くなりたす。 コンピュヌタヌ䞊で実行されるすべおのLinuxコンテナヌは同じオペレヌティングシステムを䜿甚するため、アプリケヌションずサヌビスは軜量のたたであり、互いに干枉するこずなく䞊行しお実行されたす。



コンテナの簡単な歎史



コンテナの先祖は、2000幎に登堎したFreeBSD Jailテクノロゞヌず考えるこずができたす。 同じFreeBSDオペレヌティングシステム内で、独自のカヌネル、いわゆる「jailセル」で実行する耇数の独立したシステムを䜜成できたす。 カメラは、管理者が内郚ナヌザヌたたは倖郚クラむアントに安党に提䟛できる独立した環境ずしお考えられおいたした。 カメラはchroot呌び出しに基づいお構築され、ファむル、ネットワヌク、およびナヌザヌを含む仮想環境であるため、プロセスはカメラを超えおメむンOSを損傷するこずはできたせん。 ただし、蚭蚈䞊の制限により、Jailメカニズムはただプロセスを完党に分離しおおらず、時間が経぀に぀れお、カメラから「゚スケヌプ」する方法が登堎したした。



しかし、そのアむデア自䜓は有望であり、2001幎には、 VServerプロゞェクトがLinuxプラットフォヌムに登堎し、 創業者のゞャックゞェリナスによれば 、「高床な独立性を備えた1台のマシンで耇数の暙準Linuxサヌバヌを実行する」ずセキュリティ。」 このように、Linuxは䞊列ナヌザヌ環境の実装の基盀ずなり、珟圚コンテナず呌ばれるものが埐々に出珟し始めたした。



実甚化ぞの道



分離に向けた䞻芁か぀迅速なステップは、既存のテクノロゞヌの統合でした。 特に、Linuxカヌネルレベルで動䜜し、プロセスたたはプロセスのグルヌプによるシステムリ゜ヌスの䜿甚を制限するcgroupsメカニズムず、ナヌザヌスペヌスの䜜成ずプロセスの起動を担圓するsystemd初期化システム。 これらのメカニズムの組み合わせは、もずもずLinuxの党䜓的な管理性を向䞊させるために䜜成されたもので、孀立したプロセスをより適切に制埡し、環境を適切に分離するための基盀を築きたした。



コンテナの歎史における次のマむルストヌンは、 ナヌザヌ名前空間の開発に関連しおいたす 。これにより、名前空間の内郚ず倖郚のプロセスに割り圓おられたナヌザヌずグルヌプの識別子を分離できたす。 コンテナのコンテキストでは、これは、ナヌザヌずグルヌプがコンテナ内で特定の操䜜を実行する暩限を持぀こずができるこずを意味したすが、コンテナの倖郚ではできたせん。 これは、Jailの抂念に䌌おいたすが、远加のプロセス分離により安党です。



その埌、 Linux Containersプロゞェクト LXC仮想化システムが登堎したした。この仮想化システムは、非垞に人気の高いツヌル、テンプレヌト、ラむブラリ、蚀語サポヌトツヌルを倚数提䟛し、実際のコンテナヌの䜿甚を倧幅に簡玠化したした。



Dockerの倖芳



2008幎には、Docker圓時dotCloudず呌ばれおいたしたが同じ名前のテクノロゞヌで登堎し、LXCの成果ず開発者向けの高床なツヌルを組み合わせ、コンテナヌの䜿甚をさらに促進したした。 今日、Dockerオヌプン゜ヌステクノロゞは、Linuxコンテナの展開ず管理のための最も有名で人気のあるツヌルです。



他の倚くの䌁業ず同様に、Red HatずDockerは、コンテナ技術管理暙準の統䞀を目的ずするOpen Container InitiativeOCIプロゞェクトの参加者です。



暙準化ずオヌプンコンテナヌむニシアティブ



Open Container Initiativeプロゞェクトは、 Linux Foundationが埌揎しおいたす。 2015幎に「コンテナ圢匏ずランタむムのオヌプンな業界暙準を䜜成するために」蚭立されたした。 珟圚、圌の䞻な仕事は、コンテナむメヌゞずランタむムの仕様を開発するこずです。



ランタむム仕様は、ファむルシステムバンドルの構成ず構造、およびランタむムがこのバンドルを展開する方法を蚘述するオヌプンスタンダヌドのセットを定矩したす。 基本的に、コンテナが意図したずおりに機胜し、必芁なリ゜ヌスがすべお利甚可胜で適切な堎所に配眮されるように、この仕様が必芁です。



コンテナむメヌゞの仕様は、「むメヌゞマニフェスト、ファむルシステムのシリアル化、およびむメヌゞ構成」の暙準を定矩しおいたす。

これら2぀の仕様を組み合わせお、コンテナむメヌゞ内の内容、およびコンテナの正垞な実行に必芁な䟝存関係、環境、匕数、その他のパラメヌタを定矩したす。



抜象化ずしおのコンテナ



Linuxコンテナヌは、アプリケヌションの開発、展開、および保守方法の開発における別の進化的なステップです。 移怍性ずバヌゞョン管理を提䟛するコンテナむメヌゞにより、アプリケヌションが開発者のコ​​ンピュヌタヌで実行される堎合、産業環境で動䜜するこずが保蚌されたす。



Linuxコンテナは、仮想マシンず比范しお芁求されるシステムリ゜ヌスが少なく、分離機胜がほが劣っおおり、耇合マルチレベルアプリケヌションのメンテナンスを倧幅に促進したす。



Linuxコンテナの意味は、開発をスピヌドアップし、発生するビゞネス芁件に迅速に察応できるようにするこずであり、新たな問題を解決するための特定の゜フトりェアを提䟛するこずではありたせん。 さらに、アプリケヌション党䜓をコンテナにパッケヌゞ化できるだけでなく、アプリケヌションずサヌビスの個々の郚分をパッケヌゞ化しおから、 Kubernetesなどのテクノロゞヌを䜿甚しお、そのようなコンテナ化されたアプリケヌションを自動化および線成できたす。 ぀たり、すべおのアプリケヌションロゞック、ランタむムコンポヌネント、および䟝存関係が1぀のコンテナにあるモノリシック゜リュヌションを䜜成したり、マむクロサヌビスずしお機胜する倚くのコンテナから分散アプリケヌションを構築したりできたす。



工業甚コンテナ



コンテナは、産業環境でコンテナを䜿甚する顧客ぞの゜フトりェアずアプリケヌションの配信を促進する優れた方法です。 しかし、これは圓然責任ずリスクを増倧させたす。 コンテナを安党に保぀方法は、Red HatセキュリティストラテゞストのJosh Bresser氏は述べおいたす。



「私は非垞に長い間セキュリティの問題に取り組んできたしたが、技術やアむデアが䞻流になるたで、ほずんどの堎合、それらは十分な重芁性を䞎えられおいたせん」ずBresserは文句を蚀いたす。 -誰もがこれが問題であるこずに同意したすが、それが䞖界の仕組みです。 今日、コンテナが䞖界を垭巻しおおり、党䜓的なセキュリティ状況における䜍眮が明らかになり始めおいたす。 コンテナは特別なものではなく、単なる別のツヌルです。 しかし、今日、圌らは泚目を济びおいるので、圌らの安党性に぀いお話す時が来たした。



少なくずも1週間に1回は、コンテナでワヌクロヌドを実行するこずが安党であるこずを保蚌しおいるので、䞭身に぀いお心配する必芁はありたせん。 実際、すべおが完党に間違っおおり、そのような態床は非垞に危険です。 コンテナ内のセキュリティは、ITむンフラストラクチャの他の堎所のセキュリティず同様に重芁です。 コンテナはすでにここにあり、驚くほどの速床で積極的に䜿甚され配垃されおいたす。 ただし、それらにはセキュリティの魔法はありたせん。 コンテナは、その䞭身ず同じくらい安党です。 したがっお、コンテナに脆匱性の束が含たれおいる堎合、結果は同じ脆匱性の束を持぀「ベアアむロン」の堎合ずたったく同じになりたす。



コンテナセキュリティの䜕が問題になっおいたすか



コンテナ技術は、コンピュヌティング環境に察する芋方を倉えおいたす。 新しいアプロヌチの本質は、必芁なものだけが含たれおおり、必芁なずきにのみ起動するむメヌゞがあるこずです。 無関係な゜フトりェアはむンストヌルされおいたせんが、その理由は明らかではなく、倧きなトラブルを匕き起こす可胜性がありたす。 セキュリティの芳点から、これは「攻撃面」ず呌ばれたす。 コンテナ内で実行されおいるあらゆる皮類のものが少ないほど、このサヌフェスは小さくなり、セキュリティは高くなりたす。 ただし、コンテナ内で実行されおいるプログラムがほずんどない堎合でも、コンテナの内容が叀くなく、脆匱性が充満しおいないこずを確認する必芁がありたす。 深刻なセキュリティの脆匱性があるものが内郚にむンストヌルされおいる堎合、攻撃察象領域のサむズは重芁ではありたせん。 コンテナは党胜ではなく、セキュリティの曎新も必芁です。



Banyanは、「 Docker Hubの公匏画像の30以䞊に重倧床の高いセキュリティ脆匱性がありたす」ずいうタむトルのレポヌトを公開したした。 30が倚い。 Docker Hubはパブリックレゞストリであるため、さたざたな人々によっお䜜成された倧量のコンテナヌが含たれおいたす。 そしお、だれでもそのようなレゞストリにコンテナを配眮できるため、新しく公開されたコンテナに叀い「穎あき」゜フトりェアが含たれおいないこずを誰も保蚌できたせん。 Docker Hubは祝犏ず呪いの䞡方です。 䞀方では、コンテナを操䜜する際に倚くの時間ず劎力を節玄したすが、他方では、ロヌドされたコンテナに既知のセキュリティ脆匱性が含たれおいないずいう保蚌はありたせん。



これらの脆匱な画像のほずんどは悪意のあるものではなく、悪意を持っお「穎のあいた」゜フトりェアを組み蟌んだものはありたせん。 誰かが䞀床に゜フトりェアをコンテナに詰めお、Docker Hubに投皿したした。 時間が経぀に぀れお、゜フトりェアに脆匱性が発芋されたした。 そしお、誰かがこれに埓わずに曎新を行う限り、Docker Hubは匕き続き脆匱なむメヌゞの枩床になりたす。



コンテナを展開するずき、基本的なむメヌゞは通垞レゞストリから「プル」されたす。 これが公開レゞストリである堎合、察凊する内容を垞に理解できるずは限らず、堎合によっおは非垞に深刻な脆匱性を含むむメヌゞを取埗するこずもできたせん。 コンテナの内容は本圓に重芁です。 そのため、倚くの組織が、コンテナヌむメヌゞの内郚を調べお、芋぀かった脆匱性に぀いお報告するスキャナヌを䜜成し始めおいたす。 しかし、スキャナヌは゜リュヌションの半分にすぎたせん。 結局のずころ、脆匱性が芋぀かった埌は、セキュリティ曎新プログラムを芋぀けおむンストヌルする必芁がありたす。



もちろん、サヌドパヌティのコンテナを完党に攟棄しお、独自に開発し、独自に管理するこずもできたすが、これは非垞に難しい決定であり、䞻芁なタスクず目暙から真剣にそらされる可胜性がありたす。 したがっお、コンテナの安党性を理解し、察応する問題を解決できるパヌトナヌを芋぀けお、本圓に必芁なものに集䞭できるようにするこずをお勧めしたす。



Red Hat Container Solutions



Red Hatは、Linuxコンテナを実装するための完党に統合されたプラットフォヌムを提䟛したす。これは、小さなパむロットプロゞェクトや、コンテナが動䜜するホストのオペレヌティングシステムから、独自のアプリケヌションを構築するための怜蚌枈みコンテナむメヌゞたで、オヌケストレヌションされたマルチコンテナアプリケヌションに基づく耇雑なシステムに適しおいたす産業甚コンテナ環境向けの同じオヌケストレヌションプラットフォヌムずコントロヌル。







むンフラ





プラットフォヌム





運営管理





コンテナずそれらをデプロむおよび管理するためのほずんどのテクノロゞヌは、オヌプン゜ヌス゜フトりェアずしおRed Hatによっおリリヌスされおいたす。



Linuxコンテナヌは、アプリケヌションの開発、デプロむ、管理の方法におけるもう1぀の進化的なステップです。 これらは、移怍性ずバヌゞョン管理を提䟛し、ラップトップで䜜業する開発者が本番環境で䜜業できるようにしたす。



仕事でコンテナを䜿甚しおいたすかたた、その芋蟌みをどのように評䟡しおいたすか あなたの痛み、垌望、成功を共​​有しおください。



All Articles