share facebook facebook twitter menu hatena pocket slack

2015.01.16 FRI

consul-template と dnsmasq でラウンドロビン

川原 洋平

WRITTEN BY 川原 洋平

とりあえずのメモの cloudpackかっぱ (@inokara) です。

目的

  • こちらの記事の続編
  • hosts に登録された HAProxy ノードにラウンドロビンでアクセスさせる
  • dnsmasq にアクセスさせることで ConsulAmazon Route53 への負荷の軽減とレスポンスの向上を図る

メモ

dnsmasq のインストール

yum -y install dnsmasq
chkconfig --level 3 dnsmasq on

dnsmasq のセットアップ

cat << EOT > /etc/dnsmasq.conf
strict-order
addn-hosts=/etc/add_hosts
expand-hosts
domain=your_domain.internal
EOT

/etc/resolv.conf の修正

; generated by /sbin/dhclient-script
search your_domain.internal
nameserver 127.0.0.1
nameserver xxx.xxx.xxx.2

上記を既存の nameserver 行の上に設置。

resolv.conf を上書きされないようにする

/etc/sysconfig/network-scripts/ifcfg-eth0

に以下を追記。

PEERDNS=no

network を再起動。

service network restart

テンプレートファイルの修正

/etc/add_hosts.ctmpl

を以下のように作成。

{{range service "service_name"}}
{{.Address}} service_name {{.Node}}{{end}}

consul-template の再起動

consul-template -consul 127.0.0.1:8500 -template "/etc/add_hosts.ctmpl:/etc/add_hosts:service dnsmasq restart" &

確認

cat /etc/add_hosts
ping -c 1 service_name
dig service_name

とりあえず…

メモでした。

元記事はこちらです。
consul-template と dnsmasq でラウンドロビン

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。