Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RDS のトラブル発生に備えて!やっておくべき設定・監視 #jawsdays2021 #jaw...
Search
もっさん
March 20, 2021
Technology
7.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
RDS のトラブル発生に備えて!やっておくべき設定・監視 #jawsdays2021 #jawsdays2021_B
もっさん
March 20, 2021
More Decks by もっさん
See All by もっさん
未経験領域&ぼっちチームに 転生したので、 セルフレトロスペクティブを回している話
_mossann_t
1
87
主催・運営として"場をつくる”というアウトプットのススメ
_mossann_t
0
340
ゼロからわかる!!AWSの構成図を書いてみようワークショップ 問題&解答解説 #デッカイギ #羽田デッカイギおつ
_mossann_t
0
2.3k
組織内のデータ活用の障壁を解消する!? Amazon DataZone のハンズオンをやってみた
_mossann_t
0
430
共通認識を生む、「例え話」のテクニック
_mossann_t
0
630
AWSから届く通知「Abuse Report」の対応 JAWS-UG福岡 #14
_mossann_t
0
3.7k
【ITインフラ基礎】サーバってなんだ?運用の大切さ #devio2022
_mossann_t
0
1.7k
WorkSpacesへのアクセス制限を考える
_mossann_t
0
2.7k
JAWSと出会ったエモい話
_mossann_t
0
560
Other Decks in Technology
See All in Technology
8bit CPU 2026
koba789
7
2.9k
Oracle AI Databaseデータベース・サービス: BaseDB/ExaDB-Dの可用性
oracle4engineer
PRO
1
900
ハッカソンで入賞した話 @ Findy LT
asari194617
0
1.5k
三人寄ればチューリング完全
puhitaku
6
3.2k
顧客の要望は2次情報である 〜アンテナを張るFDEの構造論〜
noriakioji
2
500
コミュニティから始まった農業IoTとの7年間 ——人との関わりが教えてくれたこと
peacemaker07
0
110
1.5時間を無駄にして学んだwsl2におけるaptとsnapの選択と仕組み
yosaka0123
0
440
AI for Science時代を切り開く、政府の次世代HPC戦略の展望
gpuunite_official
0
250
IHV like なユースケースへのOpenID Connect 関連仕様の適用事例
optim
0
270
サービス内で複数のOP・ASを連鎖させる(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
260
医療の現場を変革に挑戦した半年間の軌跡 - PythonとAIで現場を変える / From Code to Care
soudai
PRO
1
620
OAuth SPIFFE Client Authentication(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
270
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
225
10k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
ラッコキーワード サービス紹介資料
rakko
1
4.5M
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
280
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
Building Adaptive Systems
keathley
44
3.2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Transcript
RDSのトラブル発生に備えて! やっておくべき設定・監視
橋本(伊豫谷) 優希 / もっさん Yuki Hashimoto(Iyotani) / mossan Twitter :
@_mossann_t クラスメソッド株式会社 オペレーション部 テクニカルサポートエンジニア 好きなAWS サービス : WorkSpaces , IoT Core ブログhttps://dev.classmethod.jp/author/iyotani-yuki/
本セッションの対象者 • RDS を使い始めたばかりの方 • RDS のモニタリング・ログの設定を行ったことがない方 • モニタリング・ログ設定の重要性を説明する立場の方
今日お話しすること • RDS のモニタリング・ロギング機能の概要 • 各機能の設定手順 お話ししないこと • ログやメトリクスからの切り分け手法 •
サードパーティ社製品の概要や設定方法 • データベースのチューニング
突然ですが
RDSがなんだかおかしい!!! ……といった場面に遭遇したことはありますか?
「なんだかおかしい」の具体例 • 応答遅延 • 応答してない • アプリケーションやWEBサーバとの接続断 • 再起動
調査しようとしたけれど…… • RDS のCloudWatch 標準メトリクスには EC2でいう「StatusCheckFailed」がない →システム側(AWS基盤側)の問題なのか、インスタンス内部の問題なのかは CloudWatch 標準メトリクスの値からは読み取りにくい •
CPU使用率が高い理由は CloudWatch だけではわからない (処理が重いクエリのせい ? メンテナンス? 他の原因?) • メモリ使用率はCloudWatch 標準メトリクスでは取得できない
原因が不明 = 改善できない
RDS のモニタリング・ログ機能は CloudWatch 標準メトリクスだけではない! • Performance Insights • 拡張モニタリング •
スロークエリログ • RDS イベントに対する通知
RDS のモニタリング・ログ機能は CloudWatch 標準メトリクスだけではない! • Performance Insights • 拡張モニタリング •
スロークエリログ • RDS イベントに対する通知
Performance Insights • DB への負荷がグラフで可視化できる • 以下のことがわかる • アクティブなセッション数 (DBのレスポンス待ちの接続数
) • 待機イベント(ボトルネックになっているイベント ) • DB への負荷が高いクエリ • 最大 vCPU 値 参考:Performance Insights の概要 - Amazon Relational Database Service https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_PerfInsights.Overview.html
Performance Insights • RDS コンソールから RDS インスタンスを作成する場合、デフォルトで有効になっている • 作成時にPerformance Insights
を有効化していなかった場合も、後から有効化できる • データの保持期間を選択できる • 7日間(無料枠あり) • 2年間(長期保存) 参考: Performance Insights の有効化と無効化 - Amazon Relational Database Service https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_PerfInsights.Enabling.html 料金 - Performance Insights | AWS https://aws.amazon.com/jp/rds/performance-insights/pricing/
Performance Insights • RDS コンソールの場合:[データベース] - 対象DBインスタンスを選択 - [変更]
Performance Insights • AWS CLI の場合:rds modify-db-instance コマンド 参考:Performance Insights
の有効化と無効化 - Amazon Relational Database Service https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_PerfInsights.Enabling.html aws rds modify-db-instance \ --db-instance-identifier sample-db-instance \ —enable-performance-insights
RDS のモニタリング・ログ機能は CloudWatch 標準メトリクスだけではない! • Performance Insights • 拡張モニタリング •
スロークエリログ • RDS イベントに対する通知
拡張モニタリング • メモリ使用率など、OSからのメトリクスを取得できる • どのプロセスやスレッドで CPUが使われているのかわかる • CloudWatch Logs にデータが保存できる
参考:拡張モニタリングの使用 - Amazon Relational Database Service https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html
拡張モニタリング • [データベース] - 対象データベースを選択 - [変更] -モニタリング
RDS のモニタリング・ログ機能は CloudWatch 標準メトリクスだけではない! • Performance Insights • 拡張モニタリング •
スロークエリログ • RDS イベントに対する通知
スロークエリログ • 実行に時間がかかっているクエリを記録することができる • 閾値は自分で設定することができる (デフォルトは10秒) • パラメータグループの値を変更することで設定可能 参考:拡張モニタリングの使用 -
Amazon Relational Database Service https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html
スロークエリログ • [パラメータグループ] - [編集] - slow_query_log の値を 1にする 参考:MySQL
を実行している Amazon RDS DB インスタンスのログを有効にしてモニタリングする https://aws.amazon.com/jp/premiumsupport/knowledge-center/rds-mysql-logs/
スロークエリログ 設定するパラメータ 参考:MySQL を実行している Amazon RDS DB インスタンスのログを有効にしてモニタリングする https://aws.amazon.com/jp/premiumsupport/knowledge-center/rds-mysql-logs/ slow_query_log
有効 (1) / 無効(0) Long_query_time 実行時間の閾値(秒) slow_query_log_file ログファイルパス
スロークエリログ 設定の注意点 設定の反映に再起動が必要になる場合がある • パラメータグループの入れ替えを行う場合 (デフォルトのパラメータグループの値は変更できない ) • 変更した値の「適用タイプ」が static
の場合 参考:MySQL を実行している Amazon RDS DB インスタンスのログを有効にしてモニタリングする https://aws.amazon.com/jp/premiumsupport/knowledge-center/rds-mysql-logs/
RDS のモニタリング・ログ機能は CloudWatch 標準メトリクスだけではない! • Performance Insights • 拡張モニタリング •
スロークエリログ • RDS イベントに対する通知
RDS イベントに対する通知 • RDS のイベントサブスクリプション機能を使って、 RDS へなんらかのイベントが発生した時、 Eメール通知やSNS トピックへ配信できる •
特定インスタンスや特定クラスターのみ、特定のイベントのみ通知することも可能 参考:Amazon RDS イベント通知の使用 - Amazon Aurora https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/USER_Events.html
RDS イベントに対する通知 • [イベントサブスクリプション ] - [イベントサブスクリプションの作成 ]
RDS イベントに対する通知 • Eメール通知の場合 : [新しいEメールトピック] • 「これらの受取人を含みます」にメールアドレスを記載
RDS イベントに対する通知 • 2021 / 02 /19 の神アップデート (AWS さん本当にありがとうございます
) Amazon RDS がマルチ AZ 配置用の新しいイベントを発行 https://aws.amazon.com/jp/about-aws/whats-new/2021/02/amazon-rds-publishes-new-ev ents-multi-az-deployments/ • RDS がマルチAZ 配置の場合、フェイルオーバー 理由が イベントでわかるように • 従来は、フェイルオーバーの要因をユーザーが知ることができる項目はなかった 参考:[アップデート] RDS マルチAZ配置で「フェールオーバー時の ”理由”」がイベントログで確認できるようになりました! | DevelopersIO https://dev.classmethod.jp/articles/rds-publishes-new-events-multi-az-deployments/
RDS のモニタリング・ログ機能は CloudWatch 標準メトリクスだけではない! • Performance Insights • 拡張モニタリング •
スロークエリログ • RDS イベントに対する通知
注意事項 • RDSのパフォーマンスにわずかに影響する可能性がある →どうしてもパフォーマンス低下が見受けられる場合は、 データの取得頻度を減らす、メトリクスの粒度を大きくするなどの調整を検討ください • 今回紹介したモニタリングデータやログは、設定以後から取得可能 →設定をオンにする以前のデータは遡って取得できない 問題が発生した時に備えて、ぜひモニタリング・ログデータの取得設定を!
最後に • RDS に限らず、サーバは落ちるもの • 大事なデータベースは、マルチ AZなどの冗長化や リードレプリカなどの負荷分散の検討が必要 • 落ちた時に、落ち着いて状況を把握したり、次につながる改善策を考えるためにも、
モニタリングとロギングは超大事
原因がわかれば怖くない!
None