Tag: RDS

Canvas LMS + AWS RDS PostreSQL で wal_level を logical にする必要が出た

背景 AWS RDS PostgreSQL の wal_level を logical にする必要が出た Canvas LMS + AWS RDS の構成でセットアップを行おうとすると、 PostgreSQL の wal_level が logical である事を求められた。 通常、postgres.conf を修正するが、RDS ではできないのでパラメーターグループの設定を行った。 rds.logical_replication = 1 と変更する必要がある。 環境 設定 値 DB エンジン Aurora PostgreSQL エンジンバージョン 10.14 DB クラスターのパラメータグループ default.aurora-postgresql10 手順 パラメーターグループをデフォルトのまま使っていたので、別途新しくパラメーターグループを作った。 DB クラスターパラメータグループに作る。 参考 wal_level のエラー stable/2021-04-14 のリリースを用いての構築では問題なかったが、 stable/2021-08-18 のリリースを用いた構築では RAILS_ENV=production bundle exec rake db:initial_setup の段階でエラーがでて先に進まなくなった。 Read more...

aws/rds

2017/07/18 replicaが高負荷になった replica1のmax_connectionsを確認したところ上限値1000でした mysql> show global variables like 'max_connections'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 1000 | +-----------------+-------+ 1 row in set (0.01 sec) この障害はreplicaがボトルネックと断定できます。 AWS_RDS_Aurora_監査ログ取得のための変更 大体、ClassmethodのページのようにIAMを作成し付与します。 Classmethodのサンプルだと、全てのクエリをロギングする設定なので絞ります。 クラスターパラメータグループを変えます。 [ RDS ]->[ クラスター ]->[ aurora ]->[ DB クラスターのパラメータグループ ]のリンクをクリック->[ フィルタ パラメータ ]のテキストフィールドに[ audit ]を入力 下記の要素がリストアップするので変更します。都度、[ 変更の保存 ]をする必要があります。 server_audit_events -> QUERY_DCL, QUERY_DDL, TABLE ここで、ロギング対象を絞ります。パラメータの詳細についてはここを参照 server_audit_excl_users -> 空欄 ( [If not empty, it contains the list of users whose activity will NOT be logged] 全てのユーザの変更を取りたいため空欄 ) server_audit_incl_users -> 空欄 ( [If not empty, it contains a comma-delimited list of users whose activity will be logged] ) server_audit_logging -> 1 ( ロギングを有効にする場合は 1 ) server_audit_logs_upload -> 1 (CloudWatch logsへログのアップロードを行う場合は 1 ) DBスナップショットの作成時のダウンタイム Single-AZ DB インスタンスでこの DB スナップショットを作成すると、I/O が短時間中断します。この時間は、DB インスタンスのサイズやクラスによって異なり、数秒から数分になります。 結構ばらつきがあるのに注意が必要だ。 Read more...

cheetsheet/aws/rds

パラメーターグループ 作る aws rds create-db-cluster-parameter-group \ --db-cluster-parameter-group-name hoge-canvas-postgresql10 \ --db-parameter-group-family aurora-postgresql10 \ --description "for wal_level must be set to logical" 参考 aws rds create-db-cluster-parameter-group help 編集 aws rds modify-db-cluster-parameter-group \ --db-cluster-parameter-group-name hoge-canvas-postgresql10 \ --parameters "ParameterName=rds.logical_replication,ParameterValue=1,ApplyMethod=pending-reboot" 設定するパラメーターによっては即時反映 ApplyMethod=immediate が使えず An error occurred (InvalidParameterCombination) when calling the ModifyDBClusterParameterGroup operation: cannot use immediate apply method for static parameter というエラーが出る。この場合、 ApplyMethod=pending-reboot を使う必要がある。 staticかどうか?はWebUIの『タイプの適用』の箇所を見るとわかる。 反映 aws rds modify-db-cluster \ --apply-immediately \ --db-cluster-identifier hoge \ --db-cluster-parameter-group-name hoge-canvas-postgresql10 パラメータグループ作成 パラメータグループ名: test-aurora 説明: utf8mb4 ファミリー: aurora5. Read more...