앱 실행 후크 관리
실행 후크는 관리되는 앱의 데이터 보호 작업과 함께 실행되도록 구성할 수 있는 사용자 지정 작업입니다. 예를 들어 데이터베이스 앱이 있는 경우 실행 후크를 사용하여 스냅샷 전에 모든 데이터베이스 트랜잭션을 일시 중지하고 스냅샷이 완료된 후 트랜잭션을 다시 시작할 수 있습니다. 따라서 애플리케이션 정합성이 보장되는 스냅샷이 보장됩니다.
실행 후크 유형
Astra Control은 실행 가능 시점을 기준으로 다음과 같은 유형의 실행 후크를 지원합니다.
-
사전 스냅샷
-
사후 스냅샷
-
사전 백업
-
백업 후
-
사후 복원
-
장애 조치 후
실행 후크 필터
실행 후크를 응용 프로그램에 추가하거나 편집할 때 실행 후크에 필터를 추가하여 후크가 일치시킬 컨테이너를 관리할 수 있습니다. 필터는 모든 컨테이너에서 동일한 컨테이너 이미지를 사용하는 응용 프로그램에 유용하지만 각 이미지를 다른 용도(예: Elasticsearch)로 사용할 수 있습니다. 필터를 사용하면 실행 후크가 실행되는 시나리오를 만들 수 있습니다. 단, 모든 동일한 컨테이너를 실행하는 것은 아닙니다. 단일 실행 후크에 대해 여러 개의 필터를 만들면 논리적 필터 및 연산자와 결합됩니다. 실행 후크당 최대 10개의 활성 필터를 사용할 수 있습니다.
실행 후크에 추가하는 각 필터는 클러스터의 컨테이너와 일치시키기 위해 정규식을 사용합니다. 후크가 컨테이너와 일치하면 후크는 해당 컨테이너에서 연결된 스크립트를 실행합니다. 필터에 대한 정규식은 정규식 2(RE2) 구문을 사용합니다. 이 구문은 일치 목록에서 컨테이너를 제외하는 필터를 만드는 것을 지원하지 않습니다. Astra Control이 실행 후크 필터의 정규식에 대해 지원하는 구문에 대한 자세한 내용은 을 참조하십시오 "정규식 2(RE2) 구문 지원".
|
복원 또는 클론 작업 후에 실행되는 실행 후크에 네임스페이스 필터를 추가하고 복원 또는 클론 소스와 대상이 서로 다른 네임스페이스에 있는 경우 네임스페이스 필터는 대상 네임스페이스에만 적용됩니다. |
사용자 정의 실행 후크에 대한 중요 참고 사항
앱에 대한 실행 후크를 계획할 때 다음 사항을 고려하십시오.
|
실행 후크는 실행 중인 응용 프로그램의 기능을 줄이거나 완전히 비활성화하기 때문에 사용자 지정 실행 후크가 실행되는 시간을 최소화해야 합니다. |
-
실행 후크는 스크립트를 사용하여 작업을 수행해야 합니다. 많은 실행 후크가 동일한 스크립트를 참조할 수 있습니다.
-
Astra Control에는 실행 후크가 실행 가능한 셸 스크립트 형식으로 기록하는 데 사용하는 스크립트가 필요합니다.
-
스크립트 크기는 96KB로 제한됩니다.
-
Astra Control은 실행 후크 설정과 모든 일치 기준을 사용하여 스냅샷, 백업 또는 복구 작업에 적용할 수 있는 후크를 결정합니다.
-
모든 실행 후크 장애는 소프트 장애이며, 후크가 실패하더라도 다른 후크와 데이터 보호 작업은 계속 시도됩니다. 그러나 후크가 실패하면 * Activity * 페이지 이벤트 로그에 경고 이벤트가 기록됩니다.
-
실행 후크를 생성, 편집 또는 삭제하려면 소유자, 관리자 또는 구성원 권한이 있는 사용자여야 합니다.
-
실행 후크를 실행하는 데 25분 이상 걸리는 경우 후크에 장애가 발생하고 반환 코드가 "N/A"인 이벤트 로그 항목이 생성됩니다. 영향을 받는 모든 스냅샷은 시간 초과되어 실패로 표시되며, 그 결과 이벤트 로그 항목이 시간 초과를 나타냅니다.
-
임시 데이터 보호 작업의 경우 모든 후크 이벤트가 생성되고 * Activity * 페이지 이벤트 로그에 저장됩니다. 그러나 예약된 데이터 보호 작업의 경우 후크 장애 이벤트만 이벤트 로그에 기록됩니다(예약된 데이터 보호 작업 자체에서 생성되는 이벤트는 계속 기록됨).
-
Astra Control Center가 복제된 소스 앱을 대상 앱으로 페일오버하면 페일오버가 완료된 후 소스 앱에 대해 활성화된 장애 조치 후 실행 후크가 대상 앱에 대해 실행됩니다.
Astra Control Center 23.04와 함께 복원 후 후크를 실행하고 Astra Control Center를 23.07로 업그레이드한 경우 페일오버 복제 후 복원 후 실행 후크가 더 이상 실행되지 않습니다. 앱을 위한 새로운 장애 조치 후 실행 후크를 만들어야 합니다. 또는 "사후 복원"에서 "사후 페일오버"로 페일오버하기 위한 기존 복원 후 후크의 작업 유형을 변경할 수 있습니다.
실행 순서
데이터 보호 작업이 실행되면 실행 후크 이벤트가 다음 순서로 발생합니다.
-
해당되는 모든 사용자 정의 사전 작업 실행 후크는 해당 컨테이너에서 실행됩니다. 필요한 만큼 사용자 지정 사전 작업 후크를 만들고 실행할 수 있지만, 이 후크의 실행 순서는 보장되거나 구성할 수 없습니다.
-
데이터 보호 작업이 수행됩니다.
-
해당되는 모든 사용자 지정 작업 후 실행 후크는 해당 컨테이너에서 실행됩니다. 필요한 만큼 사용자 지정 사후 작업 후크를 만들고 실행할 수 있지만 작업 후 후크의 실행 순서는 보장되거나 구성할 수 없습니다.
같은 유형의 실행 후크를 여러 개 생성하는 경우(예: 사전 스냅샷) 해당 후크의 실행 순서는 보장되지 않습니다. 그러나 다른 유형의 후크를 실행하는 순서는 보장됩니다. 예를 들어, 서로 다른 모든 유형의 후크가 있는 구성의 실행 순서는 다음과 같습니다.
-
예비 후크가 실행되었습니다
-
사전 스냅샷 후크가 실행되었습니다
-
사후 스냅샷 후크가 실행되었습니다
-
백업 후 후크가 실행되었습니다
-
복원 후 후크가 실행되었습니다
시나리오 번호 2에서 이 구성의 예를 볼 수 있습니다 후크가 실행될지 여부를 결정합니다.
|
운영 환경에서 실행 후크 스크립트를 사용하려면 항상 해당 스크립트를 테스트해야 합니다. 'kubbeck exec' 명령을 사용하여 스크립트를 편리하게 테스트할 수 있습니다. 운영 환경에서 실행 후크를 사용하도록 설정한 후 결과 스냅샷과 백업을 테스트하여 정합성이 보장되는지 확인합니다. 앱을 임시 네임스페이스에 클론 복제하고, 스냅샷 또는 백업을 복원한 다음 앱을 테스트하여 이 작업을 수행할 수 있습니다. |
후크가 실행될지 여부를 결정합니다
다음 표를 사용하여 사용자 지정 실행 후크가 앱에 대해 실행되는지 여부를 확인할 수 있습니다.
모든 상위 수준 앱 작업은 스냅샷, 백업 또는 복원의 기본 작업 중 하나를 실행하는 것으로 구성됩니다. 시나리오에 따라 클론 작업은 이러한 작업의 다양한 조합으로 구성되므로 클론 작업이 실행되는 실행 후크는 달라집니다.
데이터 이동 없이 복원 작업을 수행하려면 기존 스냅샷 또는 백업이 필요하므로 이러한 작업은 스냅샷 또는 백업 후크를 실행하지 않습니다.
|
를 시작한 다음 스냅샷이 포함된 백업을 취소하고 연결된 실행 후크가 있는 경우 일부 후크가 실행될 수 있고 그렇지 않은 백업이 있을 수 있습니다. 즉, 백업 후 실행 후크는 백업이 완료된 것으로 가정할 수 없습니다. 연결된 실행 후크와 함께 취소된 백업의 경우 다음 사항에 유의하십시오.
|
시나리오 | 작동 | 기존 스냅샷 | 더 많은 워크로드 추가/제거 | 네임스페이스 | 클러스터 | 스냅샷 후크가 실행됩니다 | 백업 후크가 실행됩니다 | 후크 실행을 복원합니다 | 페일오버 후크가 실행됩니다 |
---|---|---|---|---|---|---|---|---|---|
1 |
복제 |
해당 없음 |
해당 없음 |
신규 |
동일합니다 |
예 |
해당 없음 |
예 |
해당 없음 |
2 |
복제 |
해당 없음 |
해당 없음 |
신규 |
다릅니다 |
예 |
예 |
예 |
해당 없음 |
3 |
복제 또는 복원 |
예 |
해당 없음 |
신규 |
동일합니다 |
해당 없음 |
해당 없음 |
예 |
해당 없음 |
4 |
복제 또는 복원 |
해당 없음 |
예 |
신규 |
동일합니다 |
해당 없음 |
해당 없음 |
예 |
해당 없음 |
5 |
복제 또는 복원 |
예 |
해당 없음 |
신규 |
다릅니다 |
해당 없음 |
해당 없음 |
예 |
해당 없음 |
6 |
복제 또는 복원 |
해당 없음 |
예 |
신규 |
다릅니다 |
해당 없음 |
해당 없음 |
예 |
해당 없음 |
7 |
복원 |
예 |
해당 없음 |
기존 |
동일합니다 |
해당 없음 |
해당 없음 |
예 |
해당 없음 |
8 |
복원 |
해당 없음 |
예 |
기존 |
동일합니다 |
해당 없음 |
해당 없음 |
예 |
해당 없음 |
9 |
스냅샷 |
해당 없음 |
해당 없음 |
해당 없음 |
해당 없음 |
예 |
해당 없음 |
해당 없음 |
해당 없음 |
10 |
백업 |
해당 없음 |
해당 없음 |
해당 없음 |
해당 없음 |
예 |
예 |
해당 없음 |
해당 없음 |
11 |
백업 |
예 |
해당 없음 |
해당 없음 |
해당 없음 |
해당 없음 |
해당 없음 |
해당 없음 |
해당 없음 |
12 |
페일오버 |
예 |
해당 없음 |
복제에 의해 생성되었습니다 |
다릅니다 |
해당 없음 |
해당 없음 |
해당 없음 |
예 |
13 |
페일오버 |
예 |
해당 없음 |
복제에 의해 생성되었습니다 |
동일합니다 |
해당 없음 |
해당 없음 |
해당 없음 |
예 |
실행 후크 예
를 방문하십시오 "NetApp Verda GitHub 프로젝트" Apache Cassandra 및 Elasticsearch와 같은 인기 있는 앱의 실제 실행 후크를 다운로드하려면 다음을 수행합니다. 예제를 보고 사용자 지정 실행 후크를 구조화하는 아이디어를 얻을 수도 있습니다.
기존 실행 후크를 봅니다
앱의 기존 사용자 지정 실행 후크를 볼 수 있습니다.
-
응용 프로그램 * 으로 이동한 다음 관리되는 응용 프로그램의 이름을 선택합니다.
-
Execution hook * 탭을 선택합니다.
결과 목록에서 사용 가능하거나 비활성화된 실행 후크를 모두 볼 수 있습니다. 후크의 상태, 일치하는 컨테이너 수, 생성 시간 및 실행 시간(사전 또는 사후 작업)을 확인할 수 있습니다. 를 선택할 수 있습니다
+
실행할 컨테이너 목록을 확장하려면 후크 이름 옆에 있는 아이콘을 클릭합니다. 이 응용 프로그램의 실행 후크를 둘러싼 이벤트 로그를 보려면 * Activity * 탭으로 이동하십시오.
기존 스크립트 보기
업로드된 기존 스크립트를 볼 수 있습니다. 또한 이 페이지에서 사용 중인 스크립트와 해당 스크립트를 사용하는 후크를 확인할 수 있습니다.
-
계정 * 으로 이동합니다.
-
스크립트 * 탭을 선택합니다.
이 페이지에서는 업로드된 기존 스크립트 목록을 볼 수 있습니다. Used By* 열에는 각 스크립트를 사용하는 실행 후크가 표시됩니다.
스크립트를 추가합니다
각 실행 후크는 스크립트를 사용하여 작업을 수행해야 합니다. 실행 후크가 참조할 수 있는 스크립트를 하나 이상 추가할 수 있습니다. 많은 실행 후크가 동일한 스크립트를 참조할 수 있으므로 하나의 스크립트만 변경하여 여러 실행 후크를 업데이트할 수 있습니다.
-
계정 * 으로 이동합니다.
-
스크립트 * 탭을 선택합니다.
-
추가 * 를 선택합니다.
-
다음 중 하나를 수행합니다.
-
사용자 지정 스크립트를 업로드합니다.
-
파일 업로드 * 옵션을 선택합니다.
-
파일을 찾아 업로드합니다.
-
스크립트에 고유한 이름을 지정합니다.
-
(선택 사항) 다른 관리자가 스크립트에 대해 알아야 하는 참고 사항을 입력합니다.
-
Save script * 를 선택합니다.
-
-
클립보드에서 사용자 정의 스크립트를 붙여 넣습니다.
-
붙여넣기 또는 형식 * 옵션을 선택합니다.
-
텍스트 필드를 선택하고 필드에 스크립트 텍스트를 붙여 넣습니다.
-
스크립트에 고유한 이름을 지정합니다.
-
(선택 사항) 다른 관리자가 스크립트에 대해 알아야 하는 참고 사항을 입력합니다.
-
-
-
Save script * 를 선택합니다.
새 스크립트가 * 스크립트 * 탭의 목록에 나타납니다.
스크립트를 삭제합니다
스크립트가 더 이상 필요하지 않고 실행 후크에서 사용되지 않는 경우 시스템에서 스크립트를 제거할 수 있습니다.
-
계정 * 으로 이동합니다.
-
스크립트 * 탭을 선택합니다.
-
제거할 스크립트를 선택하고 * Actions * 열에서 메뉴를 선택합니다.
-
삭제 * 를 선택합니다.
|
스크립트가 하나 이상의 실행 후크에 연결되어 있으면 * 삭제 * 작업을 사용할 수 없습니다. 스크립트를 삭제하려면 먼저 연결된 실행 후크를 편집하여 다른 스크립트에 연결합니다. |
사용자 지정 실행 후크를 만듭니다
앱에 대한 사용자 정의 실행 후크를 생성하여 Astra Control에 추가할 수 있습니다. 을 참조하십시오 실행 후크 예 후크 예 실행 후크를 만들려면 소유자, 관리자 또는 구성원 권한이 있어야 합니다.
|
실행 후크로 사용할 사용자 정의 쉘 스크립트를 작성할 때는 특정 명령을 실행하거나 실행 파일에 대한 전체 경로를 제공하지 않는 한 파일 시작 부분에 적절한 셸을 지정해야 합니다. |
-
응용 프로그램 * 을 선택한 다음 관리되는 응용 프로그램의 이름을 선택합니다.
-
Execution hook * 탭을 선택합니다.
-
추가 * 를 선택합니다.
-
후크 세부 정보 * 영역에서:
-
작업 * 드롭다운 메뉴에서 작업 유형을 선택하여 후크를 언제 실행해야 하는지 결정합니다.
-
후크의 고유한 이름을 입력합니다.
-
(선택 사항) 실행 중에 후크에 전달할 인수를 입력하고 각 인수 뒤에 Enter 키를 눌러 각 인수를 기록합니다.
-
-
(선택 사항) * Hook Filter Details * 영역에서 실행 후크가 실행되는 컨테이너를 제어하는 필터를 추가할 수 있습니다.
-
필터 추가 * 를 선택합니다.
-
Hook filter type * 열의 드롭다운 메뉴에서 필터링할 특성을 선택합니다.
-
Regex * 열에 필터로 사용할 정규식을 입력합니다. Astra Control은 를 사용합니다 "정규식 2(RE2) regex 구문".
정규식 필드에 다른 텍스트가 없는 특성(예: pod 이름)의 정확한 이름을 필터링하면 부분 문자열 일치가 수행됩니다. 정확한 이름과 해당 이름만 일치시키려면 정확한 문자열 일치 구문(예: ^exact_podname$
)를 클릭합니다. -
필터를 더 추가하려면 * 필터 추가 * 를 선택합니다.
실행 후크에 대한 여러 필터가 논리 및 연산자와 결합됩니다. 실행 후크당 최대 10개의 활성 필터를 사용할 수 있습니다.
-
-
완료되면 * Next * 를 선택합니다.
-
Script * 영역에서 다음 중 하나를 수행합니다.
-
새 스크립트를 추가합니다.
-
추가 * 를 선택합니다.
-
다음 중 하나를 수행합니다.
-
사용자 지정 스크립트를 업로드합니다.
-
파일 업로드 * 옵션을 선택합니다.
-
파일을 찾아 업로드합니다.
-
스크립트에 고유한 이름을 지정합니다.
-
(선택 사항) 다른 관리자가 스크립트에 대해 알아야 하는 참고 사항을 입력합니다.
-
Save script * 를 선택합니다.
-
-
클립보드에서 사용자 정의 스크립트를 붙여 넣습니다.
-
붙여넣기 또는 형식 * 옵션을 선택합니다.
-
텍스트 필드를 선택하고 필드에 스크립트 텍스트를 붙여 넣습니다.
-
스크립트에 고유한 이름을 지정합니다.
-
(선택 사항) 다른 관리자가 스크립트에 대해 알아야 하는 참고 사항을 입력합니다.
-
-
-
-
목록에서 기존 스크립트를 선택합니다.
이렇게 하면 실행 후크에 이 스크립트를 사용하도록 지시합니다.
-
-
다음 * 을 선택합니다.
-
실행 후크 구성을 검토합니다.
-
추가 * 를 선택합니다.
실행 후크의 상태를 확인합니다
스냅샷, 백업 또는 복원 작업이 실행된 후에 작업의 일부로 실행된 실행 후크의 상태를 확인할 수 있습니다. 이 상태 정보를 사용하여 실행 후크를 유지할지, 수정하거나 삭제할 것인지 결정할 수 있습니다.
-
응용 프로그램 * 을 선택한 다음 관리되는 응용 프로그램의 이름을 선택합니다.
-
데이터 보호 * 탭을 선택합니다.
-
스냅샷 * 을 선택하여 실행 중인 스냅샷을 보거나 * 백업 * 을 선택하여 실행 중인 백업을 확인합니다.
후크 상태 * 는 작업이 완료된 후 실행 후크의 상태를 표시합니다. 상태 위로 마우스를 가져가면 자세한 정보를 볼 수 있습니다. 예를 들어, 스냅샷 중에 실행 후크 오류가 발생한 경우 해당 스냅샷의 후크 상태 위로 마우스를 이동하면 실패한 실행 후크 목록이 표시됩니다. 각 오류의 원인을 확인하려면 왼쪽 탐색 영역의 * Activity * 페이지를 확인하십시오.
스크립트 사용을 봅니다
Astra Control 웹 UI에서 특정 스크립트를 사용하는 실행 후크를 확인할 수 있습니다.
-
계정 * 을 선택합니다.
-
스크립트 * 탭을 선택합니다.
스크립트 목록의 * Used By * 열에 목록의 각 스크립트를 사용하는 후크에 대한 세부 정보가 포함되어 있습니다.
-
관심 있는 스크립트에 대해 * Used By *(사용 대상 *) 열에서 정보를 선택합니다.
스크립트를 사용하는 후크의 이름 및 스크립트를 실행하도록 구성된 작업 유형과 함께 더 자세한 목록이 나타납니다.
실행 후크를 편집합니다
실행 후크를 편집하여 속성, 필터 또는 사용하는 스크립트를 변경할 수 있습니다. 실행 후크를 편집하려면 소유자, 관리자 또는 구성원 권한이 있어야 합니다.
-
응용 프로그램 * 을 선택한 다음 관리되는 응용 프로그램의 이름을 선택합니다.
-
Execution hook * 탭을 선택합니다.
-
편집할 후크의 경우 * Actions * 열에서 옵션 메뉴를 선택합니다.
-
편집 * 을 선택합니다.
-
필요한 사항을 변경하고 각 섹션을 완료한 후 * 다음 * 을 선택합니다.
-
저장 * 을 선택합니다.
실행 후크를 비활성화합니다
앱 스냅샷 전후에 실행 후크가 실행되지 않도록 임시로 설정하려면 실행 후크를 사용하지 않도록 설정할 수 있습니다. 실행 후크를 비활성화하려면 소유자, 관리자 또는 구성원 권한이 있어야 합니다.
-
응용 프로그램 * 을 선택한 다음 관리되는 응용 프로그램의 이름을 선택합니다.
-
Execution hook * 탭을 선택합니다.
-
비활성화할 후크의 경우 * Actions * 열에서 옵션 메뉴를 선택합니다.
-
비활성화 * 를 선택합니다.
실행 후크를 삭제합니다
더 이상 필요 없는 경우 실행 후크를 완전히 제거할 수 있습니다. 실행 후크를 삭제하려면 소유자, 관리자 또는 구성원 권한이 있어야 합니다.
-
응용 프로그램 * 을 선택한 다음 관리되는 응용 프로그램의 이름을 선택합니다.
-
Execution hook * 탭을 선택합니다.
-
삭제할 후크의 경우 * Actions * 열에서 옵션 메뉴를 선택합니다.
-
삭제 * 를 선택합니다.
-
결과 대화 상자에 "delete"를 입력하여 확인합니다.
-
예, 실행 후크 삭제 * 를 선택합니다.