etcd とは?

etcd

etcd最新情報

NRIのOpenStandiaが提供するetcd最新情報

OSSの保守サポートサービスの内容はこちら OSSの導入については、こちらのフォームからお問い合わせ下さい OSS全般の事例紹介はこちら

etcdバージョンアップ情報

すべてを見る

更新日:2022-12-24

etcdの概要

etcd(エトセディー)は、分散型Key-Valueストアを実現するためのオープンソースです。
元々はContainer Linux(旧称:CoreOS Linux)において、クラスタメンバー間で信頼性の高いデータ共有を実現するための設定レジストリとして開発されました。2020年11月にgraduatedプロジェクトとなっており、今後も多くの活用が見込まれるOSSです。

etcdでは、Raftと呼ばれるアルゴリズムを利用されます。Raftアルゴリズムでは、クラスタメンバーは、自律的に一意のリーダーを投票から選出し、それ以外はフォロワーという役割を担うようになります。クライアントからのリクエストはどのメンバーに送信してもかまいませんが、コンセンサスが必要なリクエスト(値の更新など)は必ずリーダーに転送されて実行されるようになります。リーダーは値の更新が過半数以上のフォロワーで成功したかを確認した上で、その更新リクエストをコミットして応答を返します。一方、コンセンサスが不要なリクエストはどのクラスタメンバーでも応答を返すことができます。上記のような、自律的なリーダーの選出やコンセンサスの仕組みにより、データの一貫性の保持や信頼性の高いレプリケーションが実現します。Raftアルゴリズムの仕組み上、過半数を獲得したかどうかという概念が重要となるため、クラスタのメンバー数は必ず奇数にしておくこと、7ノード以下の構成が推奨されます。

etcdは、Kubernetesにおけるコントロールプレーンのクラスタ設定レポジトリとして利用されていることで有名です。また、同じCNCFのgraduatedプロジェクトであるROOKやCoreDNSでも利用されています。

TOPに戻る

etcdの特徴

シンプルなインターフェース curlなどの標準のHTTPクライアントを使用して、値を読み書きすることが可能です。
充実したツールおよびライブラリ 標準のetcdctl以外にも多数のコマンドラインツールおよび言語用ライブラリが公開されています。
階層型Key-Valueストレージ 標準のファイルシステムのように、階層的に編成されたディレクトリにデータを保存します。
変更のウォッチ 特定のキーまたは、ディレクトリの変更を監視して、値の変更に対応することが可能です。
認証・認可 通常のユーザー認証に加え、SSLクライアント証明書の認証等も可能です。また、ロールにより、特定のKeyの読み書きを制御するなどの認可も可能です。
優れたベンチマーク インスタンスあたり1000回/秒の書き込みが可能です。
有効期限 キーにTTLを設定することが可能です。
Raftアルゴリズム Raftという分散同意アルゴリズムを利用した一貫性/可用性のあるレプリケーションが可能です。
統計情報出力 統計情報のレポートはPrometheus形式で、サーバー、ディスク、ネットワーク、gRPC、デバッグ用のネームスペースごとに出力されます。

TOPに戻る

etcdの動作環境

動作環境により、Support tierが異なります。

  • Tier 1: etcd メンテナーによって完全にサポートされています。etcd は、機能テストやストレステストを含むすべてのテストに合格することが保証されています。
  • Tier 2: etcd は、統合およびエンド ツー エンドのテストに合格することが保証されていますが、必ずしも機能テストまたはストレス テストに合格するとは限りません。
  • Tier 3: etcd はビルドが保証されており、軽くテストされている (またはテストされていない) 可能性があるため、不安定であるとみなす必要があります。
Architecture Operating system Support tier
AMD64 Linux 1
AMD64 Linux 3
AMD64 Darwin 3
AMD64 Windows 3
ARM Linux 3
386 Linux 3
ppc64le Linux 3
s390x Linux 3
参考:https://etcd.io/docs/v3.5/op-guide/supported-platform/

TOPに戻る

類似の機能をもつOSS

類似機能をもつOSSとして、下記のものがあります。

  • ZooKeeper
  • Consul
  • Cloud Spanner
  • CockroachDB
  • TiDB
参考:https://etcd.io/docs/v3.5/learning/why/#comparison-chart

TOPに戻る

etcdのライセンス

etcdは、Apache2.0ライセンスです。 Apache License(アパッチ・ライセンス)のコードが使用されていることの明記を条件に、ソースコードの自由な改変と公開が認められています。
etcdのライセンスについてご不明な点がありましたら、お気軽にお問い合わせください。

TOPに戻る

etcdの公式サイト

https://etcd.io/

TOPに戻る

etcdのダウンロードサイト

https://github.com/etcd-io/etcd/releases/

TOPに戻る

etcdのサポート

NRIではお客様のご要望に応じて様々な支援ができるサービスをご用意しました。
詳細は下記ページをご確認ください。

・オープンソース年間サポートサービス

TOPに戻る

OpenStandiaに関する
資料請求・お問い合わせはこちら

  • 資料請求
  • お問い合わせ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

  • OpenStandiaサポート対象オープンソース|50種類以上のOSSのサポートをご提供します。
  • 人気midPoint
  • 人気Keycloak
  • 注目MongoDB
  • ForgeRock AM(OpenAM)
  • ForgeRock IDM(OpenIDM)
  • MongoDB
  • Postfix
  • Apache HTTP Server
  • ZABBIX
  • PostgreSQL
  • Apache Struts
  • Apache Kafka
  • Apache Hadoop
  • Apache Spark
  • Spring Framework
  • Apache Tomcat
  • Solr
  • iBATIS
  • DRBD
  • MySQL
  • JBoss
  • Ruby on Rails
  • Jaspersoft
  • OpenLDAP
  • Apache log4j
  • Apache Subversion
  • ForgeRock DS(OpenDJ)
  • Pacemaker
  • Samba
  • Red Hat Enterprise Linux
  • Nginx
  • BIND
  • Dovecot
  • Pentaho
  • sendmail
  • Courier-IMAP
  • ForgeRock DS(OpenDJ)
  • Heartbeat
  • Hibernate
  • Hinemos
  • MyBatis
  • MySQL Cluster
  • Apache Axis2
  • Squid
  • OpenSSO