読み方 : イーティーシーディー

etcd

概要

etcdとは、複数のコンピュータが協調して動作する分散システムにおいて、設定情報や状態データを保存・共有するための分散型キーバリューストアKVS)。Kubernetesのバックエンドストレージとして広く知られている。
etcdのイメージ画像

データはキーと値の組み合わせとして管理される。設定値や接続先情報、稼働中のノード一覧といったデータをキーで識別し、対応する値を登録する仕組みである。リレーショナルデータベースのような階層的なテーブル構造は持たず、シンプルな構造で高速なアクセスを実現している。

データAPIを通じて取得や更新ができ、必要な情報を各プログラムが共通して参照できる。値の変更を監視する機能も備えており、設定が更新されると利用中のソフトウェアが変更を検知して動作を切り替えることも可能である。

複数のサーバ間でデータの整合性を保つために、「Raft」と呼ばれる合意形成アルゴリズムを採用している。クラスタを構成するノードの中から一つをリーダーとして選出し、リーダーがデータの書き込みを受け付けて他のノードに複製する。過半数のサーバが正常に稼働していれば処理を継続できるため、ネットワーク障害やサーバの停止が発生した場合でも、データの整合性を維持したまま運用を続けられる。

Kubernetesでは、クラスタ内のノードPod、サービスといった管理情報の保存先としてetcdが採用されている。APIサーバはetcdから必要な情報を取得し、更新内容もetcdに記録する。クラスタ全体の動作がetcdの状態に依存するため、その可用性バックアップが運用上の重要な要素となる。

etcdはもともと2013年に米コアOS(CoreOS)社のエンジニアによって開発が始められた。その後CoreOS社は米レッドハットRed Hat)社に(現IBM社傘下)買収され、現在は業界団体のCloud Native Computing Foundation(CNCF)のプロジェクトとして開発が続けられている。Go言語で実装されており、サービスディスカバリや分散ロック、リーダー選出など、複数のシステムが連携して動作するための基盤としても利用されている。

(2026.7.5更新)
 
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。