AWS CloudfFrontでエラー「the request could not be satisfied Bad request」
こんにちは。
今回はAWS cloudforntのトラブル対応記事です。
仕事で運用しているサイトが、下記の事象にぶち当たったので、メモします。
一般的に名前解決で「www.google.com」を解決する場合、下記の流れとなります。
(1)ルートドメインに問い合わせる。
問合せ:「www.google.com」知ってる?
回答 :知らんけど「com」ドメインを管理してる奴は知ってる
→NSレコードの「com」管理のネームサーバを回答する
(2)comドメインを管理しているネームサーバへ問い合わせる
→NSレコードの「google.com」管理のネームサーバを回答する
digの「+trace」オプションをつけると、
上記の流れに沿った形で、どこで名前解決が止まるかがわかるため、
どこで設定がミスしているかが分かり易かったです。
例えば、存在しない「wwww.google.com」を名前解決してみるとします。コマンド「dig +trace wwww.google.com」です。
下記の結果で42行目で、「google.com」までしかたどり着いておらず、
「wwww.google.com」まで行き着いていないのがわかるかと思います。
dig +trace wwww.google.com|nl
今回はAWS cloudforntのトラブル対応記事です。
仕事で運用しているサイトが、下記の事象にぶち当たったので、メモします。
事象
事象としては、下記のようなエラーがいきなり出るようになったというものです。
the request could not be satisfied
Bad request
原因
サイトの名前解決ができなくなっていました。
digやnslookupコマンドでの名前解決ができず、
whoisで更新日
(Updated Date)を確認したところ、
事象発生時のほぼ数時間前ぐらいに作業がされていました。
レジストラ(○名前.comとか)に 問い合わせたところ、
先方の作業ミスがあったっぽく、名前解決ができていない状態となっていました。
トラブル調査に役立ったこと
ちなみに、digの「+trace」オプションをつけると、
ルートディレクトリから順番に名前解決をトレースしてくれるため
どこで名前解決がストップしているかがわかります。
例 dig +trace www.google.com
一般的に名前解決で「www.google.com」を解決する場合、下記の流れとなります。
(1)ルートドメインに問い合わせる。
問合せ:「www.google.com」知ってる?
回答 :知らんけど「com」ドメインを管理してる奴は知ってる
→NSレコードの「com」管理のネームサーバを回答する
(2)comドメインを管理しているネームサーバへ問い合わせる
問合せ:「www.google.com」知ってる?
回答 :知らんけど「google.com」ドメインを管理してる奴は知ってる→NSレコードの「google.com」管理のネームサーバを回答する
(3)google.comドメインを管理しているネームサーバへ問い合わせる
問合せ:「www.google.com」知ってる?
回答 :知ってる。IPは「xxx.xxx.xxx.xxx」です〜。digの「+trace」オプションをつけると、
上記の流れに沿った形で、どこで名前解決が止まるかがわかるため、
どこで設定がミスしているかが分かり易かったです。
例えば、存在しない「wwww.google.com」を名前解決してみるとします。コマンド「dig +trace wwww.google.com」です。
下記の結果で42行目で、「google.com」までしかたどり着いておらず、
「wwww.google.com」まで行き着いていないのがわかるかと思います。
dig +trace wwww.google.com|nl
1 ; <<>> DiG 9.9.7-P3 <<>> +trace wwww.google.com 2 ;; global options: +cmd 3 . 405358 IN NS a.root-servers.net. 4 . 405358 IN NS b.root-servers.net. 5 . 405358 IN NS c.root-servers.net. 6 . 405358 IN NS d.root-servers.net. 7 . 405358 IN NS e.root-servers.net. 8 . 405358 IN NS f.root-servers.net. 9 . 405358 IN NS g.root-servers.net. 10 . 405358 IN NS h.root-servers.net. 11 . 405358 IN NS i.root-servers.net. 12 . 405358 IN NS j.root-servers.net. 13 . 405358 IN NS k.root-servers.net. 14 . 405358 IN NS l.root-servers.net. 15 . 405358 IN NS m.root-servers.net. 16 ;; Received 811 bytes from 192.168.10.1#53(192.168.10.1) in 11 ms 17 com. 172800 IN NS c.gtld-servers.net. 18 com. 172800 IN NS m.gtld-servers.net. 19 com. 172800 IN NS g.gtld-servers.net. 20 com. 172800 IN NS a.gtld-servers.net. 21 com. 172800 IN NS d.gtld-servers.net. 22 com. 172800 IN NS h.gtld-servers.net. 23 com. 172800 IN NS k.gtld-servers.net. 24 com. 172800 IN NS l.gtld-servers.net. 25 com. 172800 IN NS e.gtld-servers.net. 26 com. 172800 IN NS b.gtld-servers.net. 27 com. 172800 IN NS f.gtld-servers.net. 28 com. 172800 IN NS j.gtld-servers.net. 29 com. 172800 IN NS i.gtld-servers.net. 30 com. 86400 IN DS 30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766 31 com. 86400 IN RRSIG DS 8 1 86400 20180303050000 20180218040000 41824 . e4mOupNuYWJ+LTY5y6ZRQVx/c94FwZQ+vAa3PPrLa3CPOXJcVcs0lXju cWF6IEczarWIfNpfivvjEGVOD/2HjYwZfDDg4Sr1+wYcIfxlRNOV6aH+ 7T79d9dVLpjdBgzVlnv0dL+e6BZDxRT5fKMJQ35t+yVDFCOiEFUreaeg v99MGChSnNi72m8oMWhFWOERsJx9MsypgesKc19S4JmLYAJ+1sitKIVu C49/8Koqtk0DiWFlyx8Aay03VtlSTA7iPNB4fBoJiZsq3rV2gnZaNFoJ YXVZlZh10NcG0w0b65WJ37e3Oau7BE+jjxlTCN8Tslkq2ZhTVN1d5hUK XtsxjA== 32 ;; Received 1175 bytes from 192.36.148.17#53(i.root-servers.net) in 20 ms 33 google.com. 172800 IN NS ns2.google.com. 34 google.com. 172800 IN NS ns1.google.com. 35 google.com. 172800 IN NS ns3.google.com. 36 google.com. 172800 IN NS ns4.google.com. 37 CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN NSEC3 1 1 0 - CK0Q1GIN43N1ARRC9OSM6QPQR81H5M9A NS SOA RRSIG DNSKEY NSEC3PARAM 38 CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN RRSIG NSEC3 8 2 86400 20180225054804 20180218043804 46967 com. vvxe628HQa7sONZv2L/ptP74rr2WW1HxmxvlM3WTPHCmsTN+UIBOo90Z 1nksPuV5FYcve0LrAMjA/ymC+53qe6evfYq8tSzztmDju08vB9aHdEbl HcLhye4Uto6aolUS8vKHuavugWlXEzC/sblUdn1LXXfymspW8vEzOdx2 PV4= 39 S848U70KJDCTE8UH1N07QH2EK7LNOUC6.com. 86400 IN NSEC3 1 1 0 - S84CEFMDU6ABFSN4V0L2VLLOASCD5IV2 NS DS RRSIG 40 S848U70KJDCTE8UH1N07QH2EK7LNOUC6.com. 86400 IN RRSIG NSEC3 8 2 86400 20180223055059 20180216044059 46967 com. cOGkkHKLaftNhuKP7FzJzIAlLIHXvdx68hEyMGVTsNm5pyuy1gDFheKn KrR47y8UYjVK0eiSYCvEpVxh6SicNa/Ja+zyCLnphrcuSLEP1eHMKMZw 0ThMiix6Bb2xLv2UjljonmOfs65QGDuGoB4XIzXgR6yYtmzV9jdDRd8C Nhg= 41 ;; Received 693 bytes from 192.48.79.30#53(j.gtld-servers.net) in 63 ms 42 google.com. 60 IN SOA ns1.google.com. dns-admin.google.com. 186132518 900 900 1800 60 43 ;; Received 83 bytes from 216.239.36.10#53(ns3.google.com) in 48 msこんな感じで、レジストラ(○名前.comとか)が
作業ミスしているのが分かりました。
皆さんも良かったら便利なオプションなので使って見てください。
コメント
コメントを投稿