오류 삽입 쿼리를 사용하여 Amazon Aurora MySQL 테스트 - Amazon Aurora

오류 삽입 쿼리를 사용하여 Amazon Aurora MySQL 테스트

오류 삽입 쿼리를 사용하여 Aurora MySQL DB 클러스터의 내결함성을 테스트할 수 있습니다. 오류 삽입 쿼리는 Amazon Aurora 인스턴스에 SQL 명령으로 발행됩니다. 다음 이벤트 중 하나의 발생 시뮬레이션을 예약할 수 있습니다.

  • 라이터 또는 리더 DB 인스턴스의 충돌

  • Aurora 복제본의 실패

  • 디스크 실패

  • 디스크 정체

오류 삽입 쿼리가 충돌을 지정하면 Aurora MySQL DB 인스턴스가 강제로 충돌합니다. 다른 오류 삽입 쿼리로 인해서도 오류 이벤트 시뮬레이션이 발생하지만 이 경우 이벤트는 발생하지 않습니다. 오류 삽입 쿼리를 제출할 때 실패 이벤트 시뮬레이션이 발생하는 시간 길이를 지정할 수도 있습니다.

Aurora 복제본의 엔드포인트에 연결하여 오류 삽입 쿼리를 Aurora 복제본 중 하나로 제출할 수 있습니다. 자세한 내용은 Amazon Aurora 연결 관리 섹션을 참조하세요.

오류 삽입 쿼리를 실행하려면 마스터 사용자의 모든 권한이 필요합니다. 자세한 내용은 마스터 사용자 계정 권한 섹션을 참조하세요.

인스턴스 충돌 테스트

ALTER SYSTEM CRASH 오류 삽입 쿼리를 사용하여 Amazon Aurora 인스턴스의 충돌을 강제로 일으킬 수 있습니다.

이 오류 삽입 쿼리의 경우 장애 조치가 발생하지 않습니다. 장애 조치를 테스트하려면 RDS 콘솔에서 DB 클러스터에 대한 장애 조치(Failover) 인스턴스 작업을 선택하거나 failover-db-cluster AWS CLI 명령 또는 FailoverDBCluster RDS API 작업을 사용합니다.

구문

ALTER SYSTEM CRASH [ INSTANCE | DISPATCHER | NODE ];

옵션

이 오류 삽입 쿼리에는 다음 충돌 유형 중 하나가 사용됩니다.

  • INSTANCE — Amazon Aurora인스턴스용 MySQL 호환 데이터베이스의 충돌이 시뮬레이션됩니다.

  • DISPATCHER — Aurora DB 클러스터용 라이터 인스턴스에서 디스패처 충돌이 시뮬레이션됩니다. 디스패처가 Amazon Aurora DB 클러스터용 클러스터 볼륨에 업데이트 쓰기 작업을 합니다.

  • NODE —MySQL 호환 데이터베이스 및 Amazon Aurora 인스턴스용 디스패처의 충돌이 모두 시뮬레이션됩니다. 이 오류 삽입 시뮬레이션의 경우 캐시도 삭제됩니다.

기본 충돌 유형은 INSTANCE입니다.

Aurora 복제본 실패 테스트

ALTER SYSTEM SIMULATE READ REPLICA FAILURE 오류 삽입 쿼리를 사용하여 Aurora 복제본의 실패를 시뮬레이션할 수 있습니다.

Aurora 복제본 실패가 발생하면 라이터 인스턴스에서 Aurora 복제본 또는 DB 클러스터의 모든 Aurora 복제본에 대한 요청 전체를 지정된 시간 간격 동안 차단합니다. 시간 간격이 경과되면 해당 Aurora 복제본이 마스터 인스턴스와 자동으로 동기화됩니다.

구문

ALTER SYSTEM SIMULATE percentage_of_failure PERCENT READ REPLICA FAILURE [ TO ALL | TO "replica name" ] FOR INTERVAL quantity { YEAR | QUARTER | MONTH | WEEK | DAY | HOUR | MINUTE | SECOND };

옵션

이 오류 삽입 쿼리에는 다음 파라미터가 사용됩니다.

  • percentage_of_failure — 실패 이벤트 도중 차단되는 요청 비율(%). 이 값은 0 ~ 100의 실수(Double)입니다. 0을 지정하면 요청이 차단되지 않습니다. 100을 지정하면 모든 요청이 차단됩니다.

  • 결함 유형 — 시뮬레이션할 결함의 유형입니다. DB 클러스터의 모든 Aurora 복제본에 대한 실패를 시뮬레이션하려면 TO ALL 을 지정합니다. 단일 Aurora 복제본의 실패를 시뮬레이션하려면 TO와 Aurora 복제본의 이름을 지정하십시오. 기본 실패 유형은 TO ALL입니다.

  • quantity—Aurora 복제본 결함 시뮬레이션 시간 길이. 이 간격 값 뒤에 시간 단위를 지정해야 합니다. 지정된 단위의 시간 동안 시뮬레이션이 발생합니다. 예를 들어 20 MINUTE를 지정하면 20분 동안 시뮬레이션이 실행됩니다.

    참고

    Aurora 복제본 실패 이벤트에 대한 시간 간격을 지정할 때는 각별히 주의하십시오. 시간 간격을 너무 길게 지정하고 라이터 인스턴스가 실패 이벤트 중에 다량의 데이터를 기록하는 경우, Aurora DB 클러스터에서 Aurora 복제본이 충돌했다고 간주하여 해당 복제본을 교체할 수도 있습니다.

디스크 실패 테스트

ALTER SYSTEM SIMULATE DISK FAILURE 오류 삽입 쿼리를 사용하여 Aurora DB 클러스터에 대한 디스크 실패를 시뮬레이션할 수 있습니다.

디스크 실패 시뮬레이션 중에는 Aurora DB 클러스터에서 임의로 디스크 세그먼트를 오류 상태로 표시합니다. 시뮬레이션 기간 동안 이러한 세그먼트에 대한 요청이 차단됩니다.

구문

ALTER SYSTEM SIMULATE percentage_of_failure PERCENT DISK FAILURE [ IN DISK index | NODE index ] FOR INTERVAL quantity { YEAR | QUARTER | MONTH | WEEK | DAY | HOUR | MINUTE | SECOND };

옵션

이 오류 삽입 쿼리에는 다음 파라미터가 사용됩니다.

  • percentage_of_failure — 실패 이벤트 중에 오류 상태로 표시할 디스크의 비율(%). 이 값은 0 ~ 100의 실수(Double)입니다. 0을 지정하면 디스크의 어떤 부분도 오류 상태로 표시되지 않습니다. 100을 지정하면 전체 디스크가 오류 상태로 표시됩니다.

  • DISK index — 실패 이벤트를 시뮬레이션할 특정 논리 데이터 블록. 가용 논리 데이터 블록의 범위를 초과하는 경우, 지정할 수 있는 최대 인덱스 값을 알려주는 오류가 발생합니다. 자세한 내용은 Aurora MySQL DB 클러스터를 위한 볼륨 상태 표시 섹션을 참조하세요.

  • NODE index — 실패 이벤트를 시뮬레이션할 특정 스토리지 노드. 가용 스토리지 노드의 범위를 초과하는 경우, 지정할 수 있는 최대 인덱스 값을 알려주는 오류가 발생합니다. 자세한 내용은 Aurora MySQL DB 클러스터를 위한 볼륨 상태 표시 섹션을 참조하세요.

  • quantity — 디스크 실패를 시뮬레이션하는 시간 길이. 이 간격 값 뒤에 시간 단위를 지정해야 합니다. 지정된 단위의 시간 동안 시뮬레이션이 발생합니다. 예를 들어 20 MINUTE를 지정하면 20분 동안 시뮬레이션이 실행됩니다.

디스크 정체 테스트

ALTER SYSTEM SIMULATE DISK CONGESTION 오류 삽입 쿼리를 사용하여 Aurora DB 클러스터에 대한 디스크 실패를 시뮬레이션할 수 있습니다.

디스크 정체 시뮬레이션 중에는 Aurora DB 클러스터에서 임의로 디스크 세그먼트를 정체 상태로 표시합니다. 시뮬레이션 기간 동안 지정된 최소 지연 시간과 최대 지연 시간 사이에서 이러한 세그먼트에 대한 요청이 지연됩니다.

구문

ALTER SYSTEM SIMULATE percentage_of_failure PERCENT DISK CONGESTION BETWEEN minimum AND maximum MILLISECONDS [ IN DISK index | NODE index ] FOR INTERVAL quantity { YEAR | QUARTER | MONTH | WEEK | DAY | HOUR | MINUTE | SECOND };

옵션

이 오류 삽입 쿼리에는 다음 파라미터가 사용됩니다.

  • percentage_of_failure — 실패 이벤트 중에 정체 상태로 표시할 디스크의 비율(%). 이 값은 0 ~ 100의 실수(Double)입니다. 0을 지정하면 디스크의 어떤 부분도 정체 상태로 표시되지 않습니다. 100을 지정하면 전체 디스크가 정체 상태로 표시됩니다.

  • DISK index 또는 NODE index — 실패 이벤트를 시뮬레이션할 특정 디스크 또는 노드. 디스크 또는 노드의 인덱스 범위를 초과할 경우 지정할 수 있는 최대 인덱스 값을 알려주는 오류가 발생합니다.

  • minimummaximum — 최대 및 최소 정체 지연 시간(밀리초). 정체 상태로 표시된 디스크 세그먼트가 시뮬레이션 기간 중에 최소 밀리초 시간부터 최대 밀리초 시간까지의 시간 범위 내에서 임의 시간 동안 지연됩니다.

  • quantity —디스크 정체를 시뮬레이션하는 시간 길이. 이 간격 값 뒤에 시간 단위를 지정해야 합니다. 지정된 단위의 시간 동안 시뮬레이션이 발생합니다. 예를 들어 20 MINUTE를 지정하면 20분 동안 시뮬레이션이 실행됩니다.