トラシュー事例(上級編)
参照系のデータベースアクセスが負荷分散されない
参照系のデータベースアクセスが負荷分散されない
問題発覚と環境説明
AWSのサービスの中にはEC2のようなサービスのほかに,
次のトラブルは図2のような構成のシステムで発生しました。Web/
監視サーバは負荷分散されていないRDSの障害は検知しておらず,
原因調査と対策例
初級編のトラブルではメンテナンス拠点からサーバへの接続に関する問題でしたが,
今回の場合はHAProxy経由でRDSにアクセスしている構成となるため,
図3 HAProxyが出力するログ
Feb 6 16:58:45 localhost haproxy[10512]: Server mysql/read1 is DOWN, reason: Layer4 connection problem, info: "Connection refused", check duration: 2ms. 1 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue.
図4 MySQLクライアントでHAProxyを経由してアクセス
$ mysql -u root -p -h 127.0.0.1 -P 3306 Enter password: ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
HAProxyのログは,
今回の場合も監視サーバからは障害を検知していませんが, ここまでの内容をまとめると, 図5の例はWebサーバ内でtcpdumpコマンドを実行し, 図5 tcpdumpコマンドを実行し, エンドポイントを名前解決した結果 図6 RDSの接続先をdigコマンドで名前解決 このようなミスマッチで通信に影響が出る場合もありますので, 今回の構成ではRDS側のローカルIPアドレスが変更される可能性が考慮されておりませんでしたが, トラブルシューティングをする場合の基本的な方針はオンプレミスでもクラウドでもあまり大きな差はありませんので, 2022年6月17日発売ip-10-0-1-76.
というのはRDSにローカル通信した場合の接続先であり,
$ sudo tcpdump dst port 3306
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
15:04:59.745944 IP ip-10-0-0-21.ap-northeast-1.compute.internal.34921 > ip-10-0-1-76.ap-northeast-1.compute.internal.mysql: Flags [S], seq 188805037, win 17922, options [mss 8961,sackOK,TS val 265836392 ecr 0,nop,wscale 7], length 0
$ dig rds-slave02.a1b2c3d4f5g6.ap-northeast-1.rds.amazonaws.com any
; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7_0.1 <<>> rds-slave02.a1b2c3d4f5g6.ap-northeast-1.rds.amazonaws.com.com any
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 413
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;rds-slave02.a1b2c3d4f5g6.ap-northeast-1.rds.amazonaws.com. IN ANY
;; ANSWER SECTION:
rds-slave02.a1b2c3d4f5g6.ap-northeast-1.rds.amazonaws.com. 5 IN A 10.0.1.32
;; Query time: 4 msec
;; SERVER: 10.0.0.2#53(10.0.0.2)
;; WHEN: 月 2月 09 16:12:13 JST 2015
;; MSG SIZE rcvd: 107
本誌最新号をチェック!
Software Design 2022年7月号
B5判/
定価1,342円
Vimの基本大全
どんな状況でも通用するviの使い方からしっかりと!
ソフトウェア開発のシン常識
ツール,
Pythonの最新情報をお届け!
PyCon US 2022レポート
MySQL×機械学習 HeatWave MLが変えるデータ活用のかたち
MySQLで学ぶ文字コード
新生