クラウド
上級

etcdエトシーディー

CoreOS 2013年OSS化した分散Key-Valueストア。Raft合意プロトコル+gRPC+Kubernetes基盤+CNCF Graduated 2018年2月。

0 回閲覧
0 いいね
2026/5/10 更新
関連タグ
etcd
Brandon Philips
2013
CoreOS
Raft
Kubernetes
CNCF
分散KVストア

概要

etcd("et see dee"発音)は、Brandon Philips+CoreOSチーム(後Red Hat 2018年買収)が2013年8月にOSS化した分散Key-Valueストアで、Raft合意プロトコルDiego Ongaro+John OusterhoutStanford大学2014年論文)+gRPC API+watchストリームを実装した現代Kubernetes基盤+クラウドネイティブインフラの中核。命名由来はLinux /etc ディレクトリ(システム設定保管場所)+distributed分散etc=etcdCNCF Graduated Project 2018年2月で業界標準化、Kubernetes(CNCF Graduated 2018年3月)のetcd cluster必須コンポーネントとして2014年Kubernetes誕生から2026年現在まで全Kubernetes クラスタの中央メタデータストアとして機能。主要技術: ①Raft合意プロトコル(Leader Election+Log Replication+Safety保証)、②gRPC API(HTTP/2+Protocol Buffers高速通信)、③Watch streaming(リアルタイムKey変更通知)、④Multi-Version Concurrency Control(MVCC)+スナップショット、⑤Lease機能(TTL付きKey、Service Discovery対応)、⑥Auth+RBAC(Role-Based Access Control)、⑦5-7 nodeクラスタ(Raft合意過半数耐障害性、Kubernetesは推奨3 node)。Kubernetes統合: Kubernetes API Server→etcd直接保管+Pod/Service/Deploymentメタデータ全保管+クラスタ状態管理。主要採用: Kubernetes(業界事実上標準)+OpenShift+Rancher+EKS+GKE+AKS等の全Kubernetesディストリビューション+累計Kubernetes累計60%+運用世界企業がetcd直接活用etcd 3.5(2021年)→3.6(2024年Q4最新世代)と継続発展、Confidential Computing対応+TLS 1.3+OpenTelemetry統合等の最新機能継続。

主な特徴・仕組み

  • 種類: 分散Key-Valueストア
  • OSS化: 2013年8月(CoreOS)
  • 命名由来: Linux /etc + distributed
  • 合意プロトコル: Raft
  • API: gRPC(HTTP/2+Protocol Buffers)
  • 主要機能: Watch+MVCC+Lease+Auth+RBAC
  • CNCF Graduated: 2018年2月
  • Kubernetes基盤: 必須コンポーネント
  • 推奨クラスタ: 3-7 nodes(過半数耐障害性)
  • 累計採用: 全Kubernetes ディストリビューション+Fortune 500企業

スペック比較表

KVストアOSS化合意用途
etcd2013/08RaftKubernetes基盤
Apache ZooKeeper2008ZABHadoop+Kafka
Consul2014/04RaftService Discovery
Redis Cluster2015GossipCache
TiKV2018RaftTiDB分散DB

具体例・対応製品

  • etcd 0.x(2013年8月初期OSS、CoreOS)
  • etcd 1.0(2014年)
  • etcd 2.0(2015年、Raft+JSON API)
  • etcd 3.0(2016年、gRPC+MVCC+Lease)
  • CNCF Graduated(2018年2月)
  • etcd 3.5(2021年)
  • etcd 3.6(2024年最新)
  • 採用 Kubernetes(2014年-現在、必須)
  • 採用 OpenShift+Rancher+EKS+GKE+AKS

自作PCでの選び方・注意点

etcdは完全にエンタープライズ・Kubernetes基盤用途で、自作PC一般用途とは別世界。自宅・ホームラボでのetcd学習: ①etcdctl コマンドラインツール(公式CLI)、②Docker Compose+etcd 3-node cluster(最小構成)、③Minikube/Kind/k3s等の開発Kubernetesでetcd内蔵学習、④Raft合意プロトコル理解(Stanford論文+解説書)+etcd Raft visualizer(ヴィジュアライザツール)でアルゴリズム学習。実装ベストプラクティス: ①3 node最小+5-7 node推奨、②HDD非推奨+NVMe SSD必須(fsync性能依存)、③専用network+専用disk(共有資源避ける)、④Backup+Restore戦略(etcdctl snapshot save/restore)、⑤TLS暗号化必須+RBAC設定で本番運用安全性確保。

関連用語との違い

Apache ZooKeeper(2008年OSS、Hadoop Foundation)はetcdの直接前世代+先行者で、ZAB合意プロトコル+Java実装+Apache Kafka基盤、etcdはGo実装+Raft+gRPCで軽量+モダン化。HashiCorp Consul(2014年OSS)はetcdの同時代競合+Service Discovery特化+Multi-DC対応で住み分け。Redis Cluster(本batch同時登録)はGossipプロトコル+Cache特化で全く異なる用途。TiKV(2018年OSS、PingCAP)はetcd派生でTiDB分散DB基盤特化。

よくある質問(FAQ)

Q1: なぜetcdがKubernetes基盤? A: ①Brandon Philips+CoreOSチームのKubernetes 2014年初期から協業、②Raft合意プロトコルの安定性・耐障害性、③gRPC+Watch streamingでKubernetes API高速応答、④Lease機能でServer Health Check統合、⑤CNCF全体でetcd+Kubernetes統合エコシステム、の5要素複合で2014-2026年事実上業界標準として確立。

Q2: ZooKeeperから何が変わった? A: ①Java→Go言語、②ZAB→Raft(証明可能な安全性)、③カスタムプロトコル→gRPC(HTTP/2+Protocol Buffers)、④軽量+運用シンプル化、⑤Cloud Native Computing Foundation(CNCF)統合、の5点でモダン化+クラウドネイティブ化。

Q3: 自宅で学習するには? A: ①Minikube+kubectl+etcdctl(最小学習)、②Docker Compose+etcd 3-node(クラスタ理解)、③kubeadm+VM 3台でKubernetes本格構築(中級)、④Raft Visualizer+Stanford論文(理論学習)、の4段階推奨。

まとめ

  • CoreOS 2013年8月OSS化・分散Key-Valueストア
  • Raft合意プロトコル+gRPC+Watch streaming
  • CNCF Graduated 2018年2月・Kubernetes基盤
  • 全Kubernetesディストリビューション標準採用
  • 命名由来: Linux /etc + distributed
この記事について
カテゴリークラウド
難易度上級
作成日2026/5/10