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
jaws-asa-postgres-parameter
Search
kota
September 07, 2022
Technology
750
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
jaws-asa-postgres-parameter
jaws-asa-postgres-parameter
kota
September 07, 2022
Other Decks in Technology
See All in Technology
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
2
310
サーバーフルコンピューティング?AWS Lambda
iwatatomoya
1
250
Futexes the good, the bad, the ugly
ennael
PRO
0
120
メルペイ 会計システム概要と歴史
mewuto
0
150
生成AIと進める探索的データ分析(2026.10.03 第122回Tokyo.R勉強会)
tatamiya
2
1.4k
[2026 Oracle Technical Deep Dive] VMwareワークロードのOCI移行実践ガイド - OCVSでの継続利用からOCIコンピュートへの移行まで (2026年9月17日開催)
oracle4engineer
PRO
0
120
ファミコンでPHPを動かす / PHP on the Famicom side b
tomzoh
0
140
1万名の社員が使う認証基盤で どう信頼性を担保するか?
kairim0
0
210
雪かき部 #7 もう怖くない!SELECT文!
foursue
0
280
IR Today: Theory, Practice, and Agents
dtunkelang
0
350
More Freedom on the Same Shared GPU Cluster: A Small Team’s Experience with vCluster
nttcom
0
140
あなたの知らないAmazon VPC Route Server/Amazon VPC Route Server you don't know about
masakiokuda
2
220
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
970
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
920
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
260
Facilitating Awesome Meetings
lara
57
7.2k
The SEO Collaboration Effect
kristinabergwall1
1
590
The browser strikes back
jonoalderson
0
1.8k
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
WENDY [Excerpt]
tessaabrams
14
40k
Transcript
Aurora Postgresの Parameter Group (監査・ログ系)を 調べてみた
自己紹介 名前:富松 広太(とみまつ こうた) 所属:justInCase Technologies Blog:https://cloud-aws-gcp.hateblo.jp/ twitter:@kotamemento (前職)2020~22
APN Ambassador、Top Engineers
はじめに 私の親はOracleです。 今日はPostgresの話です。 極力調べて来ましたが用語を Oracleと間違えていたら指定頂けますと幸いです 今日はDatabaseの話をします
会社紹介 & 背景 ・取引先に大手保険会社様が多い ・セキュリティ基準がいっぱい
要件 ・DBアクセスログ取得したい ・SQL実行ログを取得したい(パラメタ含む)
要件 ・DBアクセスログ取得したい ・SQL実行ログを取得したい(パラメタ含む) Parameter Groupがdefault値だった(現在開発中)
要件 ・DBアクセスログ取得したい ・SQL実行ログを取得したい(パラメタ含む) Parameter Groupがdefault値だった(現在開発中) 設定値を全部調べてしまおう!
要件 ・DBアクセスログ取得したい ・SQL実行ログを取得したい(パラメタ含む) ・ログ設定全般を見直したい ・その他必要な設定があれば追加したい
アクセスログ 設定項目 意味 変更後の値 log_connections 接続ログを取得するか 1(取得する) log_disconnections 接続ログ(切断時)を取得するか
1(取得する) 設定値 出力例 接続時 接続断時 接続のソース(IP)、ユーザー名、時間が出力される
SQL実行履歴を取得(パラメタ含む) 設定項目 意味 変更後の値 pgaudit.role pgauditで利用するrole名 rds_pgaudit(固定) pgaudit.log pgauditの記録対象
all -misc (checkpoint,vacuum,set等のその他扱 いの構文以外全て ) pgaudit.log_statement_once 同じSQLを複数回出力される際に省略して出力する 1(有効化) pgaudit.log_relation 関連するtable名等の情報を付与する 1(有効化) pgaudit.log_parameter SQL中のパラメータ情報を付与する 1(有効化) shared_preload_libraries pgAudit(ログに操作種別等の情報を付与し、追いやすくする設定) pgAudit(追加) 設定値 出力例 xx xx xx 実行sqlがパラメタ内容含めてログ出力される
SQL実行履歴で変更しなかった値 設定項目 意味 値(defaultのまま) log_statement sqlログを出力するか none log_min_duration_statement
SQLの実行に指定したミリ秒以上の時間がかかった場合に、 そのSQLと所要時間をログファイルに記録します - 出力例(log_statement利用時) 設定値 pgaudit利用時は適度にマスキングしてくれる log_statementがnoneでもpgauditを設定しておけば出力される パスワードが 出力されてしまう パスワードは マスキングされる
その他変更しなかった値 設定項目 意味 値(defaultのまま) log_temp_files 割り当てられたメモリよりも多くの一時領域を 必要とする処理があった場合に logするか default値 log_lock_waits
ロックにより待ちが発生した場合に logするか (default1秒以上) default値 log_autovacuum_min_duration 指定時間よりも長い vacumeをログ ※documentより初期値が推奨値でない default値 log_temp_files 割り当てられたメモリよりも多くの一時領域を 必要とする処理があった場合に logするか default値 結論 設定値 Perfomance Insightで良さそうなため出力しない
ログ設定全般 設定項目 意味 変更後の値 log_destination サーバーログの出力形式 csvlog(csv形式) force_admin_logging_level rdsadminでの操作ログ AWSからの操作(パスワード変更等)
log(取得する) 設定値 出力例(log_destination) 出力例(force_admin_logging_level) xx xx xx CSVで出力される rdsadminのログが出力される
設定項目 意味 設定値 rds.enable_plan_management query pran mangermentを有効化 db側でquery実行の必要あり 1(有効化) apg_plan_mgmt.capture_plan_baselines
実行計画を自動で収集する automatic apg_plan_mgmt.use_plan_baselines approvedまたはpreffedとして 登録した実行計画のみを利用対象とするか FALSE(default値) その他ログ以外の設定(QPM:Query Plan Management) 設定値
Query Plan Management(背景) 通常時 SQL 実行計画作成 (最適なアクセス方法を導く) DB ある時
SQL 実行計画作成 経年によりデータが変化し、 実行計画も変化する DB 定期的に統計情報収集 (データ特性を分析) 実行計画がデータに適さない時がある (性能問題となり表面化) 実行計画の適応タイミングを管理したい → Query Plan Management
Query Plan Management(利用後) 通常時 SQL 実行計画作成 DB 事前に利用可能な実行計画を選択 選択したもののみ利用可能にするか
apg_plan_mgmt.use_plan_baselines 実行計画の 候補 実行計画を自動で保持 apg_plan_mgmt.capture_plan_baselines 設定項目 意味 設定値 rds.enable_plan_management query pran mangermentを有効化 db側でquery実行の必要あり 1(有効化) apg_plan_mgmt.capture_plan_baselines 実行計画を自動で収集する automatic apg_plan_mgmt.use_plan_baselines approvedまたはpreffedとして 登録した実行計画のみを利用対象とするか FALSE(default値) 性能問題の発生想定と運用増のバランスから実行計画の収集のみ有効化
defaultから変更した値まとめ 設定項目 意味 変更後の値 log_destination サーバーログの出力形式 csvlog log_connections 接続ログを取得するか 1(取得する)
log_disconnections 接続ログ(切断時)を取得するか 1(取得する) force_admin_logging_level rdsadminでの操作ログ log pgaudit.role pgauditで利用するrole名 rds_pgaudit pgaudit.log pgauditの記録対象 all -misc pgaudit.log_statement_once 同じSQLを複数回出力される際に省略して出力する 1(有効化) pgaudit.log_relation 関連するtable名等の情報を付与する 1(有効化) pgaudit.log_parameter SQL中のパラメータ情報を付与する 1(有効化) rds.enable_plan_management query pran mangermentを有効化 db側でquery実行の必要あり 1(有効化) apg_plan_mgmt.capture_plan_baselines 実行計画を自動で収集する automatic apg_plan_mgmt.use_plan_baselines approvedまたはpreffedとして 登録した実行計画のみを利用対象とするか FALSE shared_preload_libraries pgAudit(ログに操作種別等の情報を付与し、追いやすくする設定 ) auto_explain(実行計画を自動的にログに残す設定) (追加)pgAudit pgauditとqpmはパラメタ以外も設定が必要(次ページ参考)
RDS および Aurora PostgreSQL ログの操作 https://aws.amazon.com/jp/blogs/news/working-with-rds-and-aurora-postgresql-logs-part-1/ pgaudit(有効化手順)
https://aws.amazon.com/jp/premiumsupport/knowledge-center/rds-postgresql-pgaudit Query Plan Management(有効化手順) https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Optimize.html postgres document https://www.postgresql.jp/document/14/html/runtime-config.html 分かりやすかったブログ https://www.sraoss.co.jp/tech-blog/category/pgsql/ 参考リンク
さいごに エンジニア採用中です。カジュアル面談、twitter相談、社員紹介等なんでもありです