📑
Aurora MySQL v3にSwith(バイナリログの情報がでない)
過去ログ
1回目
2回目
3回目
4回目
当記事はERRORで止まっているので、正解記事を見たい場合にはこちら
構成図
2以降
やりたいこと
手順概要
- Aurora MySQL ブルー/グリーン デプロイメントの切り替えを実行します。
- Aurora MySQL ブルー/グリーン デプロイメントを削除します。この段階では、ブルー/グリーン デプロイメントを削除しても、データベース環境には影響しません。
- 実稼働環境からロールバック環境への論理レプリケーションを構成します。
- 運用環境で問題が発生した場合は、ロールバック環境に切り替えます。
手順
ロールバックのためのグリーン環境を準備する
CloudShellでgreen環境にログイン
sudo yum update -y
sudo yum install mariadb -y
mysql --version
# 各人のgreen環境のWriter Endpoint利用
ENDPOINT=xxx
PASSWORD=your_password
mysql -h $ENDPOINT -u admin -p$PASSWORD
Aurora MySQL バイナリログの設定確認
show variables like 'log_bin';
ONであること
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| log_bin | ON |
+---------------+-------+
1 row in set (0.006 sec)
show variables like 'binlog_format';
ROWであること
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| binlog_format | ROW |
+---------------+-------+
1 row in set (0.004 sec)
Aurora MySQL バイナリログの保持の設定
現在の値確認
CALL mysql.rds_show_configuration\G
*************************** 1. row ***************************
name: binlog retention hours
value: NULL
description: binlog retention hours specifies the duration in hours before binary logs are automatically deleted.
1 row in set (0.002 sec)
バイナリログの保持時間を 24 に設定
CALL mysql.rds_set_configuration('binlog retention hours', 24);
更新後の値確認
CALL mysql.rds_show_configuration\G
*************************** 1. row ***************************
name: binlog retention hours
value: 24
description: binlog retention hours specifies the duration in hours before binary logs are automatically deleted.
1 row in set (0.002 sec)
Aurora MySQL ブルー/グリーン デプロイメントの切り替えを実行する
切り替え
ID=$(aws rds describe-blue-green-deployments \
--query "BlueGreenDeployments[*].BlueGreenDeploymentIdentifier" \
--output text);echo $ID
aws rds switchover-blue-green-deployment \
--blue-green-deployment-identifier $ID \
--switchover-timeout 600
切り替え確認
切替え後新しいブルー環境からバイナリログファイル名と位置を取得
aws rds describe-events \
--source-type db-instance \
--source-identifier aurora-mysql-write-old1 \
--output json
aws rds describe-events --source-identifier aurora-mysql-blue-green-cluster --source-type db-cluster
結果
{
"Events": [
{
"SourceIdentifier": "aurora-mysql-write",
"SourceType": "db-instance",
"Message": "Starting to terminate connections and user processes in the blue environment at 2024-10-14T11:35:40.813Z",
"EventCategories": [],
"Date": "2024-10-14T11:35:40.813000+00:00",
"SourceArn": "arn:aws:rds:ap-northeast-1:378647896848:db:aurora-mysql-write"
},
{
"SourceIdentifier": "aurora-mysql-write",
"SourceType": "db-instance",
"Message": "Finished terminating connections and user processes in the blue environment at 2024-10-14T11:35:41.080Z",
"EventCategories": [],
"Date": "2024-10-14T11:35:41.080000+00:00",
"SourceArn": "arn:aws:rds:ap-northeast-1:378647896848:db:aurora-mysql-write"
}
]
}
バイナリログの情報がでない。。。
以下のようは情報が出ることを期待したけど、出ない。。。
設定が足りてないのか??
{
"Events": [
...
{
"SourceIdentifier": "database-1-instance-1",
"SourceType": "db-instance",
"Message": "Binary log coordinates in green environment after switchover:
file mysql-bin-changelog.000007 and position 2638",
"EventCategories": [],
"Date": "2024-03-10T01:33:41.911Z",
...
}
]
}
Discussion