Carpe Diem

備忘録

Consul

bindアドレスとadvertiseアドレス

概要 ConsulやVaultのクラスタ構成をしていると bind address advertise address という2つのアドレスを設定する必要が出てきます。 この2つをしっかり理解しておかないとクラスタ構成で思わぬ落とし穴にハマったりするので今回はこれを紹介します。 bind…

Consulクラスタをアップグレードした時に起きた問題と対応

概要 先日Consulクラスタのアップグレードをしたところちょこちょこ問題にぶち当たって解決に時間がかかったので、同じ症状に遭ったりした人用にメモ。 環境 Consul 1.1.0 -> 1.2.2 Ubuntu 16.04 問題背景 Consulはクライアントエージェントが追加されたり死…

Consulを支える技術

概要 ConsulではSWIMやRaftといった技術を使っています。 今回はそれらを説明します。 環境 Consul 1.1.0 SWIM Gossip Protocol SWIMはGossip Protocolの一種で、主に クラスタのメンバ管理機能 メンバの障害検出機能 イベント伝播 で使われています。

ECS + awsvpc + Consul でService Discovery

概要 ECS + awsvpc + Consul でService Discoveryができるようにします。 最終的にConsulにDNS問い合わせすることでECSのコンテナのIPを知ることができるようにします。 環境 Consul 1.1.0 Task Definition 結論を先にいうと以下のようになります。 [ { "nam…

Consulで各サービスのコンテナ群のIPを取得する

概要 以前Consulの基本的な使い方を紹介しました。 christina04.hatenablog.com このConsulに登録する各ノードに対しサービス設定をすることで、各マイクロサービスに所属しているコンテナ群のIPを取得できるようします。 それによってgRPCでの負荷分散とし…

Consulを使ってみる

概要 Consulというサービス・ディスカバリツールを使います。 クラウド時代ではオートスケールなどサーバの台数やIPが変動することが多いため、動的に検知できる必要がありConsulはそのためのツールです。 またConsulを通してどのサーバ上でどのようなサービ…