Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
RDS のトラブル発生に備えて!やっておくべき設定・監視 #jawsdays2021 #jaw...
Search
もっさん
March 20, 2021
Technology
7.3k
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 もっさん
AIで社員の自主発信に広報目線を組み込む
_mossann_t
0
150
未経験領域&ぼっちチームに 転生したので、 セルフレトロスペクティブを回している話
_mossann_t
1
100
主催・運営として"場をつくる”というアウトプットのススメ
_mossann_t
0
400
ゼロからわかる!!AWSの構成図を書いてみようワークショップ 問題&解答解説 #デッカイギ #羽田デッカイギおつ
_mossann_t
0
2.3k
組織内のデータ活用の障壁を解消する!? Amazon DataZone のハンズオンをやってみた
_mossann_t
0
440
共通認識を生む、「例え話」のテクニック
_mossann_t
0
650
AWSから届く通知「Abuse Report」の対応 JAWS-UG福岡 #14
_mossann_t
0
3.7k
【ITインフラ基礎】サーバってなんだ?運用の大切さ #devio2022
_mossann_t
0
1.7k
WorkSpacesへのアクセス制限を考える
_mossann_t
0
2.7k
Other Decks in Technology
See All in Technology
TiDBファミリーにDWHが新登場!! TiDB最新情報 / TiDB update 202609
yoshiakiyamasaki
0
130
なぜ「決定性」が 決定的に重要なのか? Durable Execution 基盤の数理的理解 #serverlessjp / ServerlessDays Tokyo 2026
ytaka23
4
1.3k
AIに任せた品質は、誰が見立てるのか - AI時代のテストマネジメント
nakanao
3
3.2k
行動するAIのためのオントロジー | DevRev — Encraft #26.pdf
dvrv_tknrszk
1
520
プラットフォームを「作る」、 チームに「入り込む」
sansantech
PRO
0
280
Coil3を内部実装から読み解く~キャッシュ戦略とAVIF画像の描画〜/nikkei-tech-talk50
nikkei_engineer_recruiting
0
120
Amazon Bedrock Agents ClassicからAmazon Bedrock AgentCoreへ移行した際、ガードレール設定が2箇所に割れた話
matsunobu
0
140
特殊変数大全
dak2
0
150
全社共通データ基盤をつくる。ソニーのDatabricks活用とデータガバナンス設計の裏側
sony
0
130
AIエージェントの権限管理 3: Agentic RAG の Fine grained access control 編
ren8k
1
290
AIエージェントの一手は 誰も見ていない - Falco拡張OSS「Prempti」とeBPFで サーバーレス実行基盤を二層防御する
keitah
1
620
3人で1000GPU超を統合運用する?マルチクラウド&オンプレを跨ぐ、構築と運用のリアル!
kazukun0716
2
620
Featured
See All Featured
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
490
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
270
HDC tutorial
michielstock
2
920
Agile that works and the tools we love
rasmusluckow
331
22k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Skip the Path - Find Your Career Trail
mkilby
1
240
4 Signs Your Business is Dying
shpigford
187
23k
Balancing Empowerment & Direction
lara
6
1.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
200
The Cult of Friendly URLs
andyhume
79
7k
Designing Experiences People Love
moore
143
24k
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