Dockerのバックアップ戦略――Dockerの何を保護すべきか?コンテナ時代のバックアップ基礎の基礎

Dockerは多数の抽象化レイヤーから成り、レイヤーごとにバックアップ方法も異なる。まずDockerの何を保護するのかを決めることが、バックアップ戦略のベースとなる。

2019年08月28日 08時00分 公開
[Eric EbertComputer Weekly]

 Dockerをバックアップする円滑な手順を用意すべき理由はたくさんある。最も分かりやすいのは不測の事態に備えるためだ。サーバに障害が起きると、データセンターは機能停止に追い込まれる。コンテナやボリュームのコピーを確保しておけば、問題が発生しても迅速な対応が可能になる。

 Dockerはその性質上、予測不能な動きをすることがある。バックアップはこうした動きをうまく乗り切るのにも役立つ可能性がある。あるコンテナで異常が発生して通常の対応策が機能しなくなったとしても、バックアップがあれば、機能することが分かっている時点のバージョンに即座に戻すことができる。

 コードベースを以前のバージョンに戻す必要がある場合、コンテナのバックアップがあれば全体のプロセスが明らかにシンプルになり、ビルドを作成し直す手間が掛からない可能性がある。

Dockerバックアップの基礎

会員登録(無料)が必要です

 Dockerは、あるレベルでは仮想化を大幅にシンプルにする。だが、そうしたシンプルさが複雑さの大部分を覆い隠してしまう。

 Dockerのバックアップを話題にするときは、話題を正確に絞り込むと分かりやすくなる。Dockerは、抽象化の層を多数重ねた大規模なプラットフォームで、この各抽象化層をバックアップの対象にできる。

 厄介なのは、これらの抽象化レベルがDockerのエディション間で異なる点だ。「Docker Enterprise Edition」(Docker EE)は「Docker Community Edition」と微妙に異なる。そのため本稿ではDocker EEを扱うものとする。

 例として、クラスタ構成、アクセス制御、認証管理などを処理する「Universal Control Plane」(UCP)を考える。これがDockerの中核を成す、適切に調整されたエンジンだと考えると、このバックアップを定期的に取っておきたいのはほぼ間違いないだろう。これを一から再構築するのはお勧めできない。

 次にバックアップを取っておきたいのが「Swarm」だ。SwarmはDockerでクラスタを構築するツールだ。細かくバックアップを取りたい場合は、特定のボリュームやコンテナのイメージを作成することもできる。

 最後に、「Docker Trusted Registry」のバックアップも必要だ。これはSwarmで使われる各種イメージを管理するリポジトリサーバだ。これにも個別のバックアップ手順がある。

 こうした点は、明らかにツールや製品に関わる厄介な問題になる。そして、そうしたツールや製品それぞれに独自の真摯(しんし)なメンテナンスが必要になる。だが、それほど心配することはない。Dockerが優れている点の一つは、重要なコンテナインフラの保全方法をユーザーが管理できる複数の組み込みコマンドラインツールや公開APIが備わっていることだ。

 つまり、さまざまなDockerコンポーネントのバックアップを取るcronジョブを作成し、SSH(Secure Shell)を使ってイメージを仮想専用サーバ(VPS)やオンプレミスサーバと安全にrsyncするだけで済む。

Dockerバックアップ製品

 当然、これで話は終わりではない。Dockerバックアップツールは数多く存在する。そうしたツールは必ずしも必要ではないが、検討する理由も幾つかある。例えば、そうしたツールは洗練されている場合が多い。また、それ以外の方法では独自に開発するしかない機能を搭載している場合もある。

 多様な商用コンテナバックアップソリューションを支持する理由もある。異論があるかもしれないが、最も大きな理由は他の機能も備え、他のITインフラの資産も1つの製品で管理できることが挙げられるだろう。

Bacula SystemsのDocker向け自動バックアップ

 紹介する順序に特に意味はないが、まずはBacula Systemsが提供するDocker向けの自動バックアップ製品を取り上げる。これは出しゃばったところが最も少ないツールの一つだ。Docker APIに直接統合されるモジュールになっていて、エージェントをユーザーが各コンテナにインストールする必要がない。こうしたインストールは時間がかかり、複雑化を招く。

 次に、読み取り専用の層や書き込み可能な層を含めてコンテナ全体をキャプチャーし、単一のイメージとして保存できる。その後、このイメージを使って全く新しいコンテナを自動または手動で稼働させることが可能だ。

Veritas NetBackup

 「Veritas NetBackup」は興味深い製品だ。主に大容量かつ大規模な環境を対象とする紛れもない企業向け製品で、オンプレミス環境、仮想環境、クラウドにまたがって機能する。Dockerに加えて「MongoDB」「MariaDB」「PostgreSQL」など、大量のデータを扱うその他の一般的なアプリケーションもサポートすることを売りにしている。

 Dockerに関してVeritas NetBackupが興味深いのは、データ保存に対して3つの異なるアプローチを用意している点だ。ユーザーは、稼働時間、パフォーマンス、構成の各ニーズに応じて最適な手法を選べる。

 1つ目の手法では、ツールがステージング領域を作成してアプリケーションデータを保存する。これはバッファーとして機能し、ユーザーデータを定期的に安全な場所に転送する。別の手法では、「サイドカー」モデルを使用してVeritas NetBackupをアプリケーションに統合し、アプリケーションデータをバックアップするツールを追加する。最後に、Veritas NetBackupはアプリケーションコンテナ自体に直接統合することもできる。

 これには2つの解釈が可能だ。Dockerバックアップを処理するのに理想的な1つの方法が存在しないか、単純にユーザーのさまざまなニーズでは微妙に異なる方法が時として必要になるということだ。個人的には後者の解釈を支持する。

無視できないオープンソース

 取り上げなければならないことがもう1つある。幅広い魅力的なオープンソースの(言い方を変えると、無料の)アプリケーションがあることだ。こうしたオープンソースアプリケーションは、DockerコンテナやDockerボリュームの保存に関わる手間を要する多くの作業に対応する。

 魅力的なオプションの一つに挙げられるのが、ドイツのミュンヘンを拠点とする開発者ステファン・ブロール氏が開発した「Volumerize」だ。ユーザーが独自にバックアップワークフローのスクリプトを作成できることには既に触れたが、このツールはその際説明した面倒な作業の多くを代行する。例えば、cronジョブでワークフローのスケジューリングをサポートし、SCP(Session Control Protocol)とrsyncを使ってネットワーク全体でファイルを移動できる。「Google Drive」「Dropbox」「Amazon Simple Storage Service」(Amazon S3)など、複数の人気のクラウドストレージ製品もサポートしている。

 この分野には多くの選択肢がある。いずれにせよ、行動を起こす前にDockerのベストプラクティスを一読してほしい。最も悲惨な方法で大失敗するのはあまりにもたやすい。そうなれば、コンテナやボリュームが破損する羽目になり、大変頭の痛い事態を招くだろう。

Copyright © ITmedia, Inc. All Rights Reserved.

新着ホワイトペーパー

市場調査・トレンド SUSE ソフトウエア ソリューションズ ジャパン株式会社

ベンダー依存から脱却、柔軟かつ統合的なLinux環境を構築する方法とは?

エンタープライズ向け技術は、Linuxを中核に据え、オープンソースで動作しているものが多い。しかし近年、一部のベンダーが契約による囲い込みを強めており、ベンダーロックインのリスクが高まっている。安定したLinux運用を実現するには?

製品資料 株式会社野村総合研究所

運用効率化に欠かせないITSMツール、ノンカスタマイズが正解とは限らない?

ITサービスへの要求は年々増大しており、その対応を手作業でカバーするには限界がある。そこで導入されるのがITSMツールだが、特に自動化機能には注意が必要だ。自社に適した運用自動化や作業効率化を実現できるのか、しっかり吟味したい。

製品レビュー 株式会社クレオ

現場でカスタマイズ可能なITシステム、コストと時間をかけずに実現する方法とは

業務効率を高めて生産性を向上させるために、多くの企業がITシステムの導入を進めている。しかし、自社の業務に合わないITシステムを導入してしまっては、逆に生産性が低下する可能性も高い。この問題をどう解決すればよいのだろうか。

製品レビュー グーグル合同会社

重要なエンドポイントを守る、Chromeブラウザを企業向けに安全性を強化する方法

世界中で広く利用されているChromeブラウザは、業務における重要なエンドポイントとなっているため、強固なセキュリティが必要となる。そこでChromeブラウザを起点に、企業が安全にWebへのアクセスポイントを確立する方法を紹介する。

製品資料 グーグル合同会社

Chromeの拡張機能:企業における今求められる管理戦略とは

Google Chromeの拡張機能は生産性の向上に不可欠な機能であり、ユーザーが独自にインストールできる一方、IT管理者を悩ませている。ユーザーデータを保護するためにも、効率的な運用・監視が求められるが、どのように実現すればよいのか。

From Informa TechTarget

いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは

いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは
遠隔のクライアント端末から、サーバにあるデスクトップ環境を利用できる仕組みである仮想デスクトップ(仮想PC画面)は便利だが、仕組みが複雑だ。仮想デスクトップの仕組みを基礎から確認しよう。

ITmedia マーケティング新着記事

news025.png

「マーケティングオートメーション」 国内売れ筋TOP10(2025年5月)
今週は、マーケティングオートメーション(MA)ツールの売れ筋TOP10を紹介します。

news014.png

「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年4月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。

news046.png

「ECプラットフォーム」売れ筋TOP10(2025年4月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。