📑

Aurora MySQL v3にSwith(バイナリログの情報がでない)

2024/10/15に公開

過去ログ

1回目

https://zenn.dev/shigeru_oda/articles/57d24dc357f2a0

2回目

https://zenn.dev/shigeru_oda/articles/9ed9194a6384dd

3回目

https://zenn.dev/shigeru_oda/articles/e777bff6db46bc

4回目

https://zenn.dev/shigeru_oda/articles/083917797aac6c

当記事はERRORで止まっているので、正解記事を見たい場合にはこちら

https://zenn.dev/shigeru_oda/articles/1819b4a9f50336

構成図

https://d2908q01vomqb2.cloudfront.net/887309d048beef83ad3eabf2a79a64a389ab1c9f/2024/07/26/arch-diag.png
2以降

やりたいこと

https://aws.amazon.com/jp/blogs/database/implement-a-rollback-strategy-after-an-amazon-aurora-mysql-blue-green-deployment-switchover/

手順概要

  • 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 ブルー/グリーン デプロイメントの切り替えを実行する

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/blue-green-deployments-switching.html#blue-green-deployments-switching-over

切り替え

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