워크로드 모니터링 및 디버깅

워크로드를 빌드, 테스트, 실행할 때 진행 상황을 모니터링하여 문제를 디버그하는 것이 유용할 수 있습니다. 모니터링 및 디버깅에 사용할 수 있는 도구는 다음과 같습니다.

로깅

모든 명령줄 프로그램과 마찬가지로 워크로드 STDOUTSTDERR이 콘솔에 표시될 수 있습니다. 또한 워크로드 운영자가 Confidential Space VM에서 tee-container-log-redirect 메타데이터 키를 true 또는 cloud_logging으로 설정하고 워크로드를 실행하는 서비스 계정에 logging.logWriter 역할이 있는지 확인하여 Cloud Logging으로 리디렉션할 수도 있습니다.

워크로드 작성자는 log_redirect 실행 정책을 사용하여 리디렉션을 방지할 수 있습니다.

위험 프로필을 줄이려면 최소한의 정보를 로깅하고 민감한 정보는 로깅하지 마세요.

Confidential Space 로그 보기

Confidential Space VM에 연결된 서비스 계정에 logging.logWriter 역할이 부여되고 로그를 Cloud Logging으로 리디렉션한 경우 VM 로그를 확인하여 오류를 문제 해결할 수 있습니다.

  1. 콘솔의 워크로드 운영자 프로젝트에서 Logging 으로 이동합니다. Google Cloud

    Logging으로 이동

  2. 쿼리 탭 옆에 있는 시간 범위를 클릭하여 보려는 로깅 기간을 설정합니다.

  3. 사용 가능한 경우 다음 로그 필드를 기준으로 로그를 필터링합니다.

    • 리소스 유형: VM 인스턴스

    • 인스턴스 ID: Confidential VM의 인스턴스 ID

    • 로그 이름: confidential-space-launcher

  4. 오류 메시지를 읽고 문제가 무엇인지 확인합니다. 리소스가 올바르게 설정되지 않았거나, 데이터 공동작업자의 WIP 제공업체의 속성 조건이 Confidential Space 워크로드에서 수행된 클레임과 일치하지 않거나, 워크로드 자체에 오류가 있을 수 있습니다.

반환 코드

런처 및 워크로드를 실행할 때 반환 코드가 콘솔에 표시되며 Cloud Logging으로 리디렉션될 수 있습니다.

반환 코드는 다음 표에 설명되어 있습니다.

코드 정의 VM 중지 동작
0 프로덕션 이미지를 사용할 때 워크로드가 성공적으로 완료됨 워크로드가 완료된 후 VM이 중지됩니다.
1 프로덕션 이미지를 사용할 때 워크로드 또는 런처가 오류를 반환함 오류를 반환한 후 VM이 중지됩니다.
3 tee-restart-policy로 인한 실패 후 런처가 다시 시작됨 VM이 다시 시작됩니다.
4 디버그 이미지를 사용할 때 워크로드 또는 런처 실행이 완료되었고, 이제 VM이 유휴 상태임 워크로드가 완료되거나 오류를 반환한 후에도 VM이 중지되지 않습니다. 이는 SSH를 통해 워크로드를 디버그할 수 있도록 하기 위함입니다.

워크로드가 실패하면 워크로드 운영자는 추가 컨텍스트 없이 workload finished with a non-zero return code 메시지만 수신합니다. 프로덕션 이미지의 경우 런처를 사용하여 실패 시 다시 시작하도록 설정할 수 있습니다. tee-restart-policy=OnFailure