- Aurora MySQL
-- テスト用クラスタ作成
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
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