{Aurora}障害挿入クエリを使用した Amazon Aurora のテスト

-- テスト用クラスタ作成

aws rds create-db-cluster \
--db-cluster-identifier cluster01 \
--engine aurora-mysql \
--engine-version 5.7.mysql_aurora.2.10.0 \
--master-username root \
--master-user-password 'password'

aws rds create-db-instance \
--db-instance-identifier cluster01-instance01 \
--db-cluster-identifier cluster01 \
--db-instance-class db.t3.small \
--engine aurora-mysql \
--no-auto-minor-version-upgrade

aws rds create-db-instance \
--db-instance-identifier cluster01-instance02 \
--db-cluster-identifier cluster01 \
--db-instance-class db.t3.small \
--engine aurora-mysql \
--no-auto-minor-version-upgrade


インスタンスのクラッシュのテスト

ALTER SYSTEM CRASH NODE;


②Aurora レプリカの障害のテスト

ALTER SYSTEM SIMULATE 100 PERCENT READ REPLICA FAILURE
TO ALL
FOR INTERVAL 30 SECOND;


③ディスクの障害のテスト
SHOW VOLUME STATUS;

ALTER SYSTEM SIMULATE 100 PERCENT DISK FAILURE
IN DISK 1
FOR INTERVAL 30 SECOND;

④ディスクの輻輳のテスト
ALTER SYSTEM SIMULATE 100 PERCENT DISK CONGESTION
BETWEEN 50 AND 100 MILLISECONDS
IN DISK 1
FOR INTERVAL 30 SECOND;

-- テスト用クラスタ削除

aws rds delete-db-instance \
--db-instance-identifier cluster01-instance02 \
--skip-final-snapshot

aws rds delete-db-instance \
--db-instance-identifier cluster01-instance01 \
--skip-final-snapshot

aws rds delete-db-cluster \
--db-cluster-identifier cluster01 \
--skip-final-snapshot

 

Aurora PostgreSQL の障害挿入クエリは現在、以下のバージョンでサポートされています。

バージョン 2.4 (PostgreSQL バージョン 10.11 と互換性あり)。
バージョン 3.2 (PostgreSQL バージョン 11.7 と互換性あり)。

-- テスト用クラスタ作成

aws rds create-db-cluster \
--db-cluster-identifier cluster02 \
--engine aurora-postgresql \
--engine-version 11.7 \
--master-username postgres \
--master-user-password 'password'

aws rds create-db-instance \
--db-instance-identifier cluster02-instance01 \
--db-cluster-identifier cluster02 \
--db-instance-class db.t3.medium \
--engine aurora-postgresql \
--no-auto-minor-version-upgrade

aws rds create-db-instance \
--db-instance-identifier cluster02-instance02 \
--db-cluster-identifier cluster02 \
--db-instance-class db.t3.medium \
--engine aurora-postgresql \
--no-auto-minor-version-upgrade


インスタンスのクラッシュのテスト

SELECT aurora_inject_crash ('node');

②Aurora レプリカの障害のテスト

SELECT aurora_inject_replica_failure( 100, 30, '' );


③ディスクの障害のテスト
SELECT * FROM aurora_show_volume_status();

SELECT aurora_inject_disk_failure( 100, 1, true , 30 );


④ディスクの輻輳のテスト
SELECT aurora_inject_disk_congestion( 100, 1, true, 30, 50, 100 );


-- テスト用クラスタ削除

aws rds delete-db-instance \
--db-instance-identifier cluster02-instance02 \
--skip-final-snapshot

aws rds delete-db-instance \
--db-instance-identifier cluster02-instance01 \
--skip-final-snapshot

aws rds delete-db-cluster \
--db-cluster-identifier cluster02 \
--skip-final-snapshot