マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】Consul

【OSS情報アーカイブ】Consul

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「Consul」とは

基本情報

概要

Consul(コンサル/コンスル)とは、クライアントサーバ型のクラスタ管理ツールです。同様ツール「Serf」よりも汎用的で、サービス検出(ヘルスチェック)用途などにも活用できます。

基本説明

Consulは、「サービス検出と設定のためのソリューション」とされているクラスタ管理ツールです。

各種サービス(Web、データベース、メール、各種デーモンなど)の監視とヘルスチェックを行い、キーバリューストアを通じて情報を提供します。

サービスの状況変化をトリガーとして、さまざまな自動処理への応用が可能です。

経緯

Consulは、クラスタ管理ツール「Serf」などを開発しているHashicorp社によるオープンソースプロダクトです。
2014年春に初リリースされました。

「Serf」と「Consul」の関係

「Consul」は、「Serf」と同様の機能に加え、サービス監視をしやすい機能を備えている点が特徴です。

ポイント

・汎用的クラスタ管理ツール
Go言語実装
・クライアントサーバ型
・サーバはキーバリューストアを保持し、複製が可能
・HTTPインターフェース+DNSインターフェース
・サービス検出/設定が容易
・高可用性
・データセンタークラスに対応できるスケール性能

主な特徴

インストール

対象となる各サーバにエージェントを配置するだけで、インストール完了です。

クライアント・サーバ型

エージェントには、「サーバ用エージェント」と「クライアント用エージェント」の2種類があります。
・「サーバ用エージェント」がクラスタを形成
・「クライアント用エージェント」は、受け取ったリクエストの処理を「サーバ用エージェント」に委託

スケーラブル(マルチデータセンタ対応)

複数のConsulサーバが、ネットワークをまたがったクラスタを構築できます。

そのため、複数のデータセンターをまたがるような巨大なクラスタにも対応できます。

メンバー管理機能

クラスタのメンバー管理機能として、Serfと同様な機能を有しています。

サービス検出機能

Consulは各種サービス管理を行います。「クラスタ内のどのサーバでどのようなサービスが稼働しているか」「それは正常動作しているのか」を管理できます。

「このサービスはどのサーバで動いているのか?」などの問い合わせも可能です。

障害検知(ヘルスチェック)機能

「サービス検出(ヘルスチェック)機能」で、障害発生時の自動対応が可能です。

キーバリューストレージ

Consulサーバには、シンプルなキーバリューストアが内包されています。

「システム領域」と「ユーザ領域」があり、さまざまな用途に利用できます。

REST API

REST APIを通してキーバリューストア情報の取得/編集が可能です。

DNS API

DNSインターフェースを備えており、ホスト名の名前解決が可能です。

WebUI

視覚的にサービス状態を参照できるWebUIが用意されています。

同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Apache Mesos」「Pacemaker」など。

ライセンス情報

Consulのライセンスは「Mozilla Public License Version 2.0」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

ダウンロード

ダウンロードページ

参考元サイト

・Consul
・POCKETSTUDIO.JP LOG3 →Consulを使ってみた
・GREE Engineers' Blog →オーケストレーション入門 – 多種多様化するサービスをConsulで連携させる
・Gunosy Tech Blog →3分でまとめ読むSerfとConsulの基本機能
・gihyo.jp →Serf/Consulで管理を自動化! ~実践的な手法を紹介~ →第4回 Consulのサービス検出と様々なインターフェース
・ぺーぺーSEのブログ →Consul入門

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

この記事のタグ一覧

おすすめの記事

【IT用語解説】「 デジタルヒューマン 」とは😊

IT用語解説

2024.01.26

【IT用語解説】「 デジタルヒューマン 」とは😊

【IT用語解説】「 デジタルヒューマン 」として、「デジタルヒューマンとは何か?」「どのようにして作成できるのか?」「私たちの世界にどのような影響を与えているのか?」などについて、まとめています。

【トレンド解説】超入門「 スマートファクトリー 」🏭

トレンド解説

2024.04.15

【トレンド解説】超入門「 スマートファクトリー 」🏭

「 スマートファクトリー 」への理解を深めるための解説として、初心者向けにわかりやすくまとめた記事です。「新しい工場の概念」「デジタルツインの活用」「IoT技術による最適化」など、現代の製造業に必要な知識を効果的に学べます。 スマートファクトリー の導入によるメリットを具体的に解説しています。